質問: excel関数について 質問があります。 エクセルのa行に 定期点検 (月度検査) ラジオ修理 ボリューム つまみ 校正 視力検査 ボールペン 発注 替芯 購入 コピー用紙 経費 ポケットティッシュ配布用 ・ ・ ・ とあるのを、b行に下記の用に変換したいのですが、 検査 修理 検査 検査 購入 購入 購入 購入 その他 その他 その他 ・ ・ ・ 下記のように関数をつくったのですが、うまく動きません =if(a1="","",if(isnumber(find("点検",a1)),"検査",if(isnumber(find("修理",a1)),"修理",if(isnumber(find("校正",a1)),"検査",if(isnumber(find("検査",a1)),"検査",if(isnumber(find("発注",a1)),"購入",if(isnumber(find("購入",a1)),"購入",if(isnumber(find("経費",a1)),"購入,"if(isnumber(find("配布用",a1)),"購入","その他"))))) わかる方がいらっしゃいましたら、どうぞ教えて下さい。
回答: こんばんは! 一例です。 ↓の画像のように表示したい項目(黄色いセル)の表を作成しておきます。 そしてb1セルに =if(a1="","",if(or(isnumber(find($d$2:$d$5,a1))),$d$1,if(or(isnumber(find($e$2:$e$5,a1))),$e$1,if(or(isnumber(find($f$2:$f$5,a1))),$f$1,"その他")))) これは配列数式になってしまいますので、この画面からb1セルにコピー&ペーストする場合はb1セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、shift+ctrlキーを押しながらenterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピーすると画像のような感じになります。 尚、この数式で空白セルを範囲指定してしまうと正確な表示ができませんので、敢えて表内にアスタリクス(まず使用することはないであろう文字)を入れて範囲指定しています。 これは余計なお世話かもしれませんが、アスタリクスの代わりに他の項目を入れれば同じ表示をしてくれます。 以上、参考になれば良いのですが・・・m(__)m