プロが教える店舗&オフィスのセキュリティ対策術

お世話になっております。
Excel関数について質問させてください。

まず私の環境にExcelが入っておらず、OpenOfficeの3.3を代用しております。
カテ違いでしたらごめんなさい・・・。

【質問】
Sheet1のリスト(A列とする)に存在する文字列を
Sheet2の複数列(D列、F列、H列)に一致する文字列毎の数値(E列、G列、I列)の合計を
Sheet1の列(B列とする)に表示したい

【データ例】
○Sheet1
 A列 B列
 A   3
 B   10
 C   6
 D   0

○Sheet2
 D列 E列 F列 G列 H列 I列
 A   1   G  0   A  1
 C   2   H  2   B  2
 B   3   A  1   C  4
 E   4   B  5   E   5

【試した事】
まず一辺には無理だと思い、
Sheet1のB列に以下の関数を入れてみました
=IF('Sheet2'.D1=A1;"a";"b")

これで一見判定が出来てる風だったのですが、
Sheet1のB1列に"a"と出て、他全て"b"と出ました。

恐らく、順不同で比較項目が並んでいる所為だと思いますが、
この並び順を変更するわけにはいかず・・・。

そもそも、文字型と数値型が一つの関数に指定出来るのかも不明で・・・。

どなたかわかる方、ご教授お願いいたします。

わかりにくい例ですみません。

【補足】
私の個人的見解として、関数で出来る気がしないのですが、どうなんでしょう・・・?
もし、関数で無理ならVBかJavaでゴリゴリ組みます。

A 回答 (1件)

 OpenOfficeは使用した事が無いため、OpenOfficeでも可能なのかは判りませんが、Excel関数であれば、B1セルに次の関数を入力してから、B1セルをコピーして、B2以下に貼り付けると良いと思います。



=SUMIF(Sheet2!$D:$D,$A1,Sheet2!$E:$E)+SUMIF(Sheet2!$F:$F,$A1,Sheet2!$G:$G)+SUMIF(Sheet2!$H:$H,$A1,Sheet2!$I:$I)
    • good
    • 0
この回答へのお礼

ありがとうございます!
おかげ様で出来ました。

そのままでは出来ませんでしたが、
=SUMIF('Sheet2'.$D$2:$D$270;'Sheet2'.$A2;'Sheet2'.$E$2:$E$270) + …
で出来ました。

ありがとうございました

お礼日時:2011/10/02 08:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!