• ベストアンサー

エクセルの関数式です

エクセルの条件式についてです (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

  • 関数を用いた式を教えて下さい

    関数を用いた式を教えて下さい カテゴリ-で選ぶのが 技術者向けのところしかなかったので 恐るおそる 質問しました シ-ト3をつくりたいが シ-ト3 Cの列 加藤の欄にシ-ト2の中から加藤を  を探し出して 加藤の右セルの数値を自動的にいれるには どうしたらよいでしょうか    シ-ト 1           シ-ト 2      A     B        A    B   1  加藤   ア 1      鈴木   050   2  高橋   イ 2      井上   060   3  鈴木   ウ 3      高橋 030   4  井上   エ 4      加藤 010 シ-ト 3 A B C   1 加藤 ア 1 010 →ここに入る式を ご教授下さい?   2 高橋 イ 2   3 鈴木 ウ 3   4 井上 エ 4

  • エクセル関数

    シート1という名前のシートと シート2という名前のシート2つのシートがあります。 シート1は ・A列には従業員の氏名が入っています ↓このように  A 空欄 鈴木 伊藤 佐藤 ・資格名は見出しとしてB2~Q2まで入ってます(見出しとして) ↓シート1の全体はこのような感じ  A   B    C    D 空欄 資格1 資格2 資格3 鈴木 伊藤 佐藤 次にシート2は ・A列に個人コードが入ってます ・B列に名前が入ってます ・C列に資格名称が入ってます ・D列に資格取得日が入ってます ↓シートの全体はこのような感じ A  B   C    D 1  鈴木  資格1   6月 1  鈴木  資格2   7月 2  伊藤  資格3   8月 2  伊藤  資格1   9月  2  伊藤  資格2   10月 3  佐藤  資格3   11月 上記のようなシートがあります。 ここでシート1にシート2の値を返していきたいのですが 見ての通り書式はバラバラです 例えばシート2を見て鈴木は資格1、資格2、資格3を持っています 資格1だったら○をシート1の鈴木と資格1がぶつかってるセルに 資格2だったら○をシート1の鈴木と資格2がぶつかってるセルに 返していきたいのです 何か有効な関数などはありませんでしょうか? むしろ関数でできるのでしょうか? 説明が訳分からなくてすみません。 

  • エクセル関数(SUMIF???)

    同じ列で、条件を二つ指定して、合計を出す方法を教えてください。    A    B       山田    100   加藤    200   山田    300   佐藤    100   加藤    200 上の例だと、A列の「山田」と「佐藤」の合計を出す。という式です。 宜しく尾根がします。

  • 【エクセル関数】複数条件でのデータの個数を計算したい

      A   B   C   D 1 会議 佐藤 小川 2 研修 加藤 3 会議 小川 佐藤 4 会議 青井 加藤 小川 5 研修 小川 6 研修 佐藤 上記の様な表があります。 A列が会議の場合のB列からD列のデータの個数(延べ人数)を数えたいです。 "佐藤"など、文字を指定する場合はSUMPRODUCTで数えられたのですが、文字を指定しない場合の式が分かりません。 よろしくお願いします。

  • エクセル関数について

    エクセルで重複に関する質問です。 [元データ] A      B       C        会員番号 氏名     選択コース 1111   山田一郎  英語 1212   鈴木恵子  英語 1323   佐藤次郎  算数 1111   山田一郎  国語 1212   鈴木恵子  算数 1212   鈴木恵子  国語 という表があるとします。(実際のデータはもっとある) 山田さんは英語と国語の2コースを選択。 鈴木さんは英語と国語と算数の3コースを選択。 佐藤さんは算数だけを選択。 というわけです。 ここで、D列に、 A      B       C          D     会員番号 氏名      選択コース   総選択内容 1111   山田一郎   英語       英語・国語 1212   鈴木恵子   英語       英語・国語・算数 1323   佐藤次郎   算数       算数のみ 1111   山田一郎   国語       英語・国語 1212   鈴木恵子   算数       英語・算数・国語 1212   鈴木恵子   国語       英語・算数・国語 という表示をさせたいのですが、 どうすればいいでしょう? いろいろあると思うのですが、 作業させる人がPC操作が苦手なので、 元データを貼り付けただけで、 自動的にD列が表示されるようにしなければならないのです。 ピポットやマクロなどは使えないのです。 毎回私がやってあげられないので、 関数のみで、(勿論、隠しシートで関数を組み合わせることになると思いますが)、 あるいは、とにかく作業させる人が何もしないのに元データを貼り付けただけで、 D列が自動的に表示される、という状態にする方法があれば、どうか教えてください。 よろしく御願いします。

  • 【エクセル】 関数などを使ったデータ抽出方法について教えてください

    エクセルでデータ抽出方法について教えてください ↓見づらくてすいません。 行/列|A|B|C|D|E|F 1|品番|商品分類|進捗状況|担当者|(仮)受注日|納品予定日 2|k-101|スピーカー|納品済|鈴木|2007/10/20|2007/10/31 3|t-550|コード|受注|鈴木|2007/10/21|2007/10/28 4|h-890|ジャック|受注|佐藤|2007/10/22|2007/11/02 実際のデータは列(項目)がAZまで、行は500位まであります データが重複することがある [品番]がない場合もある 上の表からC列の[進捗状況]ごとに別表にしたいのです。 ([受注]だけの表や[納品済]だけの表がほしい) 別表の条件は 1. 「品番」「商品分類」「納品予定日」の項目だけ (その他のデータはいらない) 2. できたらリアルタイムで更新される (「進捗状況」を変えたら自動で別表もで更新される) 関数などで別表にできる方法があったら教えてください。 お願いします。

  • エクセルで条件に一致したセルの隣のセルを取得したい

    下のような「得点」という名前のシートがあります。 (「田中」のセルがA1です。)  [ 田中 ][ 10 ][ 200 ]  [ 山田 ][ 21 ][ 150 ]  [ 佐藤 ][ 76 ][ 250 ]  [ 鈴木 ][ 53 ][ 350 ] 別のシートのA1セルに、「佐藤」と入力すると、  [ 佐藤 ] 「得点」シートから「佐藤」の列を見つけて、B1、C1に  [ 佐藤 ][ 76 ][ 250 ] のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。 「得点」シートでは氏名が重複する事はありません。 IF文を使うと思うのですが、いまいち良く分かりませんでした。 よろしくおねがい致します。

  • エクセル・マクロで書式変更したい!

    エクセルのシートに以下のようなデータがあります。 VBAで、B列が「男」ならば、A列セルの山田・佐藤・加藤を C列が「書」ならば、A列セルの佐藤・吉田を 各々網掛け表示にする方法を教えてください。   A   B   C  D  E  F 1 山田 男 音 ・ ・ ・ 2 鈴木 女 美 ・ ・ ・ 3 佐藤 男 書 ・ ・ ・ 4 吉田 女 書 ・ ・ ・ 5 加藤 男 美 ・ ・ ・ 宜しくお願い申し上げます。≦(._.)≧

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

    お世話になります。 A列、B列に元データ(科目名)があります。 それを元にして、C列(国語)、D列(英語)、E列(生物)、F列(化学)に並びたいのです。↓のような感じ。 A列   B列   C列   D列   E列   F列    英語   化学      英語        化学     国語   英語  国語  英語           生物   化学           生物   化学         国語   生物  国語       生物            英語   化学      英語        化学      A列、B列の元データが、100以上あるので、手動での作業は難しいです。 自分が作った条件式は、例えば、セルD1に、 =IF(A1=”英語””英語”,””)  という感じで条件式を作成したのですが、それだとB列に英語がある場合は、セルD1には英語がでません。 どうぞ宜しくお願いします。

  • エクセル 関数式の応用

    こんにちは エクセル2010を使っています。 画像の様なデータがあって、次のような式を教えてもらいました。 =IFERROR(INDEX($B$1:$B$7,SMALL(IF($A$1:$A$7=C$1,ROW($A$1:$A$7)),ROW(A1))),"") 画像では A列 B列の データが7行目までなのですが、これを3万行まで広げようと次のような式に変更してみましたが上手く行きません。(空白が返される) =IFERROR(INDEX($B$1:$B$30000,SMALL(IF($A$1:$A$30000=C$1,ROW($A$1:$A$30000)),ROW(A1))),"") 詳しい方、教えていただけませんか? よろしくお願いします。

専門家に質問してみよう