• ベストアンサー

複数のエクセルシートのデータで条件に合致するものの合計をしたいのですが

こんにちは! エクセルで苦戦していますのでどなたかお助けください。 シート1のA列(数値)についてシート2のA列(数値)でシート1のA列に合致するものでシート2のB列の表示(IF貼り付け分)が"正"であればシート3のA列(数値)に合致するものでシート3のB列の数値(SUMIF貼り付け分)をシート1のB列に表示する、ということをやりたいのですが。エクセル初心者で苦戦中です。よろしくお願いいたします。 シート1    シート2     シート3 A  B    A  B     A  B 1       1  正     1  10 2       2        2  20 3       3  正     3  30

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

B1=IF(VLOOKUP(A1,シート2!A:B,2,FALSE)="正",VLOOKUP(A1,シート3!A:B,2,FALSE),"") ただしシート2、シート3に同じ値がない場合は#N/Aのエラーになります。

lmouse
質問者

お礼

有難うございました。求めていたものがほぼ出来ました。これで大変な手間が省けます。感謝!です。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.5

例データ Sheet1 A列 B列(求めるもの) 1 0 2 22 3 33 4 0 5 0 Sheet2 A列  B列(正をaにした) 1 2 a 3 a 4 5 Sheet3 A列  B列 1 11 2 22 3 33 4 44 5 55 B1に =SUMPRODUCT((Sheet2!$A$1:$A$20=A1)*(Sheet2!$B$1:$B$20="a")*(Sheet3!$A$1:$A$20=A1)*(Sheet3!$B$1:$B$20)) 下方向に式を複写。 結果上記の通り。 ーー テストデータ数が少なく不十分なのと、質問の意味や条件を誤解しているかも知れないが) 該当が重複出現がないか、該当なし(上記では0が返る)の場合を前提にしている。 (質問表現は繰り返し同じ語句が続いて出て、読んでいて頭がくらくらする表現で、判りにくい) ーー 配列数式では B1に =SUM(IF((Sheet2!$A$1:$A$20=A1)*(Sheet2!$B$1:$B$20="a")*(Sheet3!$A$1:$A$20=A1),Sheet3!$B$1:$B$20,0)) SHIFT+CRTL+ENTER

lmouse
質問者

お礼

有難うございました。質問が整理されていないためお手数をおかけしてしまいましたが、何とかできました。

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.4

#2です。 シート3の合計のところが抜けてました。 以下の式に訂正します。 =IF(VLOOKUP(A1,Sheet2!$A$1:$B$3,2,0)="正",SUMIF(Sheet3!$A$1:$A$3,$A$1:$A$3,Sheet3!$B$1:$B$3),"")

lmouse
質問者

お礼

有難うございました。助かりました。

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.2

以下の式で如何でしょうか。 =IF(VLOOKUP(A1,Sheet2!A1:B3,2,0)="正",Sheet3!B1,"") シート2のB列が“正”以外のときは、空白としています。

  • romiromi
  • ベストアンサー率36% (9/25)
回答No.1

こんんちは。 各シートのA列範囲が固定(A1:A5)、シート2のB列の値が"正"またはNullだと仮定します。 シート1のB1セルに =IF(VLOOKUP(Sheet1!A1,Sheet2!$A$1:$B$5,2)=0,"",SUMIF(Sheet3!$A$1:$A$5,$A$1:$A$5,Sheet3!$B$1:$B$5)) と記述します。 (まず、VLOOKUPでシート2のB列の値を参照します。Nullの場合は0を返すのでその場合はシート1のB列もNull、そうでなければ値を取得します) いかがでしょうか。

関連するQ&A

専門家に質問してみよう