• ベストアンサー

エクセルの関数式です

エクセルの条件式についてです (IF文) 例えば A列      B列   C列  2008/2/1 500   加藤 2008/3/10 200   鈴木 2008/3/25 100   加藤 2008/4/13 800   佐藤 こんな感じで元データがあるとして、 加藤           鈴木           佐藤 ~2月末 ~3月末 ~4月末 ~2月末 ~3月末 ~4月末 ~3月末 ~4月末 500 200 100                              800 こんな感じで別表を作成したいのですが、 IF(C1="加藤",IF(A1<2008/3/1,B1,""),"") 上記の感じで式を入力しても反映してこないんですが、なんででしょう? ちなみに、元データの 日付、金額、氏名 は別表からの関数式で飛ばしています。 教えてくださーい!   いろんなパターンのIF文でやってみたんですが・・・ 作成したい表の方が、ずれてしまいますので、おかしいですが・・・

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

  • ベストアンサー
  • sytkn
  • ベストアンサー率43% (54/125)
回答No.3

そのまま右にコピーして DATEVALUE("2008/3/1")を DATEVALUE("2008/4/1")に変更して使用すると ~3月末は A1<DATEVALUE("2008/4/1") 2008/4/1より小さいシリアル値ととなり2月も3月も含まれてしまいます。 ANo.2さんの式、お借りします。 =IF(C1="加藤",IF(AND(A1>=DATEVALUE("2008/3/1"),A1<=DATEVALUE("2008/4/1")),B1,""),"") AND関数で2008/3/1以上、2008/4/1以下とするといいですよ

boo0909
質問者

お礼

ありがとうございます! みなさん ほんとにご親切ですね! 違う意味でうれしくなりました。 ありがとうございました。 早速試してみました。  ばっちりです!!!!! ありがとうございます。

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

ご提示の数式を=IF(C1="加藤",IF(A1<"2008/3/1"*1,B1,""),"")とすれば数式としては成立します。 しかし、別表の作成(担当者別の2~4月の集計)には何となく違う様な気がします。 私見ですので解釈が相違していましたら読み捨て下さい。 ■別表(仮にSheet2)   A   B  C  D 1    2月 3月 4月 (表示形式を0"月") 2 加藤 500  100  0 3 鈴木  0  200  0 4 佐藤  0   0 800 ■集計方法  A2に=SUMPRODUCT((MONTH(Sheet1!$A$1:$A$100)=B$1)*(Sheet1!$C$1:$C$100=$A2)*(Sheet1!$B$1:$B$100))として縦横にコピー  元データ範囲(sheet1)を仮に100行としています。

boo0909
質問者

お礼

ありがとうございます! みなさん ほんとにご親切ですね! 違う意味でうれしくなりました。 ありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

=IF(C1="加藤",IF(A1<2008/3/1,B1,""),"")では、2008/3/1は2008割る3割る1となってしまいます。 =IF(C1="加藤",IF(A1<DATEVALUE("2008/3/1"),B1,""),"") のようにして、2008/3/1をシリアル値にかえてみてください。

boo0909
質問者

お礼

ありがとうございます! みなさん ほんとにご親切ですね! 違う意味でうれしくなりました。 ありがとうございました。

回答No.1

IF(A1<2008/3/1,B1,"")の部分でセルA1がシリアル値になってませんか? セルA1のシリアル値を日付にするか、条件に日付をシリアル値で設定してみてください。

boo0909
質問者

お礼

ありがとうございます! みなさん ほんとにご親切ですね! 違う意味でうれしくなりました。 ありがとうございました。

関連するQ&A