• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの関数を教えてください。)

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

このQ&Aのポイント
  • エクセルの関数を使って特定の条件に基づいてデータを表示したり計算したりする方法について教えてください。
  • 具体的には、現金シートの特定の月の金額を表示する方法と、特定の条件に基づいて複数の列の値を計算する方法を知りたいです。
  • 既存の関数や計算式を利用することで、効率的にデータを取得したり計算したりすることができます。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート2のA2セルには例えば=TODAY()の関数を入力しているとして、セルの書式設定の表示形式で「ユーザー定義」にして種類の窓にはge"年"m"月"を入力してH23年12月のように表示させるようにします。文字列な形でA2セルに入力することはしないようにします。TODAY関数を使用しない場合には2011/12のようにA2セルに入力します。 現金シートでN1セルからY1セルまでの月についても、例えば1月は1月とは入力しないで1と入力してセルの表示形式のユーザー定義で#"月"のようにすればよいでしょう。 そこでシート2のB5セルには次の式を入力します。 =INDEX(現金!$N$2:$Y$2,MATCH(MONTH($A$2),現金!$N$1:$Y$1,0)) また、現金シートのN2セルには次の式を入力して右横方向にオートフィルドラッグします。 =IF(N$1="","",SUMPRODUCT((MONTH($B$2:$B$1000)=N$1)*($G$2:$G$1000))-SUMPRODUCT((MONTH($B$2:$B$1000)=N$1)*($H$2:$H$1000)))

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

質問を整理させてください 質問 その1 シート名 現金  A B・・・N  O  P ・・・Y 1     1月 2月 3月・・・12月 2     100 200 300  500 シート名 シート2   A 1 H23年12月 2 500 と横方向に12月を検索して、2行目の金額を出したい。 質問 その2     B・・・・・ G  H・・・・・N O・・・・Y 1  日付              1月 2月・・・12月 2  2011/1/1   100 50    300 と1月の合計(G列とH列の差)を出したい 3  2011/1/5   200 80 ・・・・ という事でしょうか? 質問1の場合 1月、2月も文字列で入れていると厄介ですね。 1,2,3と数値で入れておいて表示形式で1月とか表示させておけば =Match(Month(A2),N1:Y1,False) で何列目かが検索できるので =Offset(M1,1,Match(Month(A2),N1:Y1,False)) とOffset関数をつかって、右へ何列ずらすかで答えが出ます。 質問2の場合 これも、1月を 数値の 1で入れておきます。 =SUMIF($B:$B,"<" & DATE(2011,N1+1,1),$G:$G)-SUMIF($B:$B,"<" & DATE(2011,N1,1),$G:$G) といったように、2011年2月1日より前の日付の合計から2011年1月1日より前の日付の合計を引き算すれば その月の合計が出ます。 同じようにH列のその月合計を出して、引き算すればご希望の金額ですね。 もし必要なのが質問1のB5セルの金額なのであれば 直接 現金シートの B列の日付と G、H列の金額からB5セルに金額を計算させる方が便利かと思いますが。

関連するQ&A