• ベストアンサー

エクセル セル内のA-Dを数値に変換して集計する

1つのセルにA,B,C,Dの何れかが入ります。 AからDが入った連続したセルの最後で数値変換した合計値を出す方法を教えてください。 A-Dは下記の数字に換算されるとします。 A:3 B:2 C:5 D:7 宜しくお願いします。

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

  • ベストアンサー
回答No.3

A11セルに =SUM(COUNTIF(A1:A10,{"A","B","C","D"})*{3,2,5,7}) >AからDが入った連続したセルの最後で を利用してA列の対象セルに =SUM(COUNTIF(A1:INDEX(A:A,ROW()-1),{"A","B","C","D"})*{3,2,5,7}) 参考まで

hatena7
質問者

お礼

有難うございました。簡単で応用が利く方法を有難うございます。 今後、広範囲に使っていきます。 深謝いたします。

hatena7
質問者

補足

最初の式と2番目の式でどのようなときに使い分けるのでしょうか? 結果としては同じになると思いますが・・・ 横集計のときは =SUM(COUNTIF(A1:INDEX(1:1,COLUMN()-1),{"A","B","C","D"})*{3,2,5,7}) にしてみました。

その他の回答 (2)

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

ユーザー関数を作る。 標準モジュールに Function ss(a, b) t = 0 For Each cl In a t = t + b.Find(what:=cl).Offset(0, 1) Next ss = t End Function シートで 例データ 対応表 D,E列(D2:E5) a 3 b 2 c 5 d 7 データ A2:A7 a b c d a c シートに式 =ss(A2:A7,$D$2:$E$5) 結果 25

hatena7
質問者

補足

有難うございます。 簡単なマクロは作ったことはありますが、高度すぎて意味が理解できません。 出来ましたら簡単な説明が有ると助かります。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

入力されるセルの範囲は特定できているものとして。(例としてセルA1:A10、結果がセルA11として) セルA11に式[=COUNTIF("A1;A10","A")*3+COUNTIF("A1;A10","B")*2+COUNTIF("A1;A10","C")*5+COUNTIF("A1;A10","D")*7] でどうでしょう?

hatena7
質問者

お礼

有難うございます。

関連するQ&A