- ベストアンサー
セルの内容に応じて項目を変える方法とは?
- Excelのセルの内容に応じて表示項目を変える方法を教えてください。
- 特定の条件に基づいてセルの値に応じて別の値を表示する関数を作成したいです。
- セルの値に応じて表示項目を切り替える方法と、語尾に印を付ける方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まず、E1~E8の欄に、次のようなリストを作って下さい。 E1セルに 太郎 E2セルに 次郎 E3セルに 三郎 E4セルに 花子 E5セルに 咲子 E6セルに 椿 E7セルに 他人 E8セルに 不明 次に、「データの入力規則」の[設定]タブの「入力値の種類」欄を「リスト」にして、 「元の値」欄を $E$1:$E$8 として下さい。 そして、B1セルには次の関数を入力して下さい。 =IF(OR(A1="",A1="不明"),"",IF(COUNTIF($E$1:$E$7,A1),LOOKUP(MATCH(A1,$E$1:$E$7,0),{1,4,7},$C$1:$C$3),$C$4)&"*")
その他の回答 (3)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
修正主義的ひとつの見解、 示された式は理解できないので、無視する。 条件を吟味して、優先順位を考えると、式の判定順位も自ずと決まる。 C1~C4はリストの一部らしい?ので、キーと対応させて並べておく。(F列を使う) F1~F1:=$C$1 F4~F6:=$C$2 F7 :=$C$3 B1に、 =IF(OR($A1="",$A1="不明"),"",IF(ISNA(MATCH($A1,$E:$E,FALSE)),$C$4&"*",INDEX($E:$F,MATCH($A1,$E:$E,FALSE),2)&"*"))
B1: =IF(OR(A1="太郎",A1="次郎",A1="三郎"),C$1&"*",IF(OR(A1="花子",A1="咲子",A1="椿"),C$2&"*",IF(A1="他人",C$3&"*",IF(OR(A1="不明",A1=""),"",C$4&"*"))))
お礼
ありがとうございました!!
- Cupper-2
- ベストアンサー率29% (1342/4565)
質問文にある条件をそのままに式を作ると次のようになります。 5,6. IF(OR(A1="不明",A1=""),"",~) 1. IF(OR(A1="太郎",A1="次郎",A1="三郎"),C1&"*",~) 2. IF(OR(A1="花子",A1="咲子",A1="椿"),C2&"*",~) 3. IF(A1="他人"),C3&"*",~) 4. 最後のIF文の非成立時の式に C4&"*" を入れる。 7. 上記のように C1&"*" 等と初めから追加したい文字を設定しておく。 すると… =IF(OR(A1="不明",A1=""),"",IF(OR(A1="太郎",A1="次郎",A1="三郎"),C1&"*",IF(OR(A1="花子",A1="咲子",A1="椿"),C2&"*",IF(A1="他人"),C3&"*",C4&"*"))) なーんて式になる。(閉じ括弧の数合ってるかなw) ただし、これがそのまま動作するかは保証しません。 (Excelを動作させる環境にないんですよw) 長い関数史記を書くときは、分解して考えた物を繋ぐようにすると 後から見ても分かりやすい…かなぁw…ですよ。 思いどおりに動作しなかったときも、どこで間違えているのか調べやすいです。(←ここ重要) 他の方法としては、 はじめにテーブル(E列に対するF列)を作っておいて、 VLOOKUP関数でF列を表示させるってのもありかな。 あとはエラー関係の処理を加えればできあがりな気がする。 …F列には =C1 とか =C2 とか入れておけば良いでしょう。 自分ならこっちの方法を選ぶかな。 条件が増えたときに対処しやすいからね。
お礼
色々勉強になりました。有難うございます!
お礼
色んなやり方があるものですね、有難うございます。 メモして、今後も活かさせて頂きます!