• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vlookupないしその他の関数)

vlookupなどの関数を使用して単月売上高のチェック方法を教えてください。

このQ&Aのポイント
  • 現在仕事で、製品の機種別売上高明細を作成しております。縦列に機種、横列に4月~3月の期間を表示し、一目で年間のそれぞれの機種別、期間別のデータが出るような表です。単月の売上高が、別表の単月売上高と一致しているのかどうかをチェックする機能を付けたいと思っています。
  • チェックにはHLOOKUP関数を使用することを考えています。具体的には、=HLOOKUP(当月の月入力セル,表全体,13)という式を使います。しかし、機種を増やすと合計の番数が変わってしまい、式を手動で変更する必要があります。そのため、より効率的な方法を知りたいです。
  • HLOOKUPに拘らず、機種を増やしても式を変更しなくて良い方法を教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

件の機種別売上高明細がシート1にあって,たとえば4月の売上明細がB列に並んでいるとします。 つまり現状B1に「4月」と記入され,B2以下に機種毎売上が列記され,B13に縦の合計があるとします。 B13の合計の計算はサスガに間違ってないという前提を置くと,B13の値は =SUM(B:B)/2 に合致するハズです。 若しくは更に安全策として,B13の月合計を =SUBTOTAL(9,B2:B12) と計算しておくと,4月の合計は =SUBTOTAL(9,B:B) と合致します。 別表の集計がシート2にあり, A2に「4月」と記入されており, B2に4月の別途集計値が記載されているとすると C2に =SUM(INDEX(Sheet1!A:M,0,MATCH(A2,Sheet1!$1:$1,0)))/2 もしくは =SUBTOTAL(9,INDEX(Sheet1!A:M,0,MATCH(A2,Sheet1!$1:$1,0))) とすることで,シート1の該当列の合計を引っ張り出してくることができます。

dassyuinu
質問者

お礼

ご回答ありがとうございました。 ご回答頂き恐縮ですが、結論として、=HLOOKUP(該当月,表範囲,COUNT(一番上から合計までのセル))という関数を用いることにしました。 これならば、行を挿入しても、それに伴い数字が増えるので自然合計の番数を指定できるようです。 1、MATCH関数とINDEX関数は指定が大変で、関数を見たとき一目でどこを参照しているのか分からない点、2、我が社でなじみが薄い点から、今回は却下させて頂きました。 利用しないとはいえ、大変勉強になりました。 ありがとうございました。

その他の回答 (1)

回答No.2

>=HLOOKUP(当月の月入力セル,表全体,13(注:一番下の合計の番数),true) 第四引数がTRUE(または省略)では、近似値が返るのでFlase(または0)にしないと該当する月の値になりません。 >が、別表単月売上に合致していればOK(これはif文で作るつもりです)。 「IF文」一般的に数式作成時で使う言葉ではありません。プログラミング用語です。 最下行に「合計」という言葉がA列に入っているなら =INDEX(B:M,MATCH("合計",A:A,0),MATCH(当月の月入力セル,$B$1:$M$1,0)) 添付図参照

関連するQ&A