- 締切済み
特定の文字列を判別して表示する方法
仕事を円滑に進めるためにエクセルを使っているのですが、 うまく使いこなせず困っています。 エクセルにさせたい作業は、 「コードを入力すると、それに応じて場所の情報(表1.赤塗り)を返す」とういう作業をさせたいです。 表1を完成することが目標です。 日付・名前・製品・コード欄を入力すると、コードに従って場所の情報を返したいのですがうまくいきません。 作業列を用いて、コードの列からLEFT関数で3文字抜き出し、それを表2にしたがって判定させようと思ったのですが、 そのような関数が見つかりません。 IMOGASI方式というのも、調べた限りでは要求する使い方ができません。 自分以外の誰でもが使えるようにしたいので、 「コード入力」→「フィルタの設定」→「範囲指定/検索条件の指定」→… など、人間が行う操作は増やしたくありません。 コードの桁数は決まっているので、コードを入力した時点でなにもせずとも場所の情報を返ってくるようにしたいのですが、 そのような方法はありますでしょうか? シートは複数使っても構いません。作業列を用いても問題ありません。 このような条件で、うまく場所を返すようにできないでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- bunjii
- ベストアンサー率43% (3589/8249)
>このような条件で、うまく場所を返すようにできないでしょうか? Excel 2007以降のバージョンでは回答No.1で十分です。 Excel 2003以前のバージョンでも使える数式は次のようになります。 F3=IF(COUNTIF(I:I,LEFT(E3,3))>0,VLOOKUP(LEFT(E3,3),I:J,2,FALSE),"該当なし") または次の式でも良いでしょう。 F3=IF(ISERROR(MATCH(LEFT(E3,3),I:I,0)),"該当なし",INDEX(J:J,MATCH(LEFT(E3,3),I:I,0),1)) ご提示範囲のデータでは検索に失敗するセルもありますので検索に失敗したとき「該当なし」と表示して手入力の誤りを確認できるようにしました。 貼付画像はExcel 2013で検証した結果です。
- mt2008
- ベストアンサー率52% (885/1701)
表2のコードは文字列なんでしょうか?数値を書式で3ケタに表示しているだけなんでしょうか? #左詰めになっているから文字列かな? それによって処理が変わります。 文字列の場合 F3に =IFERROR(VLOOKUP(LEFT(E3,3),I:J,2,FALSE),"") 数値の場合 F3に =IFERROR(VLOOKUP(1*LEFT(E3,3),I:J,2,FALSE),"")