- ベストアンサー
エクセル関数 22通りあるものを判別
こんにちわ。エクセル関数を使用してうまく判別する方法があるか教えてください。 1000件くらいあるデータから22通りあるものを自動で判別できないか? A列は2種類、B列は11種類ある文字列からC列で固定値を出したい。 A列 B列 C列 1行 A あ ア 2行 B い イ 3行 A う ウ 4行 B え エ 5行 A お オ 6行 B か カ ・・・・・・・・22行まで 自分で調べて =IF(AND(A1="A",B1="あ"),"ア", IF(AND(A1="B",B1="い"),"イ", IF(AND(A1="A",B1="う"),"ウ", IF(AND(A1="B",B1="え"),"エ", IF(AND(A1="A",B1="お"),"オ", IF(AND(A1="B",B1="か"),"カ", IF(AND(A1="A",B1="き"),"キ", "チェック!!"))))))) などと途中までいい感じでできていたのですが、IF(AND(A1="B",B1="く"),"ク"を入力したらうまくいかなくなりました。 どなたかいい方法をお教えください。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#6です。 どうせ地味にやるなら、小細工せずに徹底すべきでした。 失礼。 =IF(AND(A1="A",B1="あ"),"ア","")& IF(AND(A1="B",B1="あ"),"イ","")& IF(AND(A1="A",B1="い"),"ウ","")& IF(AND(A1="B",B1="い"),"エ","")& IF(AND(A1="A",B1="う"),"オ","")& IF(AND(A1="B",B1="う"),"カ","")& IF(AND(A1="A",B1="え"),"キ","")& IF(AND(A1="B",B1="え"),"ク","")& IF(AND(A1="A",B1="お"),"ケ","")& IF(AND(A1="B",B1="お"),"コ","")& IF(AND(A1="A",B1="か"),"サ","")& IF(AND(A1="B",B1="か"),"シ","")& IF(AND(A1="A",B1="き"),"ス","")& IF(AND(A1="B",B1="き"),"セ","")& IF(AND(A1="A",B1="く"),"ソ","")& IF(AND(A1="B",B1="く"),"タ","")& IF(AND(A1="A",B1="け"),"チ","")& IF(AND(A1="B",B1="け"),"ツ","")& IF(AND(A1="A",B1="こ"),"テ","")& IF(AND(A1="B",B1="こ"),"ト","")& IF(AND(A1="A",B1="さ"),"ナ","")& IF(AND(A1="B",B1="さ"),"ニ","")
その他の回答 (6)
ん~、アプローチはいろいろ考えられますが、 どんなにスマートな方法でも、実際に使えなければ意味ありませんから、 とりあえずじみ~な方法をご紹介しておきます。 =CHOOSE( IF(AND(A1="A",B1="あ"),1,0)+ IF(AND(A1="B",B1="あ"),2,0)+ IF(AND(A1="A",B1="い"),3,0)+ IF(AND(A1="B",B1="い"),4,0)+ IF(AND(A1="A",B1="う"),5,0)+ IF(AND(A1="B",B1="う"),6,0)+ IF(AND(A1="A",B1="え"),7,0)+ IF(AND(A1="B",B1="え"),8,0)+ IF(AND(A1="A",B1="お"),9,0)+ IF(AND(A1="B",B1="お"),10,0)+ IF(AND(A1="A",B1="か"),11,0)+ IF(AND(A1="B",B1="か"),12,0)+ IF(AND(A1="A",B1="き"),13,0)+ IF(AND(A1="B",B1="き"),14,0)+ IF(AND(A1="A",B1="く"),15,0)+ IF(AND(A1="B",B1="く"),16,0)+ IF(AND(A1="A",B1="け"),17,0)+ IF(AND(A1="B",B1="け"),18,0)+ IF(AND(A1="A",B1="こ"),19,0)+ IF(AND(A1="B",B1="こ"),20,0)+ IF(AND(A1="A",B1="さ"),21,0)+ IF(AND(A1="B",B1="さ"),22,0), "ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ","サ", "シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ","ニ") Excel2003で動作確認済。ただし29通りまで。 ※ CHOOSE(N,a,b,…,j,k):{a,b,…,j,k}の中からN番目のものを返す 例えば、{A,か}のとき、 IF(AND(A1="A",B1="か"),11,0)=11,その他のIFは0 ⇒0+0+…+0+11+0+…+0+0=11 ⇒CHOOSE(11,"ア","イ",…,,"ナ","ニ")="サ"
関数 "CONCATENATE", "MATCH" "INDEX" を使うシンプルな一例。 [定義表] a b c d ---------------------- A あ ア Aあ ← =CONCATENATE(a1,b1) B あ イ Bあ A い ウ Aい B い エ Bい A う オ Aう B う カ Bう A え キ Aえ B え ク Bえ A お ケ Aお B お コ Bお A か サ Aか B か シ Bか A き ス Aき B き セ Bき A く ソ Aく B く タ Bく A け チ Aけ B け ツ Bけ A こ テ Aこ B こ ト Bこ A さ ナ Aさ B さ ニ Bさ ---------------------- [例題] 3 ウ Aい Aい…セル内データ (セル番号は d25) 3 … =MATCH(d25, d1:d22, 0) (セル番号は a25) ウ … =INDEX(c1:c22, a25)
- age_momo
- ベストアンサー率52% (327/622)
まあ、普通はC列やD列を作業用に割り当てて処理した方がメンテが しやすいですし、表示などの自由が利きやすいです。後でその行を 隠せばいいですし。。。とりあえず、1個のセルで済ませるとした時に 私ならこうしますね。 A行 B行 C行 項目 姓 結果 歴代 安部 歴代 小泉 名前 森 歴代 小渕 名前 橋本 歴代 星野 副総理 森 歴代 小泉 =IF(A2="名前",MID("康夫 晋三 純一郎喜朗 恵三 龍太郎",FIND(B2,"福田 安部 小泉 森 小渕 橋本 "),3),IF(A2="歴代","第"&FIND(B2,"福田 安部 小泉 森 小渕 橋本 ")+20&"代総理","#VALUE!")) 結果はこうなります。 項目 姓 結果 名前 福田 康夫 歴代 安部 第24代総理 歴代 小泉 第27代総理 名前 森 喜朗 歴代 小渕 第33代総理 名前 橋本 龍太郎 歴代 星野 #VALUE! 副総理 森 #VALUE! 歴代 小泉 第27代総理 FINDを使った場合、検索文が見つからないとエラーを返します。 見た目を合わせるためにIFで偽であったときにも#VALUE!が 表示されるようにしました。それぞれの関数がどういう働きをするかは 別途、調べてください。
お礼
ありがとうございました。早速試してみたのですが、なんせ初心者なもので文字とか変わってしまうとうまくいきませんでした。また勉強してみますが、お暇でしたら下の表だったときにC列に入る式を教えていただけたらありがたいです。m(_)m A列 B列 C列(結果) A あ ア B あ イ A い ウ B い エ A う オ B う カ A え キ B え ク A お ケ B お コ A か サ B か シ A き ス B き セ A く ソ B く タ A け チ B け ツ A こ テ B こ ト A さ ナ B さ ニ
すみません、最後の行(A1とB1を間違えました)以下のように訂正です D列…対応表の行を抽出 =IF(A1="A",2,IF(A1="B",3,"×") 下にコーピー
{IF は7つまでしか( )が使えないようです} 参考です 対応表を作って、そこから HLOOKUP を使った例です。 【対応表】以下の範囲をあらかじめ「対応表」と定義(名前の定義)しておきます。 あ い う え お か き く け こ・・・・・ A ア ウ オ キ ケ サ・・・ B イ エ カ ク コ・・・・・ 【データ】 A列 B列 C列 D列(行の判別) 1行 A あ ア 2 2行 B い イ 3 3行 A う ウ 2 4行 B え エ 3 5行 A お オ 2 6行 B か カ 3 ・・・・・・・・22行まで A列…2種類 B列…11種類 C列…対応表からの結果 =HLOOKUP(B1,対応表,A1,FALSE) 下にコーピー D列…対応表の行を抽出 =IF(B1="A",2,IF(B1="B",3,"×") 下にコーピー
お礼
ありがとうございました。IFは7つまで()が使えないことが判明して謎が解決しましたが、なんせ初心者ですので、HLOOKUPとか勉強しないと・・・・
- kata_san
- ベストアンサー率33% (423/1261)
ネットで「エクセル」と検索する。
お礼
す!す!す!すばらしい!!!です!!! シロートの私でも地道に入力したら回答がでました!! ありがとうございました~ IF ANDを捨てていましたが、&を入れるとできるのですね。