- ベストアンサー
Excelの条件を教えてください
- Excel2003を使用している場合、特定の条件を満たすデータの計算式を作成したい場合、SUMPRODUCT関数を使うことができます。
- SUMPRODUCT関数は、複数の配列を掛け合わせて合計値を計算するための関数であり、条件を満たすデータに対して特定の操作を行うことができます。
- 例えば、特定の列の値が「海外」であり、他の列の値が「あ」であるデータの合計値を計算したい場合、以下のような式を使用することができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
数字やカナ文字が入っているばあには適用できないこともありますがアルファベットや漢字、ひらがななどが使われている場合でしたら次の式を使うことで可能でしょう。 例えばA列には6つのアルファベット文字が、C列には”あ”がある場合を合計するのでしたら次の式で良いでしょう。 =SUMPRODUCT(((LENB(JIS(A2:A10))-LENB(ASC(A2:A10)))=6)*(C2:C10="あ"),D2:D10) つまりはA列の文字を全角にした時のバイト数と半角にした時のバイト数の差が6の時はアルファベットの文字が6つあることになります。ただし数値が混じっている場合でも同じ結果になりますので注意が必要ですね。実際のケースと照らし合わせて検討してみてください。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
質問の表現が判りにくい。 SUMPRODUCT関数を使っているのは別の場合でしょう。その例で持ち出さなくて良いのでは。無関係でしょう。却ってややこしく焦点がぼやける。 したいことだけ書くこと。 ーー セルの値が (1)アルファベット (2)きっちり6文字 (3)アルファベット意外は混じらないこと (4)アルファ別途は半角か全角か、大文字小文字は? >十種類以上に変わった場合 は「10種類以上の決った綴り」の文字列にに限定するのか?であればVLOOKUP関数などがお勧め。 ーー 下記例示するが、もっと簡略な方法の回答がでれば、それによってください。 アルファベットか確認する関数はない。 ユーザー関数でも作るしかなかろう。 Function isalph(a) For i = 1 To Len(a) If Asc(Mid(a, i, 1)) >= 65 And Asc(Mid(a, i, 1)) <= 90 _ Or (Asc(Mid(a, i, 1)) >= 97 And Asc(Mid(a, i, 1)) <= 122) Then Else isalph = "err" Exit Function End If Next i isalph = "ok" End Function 例データ 簡略のため4桁のチェックにして、半角英数(大文字・小文字)のみOK、にしています。 A列 B列 C列 AAAA ok GHDJ ok AAAA ok 123あs err err ああ err err 12asd err err aswert ok err asDFG ok err AGVB err err wsdf ok B2の式 =isalph(A2) C2の式 =IF(AND(LEN(A2)=4,isalph(A2)="ok"),"","err")
お礼
有難う御座いました。
お礼
有難う御座いました。 思いどうりの結果になりました。