- ベストアンサー
エクセルで部分一致による自動計算
先日も似たような質問をしたのですが、新たな問題が発生したので、 よろしくお願いいたします。 http://okwave.jp/qa4303345.html sheet1のA列のセルには名前、B列のセルにはポイントが入力されているとします。 sheet2のA1セルに”田中”と入力した時にB1のセルに田中の総ポイントが自動表示されるにはどのようにすればよいでしょうか? sheet1 A B 1 田中・鈴木 5 2 伊藤 8 3 田中 4 Sheet2 A B 1 田中 9
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 Sheet2のB1に=SUMPRODUCT(NOT(ISERROR(FIND($A1,Sheet1!$A$1:$A$100)))*Sheet1!$B$1:$B$100)として、下方向にコピー
その他の回答 (2)
- chie65536
- ベストアンサー率41% (2512/6032)
=SUM(IF(FIND(A1,Sheet1!A$1:A$100&A1,1)<LEN(Sheet1!A$1:A$100),Sheet1!B$1:B$100,0)) の式でCtrl+Shift+Enter この式はSUMPRODUCTよりも高速(SUMPRODUCTだと、要素数100個の行列同士の積算になるので処理が遅くなる) なお、上記の式では、以下のように「谷さんと谷本さんが区別出来ない」ので注意する事。 sheet1 A B 1 谷・鈴木 5 2 伊藤 8 3 谷本 4 Sheet2 A B 1 谷 9←ここは本当は5にならないといけない このように「誰かの苗字が、他の人の苗字の一部になっている場合」は、FIND関数では「うまく判断できない」ので注意する事。こういう場合は、以下のようにデータの方を工夫する。 A B 1 [谷]・鈴木 5 2 伊藤 8 3 谷本 4 Sheet2 A B 1 [谷] 5 先の例では「谷・鈴木」「谷本」の2つの中に「谷」が見付かるので誤動作する。 後の例では「[谷]・鈴木」のみの中に「[谷]」が見付かるので正常に動作する。 こういう例は「長谷川と長谷」や「小林と林」や「成瀬川と成瀬」などでも起きるので注意。
お礼
丁寧なご回答ありがとうございます。 苗字の重なりによる誤動作には注意ですね。
- sige1701
- ベストアンサー率28% (74/260)
こんな感じかな =SUMIF(Sheet1!A:A,"*"&A1&"*",Sheet1!B:B)
お礼
前回に続きありがとうございました。 上式により無事出来上がりました!