アプリ版:「スタンプのみでお礼する」機能のリリースについて

OracleのSQLでDecode文というのがあります。

Decode(Country, 'JP', '日本', 'US', 'アメリカ', 'CN', '中国', 'その他')

のような使い方をしますが、Excelでも同様のことができないでしょうか?

If文を使えば、

If(A1="JP","日本",If(A1="US","アメリカ",If(A1="CN","中国","その他")))

となりますが、もう少しスマートにならないものでしょうか?

A 回答 (3件)

ということなら似たようなところで


=CHOOSE(1+SUM(A1={"JP","US","CN"})*{1,2,3},"その他","日本","アメリカ","中国")
ブール値を計算させるとTRUEが1、FALSEが0となります

直接的な関数はないので4,5個程度ならIFを重ねてもよいと思います
参考まで
    • good
    • 1
この回答へのお礼

いやー、すごいですね。
そんなやり方があるんだなー、という感じです。
しかし、手軽に、というのでは、私程度のものであれば、
if文を使っておけば、いいようですね。
勉強になりました。
ありがとうございました。

お礼日時:2009/01/30 16:36

No2です 括弧をひとつ忘れましたm(_ _)m


=CHOOSE(1+SUM((A1={"JP","US","CN"})*{1,2,3}),"その他","日本","アメリカ","中国")
    • good
    • 1

=IF(ISNA(MATCH(A1,{"CN";"JP";"US"},0)),"その他",VLOOKUP(A1,{"CN","中国";"JP","日本";"US","アメリカ"},2,FALSE))


とか
=IF(ISNA(MATCH(A1,{"JP","US","CN"},0)),"その他",HLOOKUP(A1,{"JP","US","CN";"日本","アメリカ","中国"},2,FALSE))

基本的に、配列定数({ }で囲まれているところ)は別表で作成し、セル範囲を参照します。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そんなやり方があるとは勉強になりました。
お答えの趣旨とはずれますが、配列定数というのは今後使わせてもらいます。

今回のは質問の例がまずかったかもしれませんが、
せいぜい項目が4個とか5個程度の時に手軽にちょんプロで使いたいと
思ったことが何度かあったので質問させてもらいました。

お礼日時:2009/01/29 12:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!