- ベストアンサー
エクセルの関数について教えてください
A B C 1 りんご 5 2 バナナ 4 3 バラ 3 4 さくら 1 5 バナナ 2 という表があったとします。 りんご・バナナの場合は果物 バラ・さくらの場合は花 という値をC列1~5に返したいのですが そんなことできますか? やはり バラ 花 さくら 花 バナナ 果物 りんご 果物 という表を別に作らないとだめでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
別表を作ったほうが「りんご」や「バナナ」のみならず他のものが増えた場合にも柔軟に対応できますが、 もし「りんご」「バナナ」だけならばif関数でも十分です。 セルc1に入れる式の例: =if(or(a1="りんご",a1="バナナ"),"花",if(or(a1="バラ",a1="さくら"),"果物","")) 別表の作り方も質問中の表の形だけではなく、 A列に"花"の一覧、B列に"果物"の一覧をつくり、下記のような式をつくるのも良いかもしれません。 =if(countif(花,a1)>0,"花",if(countif(果物,a1)>0,"果物"),"")) (花の一覧を「花」、果物の一覧を「果物」という名前付き範囲としています)
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
No.1です! たびたびごめんなさい! 前回の数式を訂正してください。 配列数式にする必要はありませんでした。 C2セルに =IF(A2="","",IF(ISNUMBER(FIND(A2,$F$2)),$E$2,IF(ISNUMBER(FIND(A2,$F$3)),$E$3,""))) これは単にコピー&ペーストだけで大丈夫です。 どうも何度も失礼しました。m(__)m
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 参考になるかどうか判りませんが・・・ 一例です。 やはり参照するための表は必要だと思います。 ただし、表の作成方法は↓のような方法でも可能だと思います。 「区別」ごとに一つのセル内に同じものは入力しておきます。 アップした画像のC2セルに =IF(A2="","",IF(OR(ISNUMBER(FIND(A2,$F$2))),$E$2,IF(OR(ISNUMBER(FIND(A2,$F$3))),$E$3,""))) これは配列数式になってしまいますので、この画面から数式をC2セルに貼り付け後、 F2キーを押す、又はC2セルでダブルクリック、又は数式バー内で一度クリックします。 編集可能になりますので Shift+Ctrl+Enterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 最後にC2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、当方使用のExcel2003ではIF関数のネストは最大7個までですので それ以上の「区別」がある場合は他の方法を考えなければならないと思います。 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m