- ベストアンサー
エクセルで英数を数値と認識させたい
エクセルで表を作っています。 英数の大文字を1小文字を0.5に定義してその合計を出したのですが どうすればいいでしょうか? 例えば:セルのA1にM A2にR A3にd A4にjと入力した場合 A1からA4までの合計が3.5と表示される。 (英数字はそのまま表示され合計の部分のみ3.5と表示され る)
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
質問では「英数」ということでしたが、AからZまでが1でaからzまで が0.5で、数字や他の記号は0でいいんでしょうか。 あるセルの中身が大文字だけだったらTRUEになるような論理式は、 =not(exact(A1,lower(A1))) と書きます。当然、小文字の場合はlowerがupperになります。これ をそれぞれTRUEの場合に1もしくは0.5になるようにかけ算して、最 終的に範囲内の和を計算するので、sumproduct関数を使って =sumproduct(not(exact(A1:A4,lower(A1:A4)))*1+not(exact(A1:A4,upper(A1:A4)))*0.5) とまとめます。if関数を何重にも重ねるよりかっこいい方法でした。
お礼
ありがとうございました。 2週間ほど悩んでいましたが、スッキリしました。