Excel関数で最新の単価を表示する方法

このQ&Aのポイント
  • Excelの関数を使用して、I3からAF3の範囲で最新の単価を表示する方法を教えてください。
  • 個数と単価が入っているI2からAF2までのセルにおいて、値が0または空白でない項目のうち、一番左側のセルの値を表示する関数が知りたいです。
  • Excelの関数を使って、I1とJ1、K1とL1、M1とN1、...、AE1とAF1までを結合して2005/12、2005/11、2005/10、...、2005/01として入力した場合、I3からAF3の範囲で最新の単価を表示する方法を教えてください。
回答を見る
  • ベストアンサー

Excelの関数について

質問についてうまく表現が出来ないのでセル番地等を記します。 I1とJ1を結合して2005/12(文字列で入力) K1とL1を結合して2005/11(同じ) M1とN1を結合して2005/10(同じ)           ・           ・ AE1とAF1........2005/01 まで I2,K2,L2,N2・以降1個とび・・・AE2に個数という項目名 J2,L2,N2,P2・以降1個とび・・・AF2に単価という項目名 I3~AF3までに数値が入ります。 I3~AF3までの範囲の最新の単価を表示させる為の関数はどうしたらよいのでしょうか? 個数と単価は空白のセルも出てきます。 考え方的にはI3~AF3の範囲で0又は空白セル以外の項目のうち一番左側のセルの値を表示させるようにすれば良いのですが、関数がわかりません。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.2

No.1です。 ちなみに作業用の行を使わない方法です(配列数式)。 最新単価を表示させるセルに =INDEX(A3:AF3,,SMALL(IF((MOD(COLUMN(I3:AF3),2)=0)*(I3:AF3>0),COLUMN(I3:AF3),""),COLUMN(A1))) と入れ、配列数式ですので、Ctrl+Shiftキーを押しながら、Enterで確定してください。 数式バーを見てください。数式が { } で囲まれていれば OKです。 囲まれていなければ NGですので、そのセルを選択して F2キーを押したあと、もう一度 Ctrl+Shiftキーを押しながら、Enter を押してください。 なお、これだけでは単価が1件も入力されていないとエラーが表示されます。 そのエラーを出さないようにするには、 =IF(SUMPRODUCT((MOD(COLUMN(I3:AF3),2)=0)*(I3:AF3))=0,"",INDEX(A3:AF3,,SMALL(IF((MOD(COLUMN(I3:AF3),2)=0)*(I3:AF3>0),COLUMN(I3:AF3),""),COLUMN(A1)))) と入れて、Ctrl+Shiftキーを押しながら、Enterで確定してください。 ついでに<最新の個数>は、 =INDEX(A3:AF3,,SMALL(IF((MOD(COLUMN(I3:AF3),2)=1)*(I3:AF3>0),COLUMN(I3:AF3),""),COLUMN(A1))) となります。(これも配列数式です)

ojyarumaru2004
質問者

お礼

ありがとうございました。 OFFSET MATCH COLUMN COUNTIF SUM IF MOD LARGE SMALL 配列数式へ変換 上記の関数等は既に使っていましたので、ネストの仕方の問題だろうと思っていましたが、やはりその様でした。 お陰様で解決できました。

その他の回答 (1)

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.1

こんにちは~ 作業用に 1行使ってもよろしければ・・・ 仮に 5行目を作業用に使います。 I5に =IF(AND(MOD(COLUMN(),2)=0,I3>0),COLUMN(),"") と入れて、AF5までフィルコピー 最新単価を表示させるセルに =IF(COUNT(I5:AF5),LOOKUP(MIN(I5:AF5),I5:AF5,I3:AF3),"") と入れてください。 5行目が目障りなら非表示にしてください。

