- ベストアンサー
Excel関数で死にそうです。。。
エクセルの関数で困っています。 項目が、 | a | b | c | 区分 | とあります。 a b c の順に、 |空白|空白|空白| だった場合、区分は「2」になります。 こうした規則にしたがって、区分に数字が自動で入るようにしたいです。 すべてを並べると、こんなかんじのルールです。 a=blankの場合の区分早見表 ------------------------------------ |blank|blank|blank|→2 |blank|数字|blank|→3 |blank|blank|数字|→2 |blank|数字|数字|→3 a=blankではない場合の区分早見表 ------------------------------------ |数字|blank|blank|→blank |数字|数字|blank|→1 |数字|blank|数字|→2 |数字|数字|数字|→3 本を読んでもわかりません。 もう3時間格闘しています。 どなたか、助けてくださると嬉しいです。 初心者のため、説明も下手で、分かりづらく申し訳ありません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
一つひとつ条件を式に直せばいいです。 a=blankの場合の区分早見表 ------------------------------------ |blank|blank|blank|→2 |blank|数字|blank|→3 |blank|blank|数字|→2 |blank|数字|数字|→3 a=blank ならば、基数は2。 加えて、B<>blank ならば 1を加算。 =(LEN(A1 )=0)*2+(LEN(B1)>0) a=blankではない場合の区分早見表 ------------------------------------ |数字|blank|blank|→blank |数字|数字|blank|→1 |数字|blank|数字|→2 |数字|数字|数字|→3 a<>blank ならば、基数は0。(0をBlank表示すると仮定) 加えて、B<>blank ならば 1を加算。 加えて、C<>blank ならば 1を加算。 =(LEN(A1 )=0)*2+(LEN(B1)>0) + (LEN(C1)>0) * 2 この両方の式を統合すれば、 =IF(Len(A1)=0, 2+(LEN(B1)>0), (LEN(B1)>0) + (LEN(C1)>0) * 2) さて、Excel では、次のような結果を得ました。 ______________|_____________|______________ 2 ______________|1___________|______________ 3 ______________|_____________|1____________ 2 ______________|1___________|1____________ 3 1____________|_____________|______________ 0 1____________|1___________|______________ 1 1____________|_____________|1____________ 2 1____________|1____________|1____________ 3 私は、Excel を一度も操作したことがありませんので Len関数で判定しています。 =IF(ISBLANK(A1), 2+ISNUMBER(B1),ISNUMBER(B1) + ISNUMBER(C1)* 2) が、このように Excel の関数も使える筈です。
その他の回答 (2)
加えて、C<>blank ならば 2を加算。<---訂正
- cdsdasds
- ベストアンサー率52% (114/217)
まず確認ですが、セルには数字とブランク以外が入ることはないんですね? ブランクとは入力が全くなされていない状態で、実はスペースが入っていたということはないですね? =IF(A1="",IF(B1="",2,3),IF(B1="",IF(C1="","",2),IF(C1="",1,3))) でどうですか。 この手の問題は、わかりやすい一覧表を手を抜かずに書く。忠実に入力をする。しっかり確認する。を愚直に続けていけば何とかなるはずです。
お礼
たいへんシンプルな回答を有難うございます!!! はい、数字とブランク以外が入ることはゼッタイにありません! 先に回答していただいた方法と、こちらも合わせて勉強させて頂きました・・・! ほんとうに有難うございます><!!!
お礼
大変丁寧で、先生のような回答をありがとうございます・・・>< 大げさかもしれませんが命の恩人です。。。!!! これから、もっと勉強してがんばります。 ひとまず、クライアントの要望に応えることができました! ほんとうに有難うございました!!!