- ベストアンサー
エクセル関数で分からない事があります
文字列の中に特定の文字を含んだものを検索し 検索でヒットしたものと同じ行にある 数字を全て合計した数を返したいのです。 COUNTIFを使って データの中から、文字列の中に特定の文字を含んだセルが 何個あるかは調べられたのですが INDEX、MATCH、IF、SUMIF色々試したのですが どうもうまくいきません・・・。 どなたか関数技を伝授してください(>_<)
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。NO.3のganbeiです。 KURUMITOさんのANO.1の式を以下のように変形すれば、C列の式は作らなくても良いようです。 したがって、集計範囲は指定する必要がありますが、同じデータ群で新たな検索文字列を指定して、東京、神奈川等1つの表にすることが可能となります。 合計のセルの式 =SUMPRODUCT(ISNUMBER(FIND(MID($E$2,1,LEN($E$2)),A2:A6))*(B2:B6)) $E$2に「東京」、$E$3に「神奈川」...として、合計のセルを替える。 ご参考まで。
その他の回答 (4)
- ganbei
- ベストアンサー率41% (30/73)
ANO.4 ganbeiです。 $Eは$Dの間違いです。失礼しました。
- ganbei
- ベストアンサー率41% (30/73)
こんばんは。 先発の回答者・KURUMITOさんの回答を汎用化したものです。 D列2行目(例では足立区)に文字列(かなりの桁まで大丈夫)を入力すれば、合計欄に答えが返ってきます。 なお、C列に式を作成しない方法があれば、さらにスマ-トになるのだが、私にはわかりません。 ご参考まで。 A B C D E 1 文字列 数値 True or Not 検索文字列 合計 2 東京 10 0 足立区 26 3 足立区東京都 1 1 4 足立区 20 1 合計(E列2行目)の式--> SUMIF(C:C,1,B:B) 5 港区東京 30 0 C列が1の時B列の値を積算する 6 足立区++東京都 5 1 C列2行目の式-->IF(A2="","",COUNTIF(A2,"*"&MID($D$2,1,LEN($D$2))&"*")) 以下、数式コピーする。
お礼
とても分かりやすい返答ありがとうございます。 試してみますね☆
- KURUMITO
- ベストアンサー率42% (1835/4283)
データが多くなれば回答1の方法では計算に負担がかかります。データが多くなっても、また範囲を指定することなく対応できる方法は作業列を作って対応することです。 A列に文字列を含むデータ、B列に数値が有るとして、特定の文字列を例えば東京でしたらC1セルには次の式を入力して下方にドラッグコピーします。 =IF(A1="","",COUNTIF(A1,"*東京*")) 答えの式は次のようになります。 =SUMIF(C:C,1,B:B)
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばA1セルからA100セルの間に文字列のデータが、B1セルからB100の間に数値が有るとします。 そこで特定の文字(東京)を含む行のB列でのデータの合計を求めるのでしたら次の式にします。 =SUMPRODUCT(ISNUMBER(FIND("東京",A1:A100))*(B1:B100))
お礼
ご返答ありがとうございます! お礼遅くなって申し訳ありません。 何度やっても答えが0になってしまいます(>_<) あたしのやり方がいけないのだと思うので 再度挑戦してみます。
お礼
ご返答ありがとうございます。 色々な式があるのですね・・。 とても勉強になります☆ 色々試してみます(*^_^*)ありがとうございました☆