関連するQ&A

  • 数量×単価+数量×単価... 合計を出すどういう関数式になりますか?

    A  B  C  D  E  F  G  H  I 1 A4 A3     A2     A1 2 個数 単価 個数 単価 個数 単価 個数 単価 合計 3  5  8.9  1 17.8        6  10.5 ☆ 単価にはIF関数を使いその列ごとに個数が入力されると単価も自動的に表示されるように設定しています 1行目のA1とB2は結合されています。また他のセルも同様に結合されています A2に個数、B1に単価、C1に個数、D1に単価と交互に数値が入っています。 個数×単価の全ての合計を合計のセル☆に求めたいです。 またE列、F列には個数がないということで、ここには数値をいれたくなく、また「0」を入力しない状態でエラーが出ないようにしたいですその場合どんな関数式になりますか?本当はもっとセルに単価と数量が続いています。自分で考えるととても長い関数になってしまいます。 スマートな関数式と効率のいい関数式を探しています。どなたかよろしくお願いします。

  • エクセル(2003)のCOUNTIF関数について

    A1セルに受注番号(項目)とし、B1セルにチェック(項目)を入力してあります。 A2セルからA100セルまで001、002等入力されています。 B2セルからB200セルまで =IF(COUNTIF($A:$A,A2)>1,"重複","") と関数を入力しました。 受注番号の重複確認を行うためです。 セルA2からセルA100までは重複確認できています。 困っていることは、セルA101以降は空白セルなのですが、セルB101からB200セルまで重複と表示されてしまいます。 セルA101以降が空白の場合に、セルB200まで重複と表示させない関数はありますでしょうか?

  • エクセルの関数教えてください

    Excel2010です。 画像の中でE5セルの数値に応じて、A15セル(A~J、15~20の結合セル)にP1セルの文章、P2セルの文章、P3セルの文章を表示させる、または何も表示させない、という処理を行うにはどういった関数を使えば良いでしょうか? ちなみにこのようにしたいと思っています。 E5セルの数値 71~37・・・空白 36~26・・・あと半分!がんばれ~~!! 25~1・・・あと、もう少し!!がんばれ~~!! 0・・・・・宿題完了!おつ~~~!!! ご教示宜しくお願いいたします。

  • 列にセル値と同じ文字があればその行の個数を返す

    セルM5に=IF(L5="","",SUMPRODUCT(($A$5:$A$11=L5)*MONTH($B$5:$E$11)=M$3)))を入力した結果指定範囲の個数2を示しM11まで順に12月のセル数を返しますが、N5セルに 同じようにIF(L5="","",SUMPRODUCT(($F$5:$F$11=L5)*MONTH($G$5:$J$11)=N$3)))を入力した場合なぜか1月の範囲内個数2ではなく空白を含めた全セル数4を返し以降も同じよう返します。他の月では問題ないのですが1月だけなぜか指定月の個数が帰りませんどなたか関数の解る方宜しくお願いします。

  • 関数がうまくいきません?

    簡単な、関数で恥ずかしいのですが フィールド行が5行目にあり6行目からデータ(データは毎日変更があります)が入力されたシートがあります。 I列からL列に条件が一致するものに○があり、一致しないものは空白となっています。   A B C D・・ I   J  K  L  6        ○ 7          ○   ○  ○ 8        ○ ○ ○ ○ 9            ○ ○ 10        ○ ○   ○  11 12        ○     ○ 13          ○ ○ 14        ○ ○ ○ ○ 15        ○   ○ ○  16            ○ 17          ○   ○ 18        ○ ○ ○ ○ 19          ○ ○ ○ 20        ○ ○ ・ ・ ・ このI列の中で空白になっているセルの合計値をB2へ J列の中で空白になっているセルの合計値をD2へ、K列の中で空白になっているセルの合計値をB4へ、L列の中で空白になっているセルの合計値をD4へ入れるために =COUNTIF(I6:I65536,"<> ○") =COUNTIF(J6:J65536,"<> ○") =COUNTIF(K6:K65536,"<> ○") =COUNTIF(L6:L65536,"<> ○") と関数を設定しましたが、うまくいきません。 また =COUNTBLANK(I6:I65536) でも試してみましたが、データの入力の無い空白セルもカウントして駄目みたいです。 どなたかご教授を!  

  • エクセルの関数について教えてください。

    エクセルの関数について教えてください。 A2~U100まで、データが入っています。 U2~U100に結果を表示させたいのです。 J2~J100には、〇が入っているセルと入っていないセルがあります。 K2~K100には、〇が入っているセルと入っていないセルがあります。 L2=L100には、〇が入っているセルと入っていないセルがあります。 U2~U100に、結果を表示させたいのです。 J列には、〇が入っているのが条件で K列かL列のどちらかに〇が入っていた場合に U列に◎をつけたいのです。 U列に入れる関数を教えてください。

  • エクセルのIF関数について

    =IF(L2="","EDATE(J2,K2)","EDATE(L2,K2)") という数式で L2が空白の場合、J2の日付からK2の月分だけ経過した日付を表示。 空白でない場合、L2の日付からK2の月分だけ経過した日付を表示したいのですが、 セルには直接『EDATE(J2,K2)』という数式が表示されてしまいます。 空白にしたら『EDATE(J2,K2)』、日付を入れたら『EDATE(L2,K2)』になるので一応IF関数は生きてると思うのですが、中で計算をしてくれていません。 解決方法をぜひご教授くださいませんか。

  • COUNTBLANK関数について

    A1からA16まで数式が入っています。 ただし数式の結果によっては、空欄になっているセルがあります。 COUNTA関数を使ってA1からA16までのデーターが入っている個数を調べた場合、空白のセルにも数式が入っているためカウントされますよね。 では、COUNTBLANK関数を使ってA1からA16までの空白の個数を調べた場合どうなりますか? 実際には空白のセルにも式が入っているのだから、0にならないとおかしくないですか? 実際の結果は空白の個数をちゃんとカウントできます。 なぜでしょうか? 矛盾していると思うのですが・・・

  • エクセルの関数を教えてください

    A1からAE1に日付としまして数字の1から31を入れます A2からAE2の任意のセルに○がいくつか入ります このとき例えばE2、J2、O2のセルに○があったときのA1からAE1の値(日付)を A3に最初の日付(5)と、A4に最後の日付(15)を表示させたいのですが どの関数で求められるか分かりませんのでどなたかご教授ください。

  • エクセル関数 セルの個数

    A列に空白セルと文字列が入力されています。 文字列が入っているセルだけをフィルタで抽出しました。 その抽出されたセルが何行あるか個数を出す関数はありませんか?

専門家に質問してみよう