- ベストアンサー
エクセルの関数について
エクセルについて質問です。 「ある数値を入力したら常に一定の文字列を表示する」にはどの関数がいちばん便利でしょうか? 例:セルA1に101を入力→B1に「りんご」を表示 セルA2に201を入力→B2に「みかん」を表示 のように全部で50程度の数値&文字列の組み合わせ(コード表)を 判別したいと思っています。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
vlookup関数が使えると思います。 手順1:参照先のコード表を作成します。 (例)A10に「101」、B10に「りんご」、 A11に「102」、B11に「みかん」、 A12に「103」、B12に「メロン」 ・・・ (注意)・コード表は、参照時のキー(ここでは「101」「102」といったコード)の昇順であらかじめ並べ替えておきます。 手順2:vlookup関数を使用します。 例)A1に「103」と入力したらB1に自動的に「メロン」と表示させたい場合(A1にはまだ何もコードが入力されていないと仮定します) (1)B1を選択してメニューバー「挿入」-「関数」をクリック (2)「関数の分類」から「検索/行列」を選択し、その下の一覧から「vlookup」(一番下にあります)を選択して「OK」ボタンをクリック (3)「関数の引数」ダイアログが表示されるのでそれぞれ下記のように設定。 検索値:A1を直接クリック→「A1」と自動的に入力されます(直接入力してもOK) 範囲:先ほど作成したA10~のコード表を直接マウスで範囲選択し、「F4」キーを押す →$A$10:$B$12と表示されます。F4キーを押さないと「A10:B12」となっており、このままでも間違いではないのですが、B1に作成した数式を他のセルにコピーして使おうとした場合、Excelの仕様によって「A10:B12」のセル範囲が全部ずれてしまいます。「どこのセルにコピーしても、必ずここの範囲を参照させるんだ!」としたいときに、F4キーを押して#をつけます。 (勿論手入力で#をつけてもOKです。このようなセル範囲の指定方法を「絶対参照」といいます。) 列番号:2と直接入力・・・コード表の中の、左から何列目のデータを自動表示させたいかを指定する項目です。 検索の型:FALSEと直接入力・・・「FALSE」にしておくと、「A1に入力されたコードと完全に一致するコード」に対応する値だけをコード表から探して表示します。 この項目を空欄にすると(=Trueを指定したことになります)、本来ありえないコードを間違って入力してしまっても、それに近いコードで勝手に検索してデータを表示してしまいます。 ここまでの指定が終了したら「OK」ボタンをクリック (4)B1には「#N/A」と表示されます。これはA1に何も入力されていないため、「コードが無いから探せないよー」という意味のエラーメッセージです。試しにA1に何かコードを入力してみてください。 いかがでしょうか?覚えておくと便利な関数です。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
VLOOKUP関数のFALSE型が最適です。 Sheet1のA列に検索値を入れるとして、Sheet1に検索表を作っても良いですが、Sheet2に作る勉強をしておいた方が 将来のためにも良いです。 Sheet2にA,B列に A列 B列 101 みかん 201 りんご 103 クリ 133 メロン 123 バナナ ・・・のように作ります。 (注)コードの昇順に並べる必要はありません。 A,B列はどの列にあっても良いが、離れていても良いが、検索値 の列は、最左にあること。 Sheet1のB1に =IF(A1="","",VLOOKUP(A1,Sheet2!$A$1:$B$100,2,FALSE)) と入れて下方向に式を複写します。 必ず検索表の範囲指定は、絶対番地($つき)で表しましょう。 検索表は名前を定義して名前でも表現来ます。 =IF(A1="","",VLOOKUP(A1,表,2,FALSE))
お礼
ありがとうございました!さっそくTRYしてみます。
- hirumin
- ベストアンサー率29% (705/2376)
予め、対応表を作成しておきます。 101 りんご 201 みかん [B1]=VLOOKUP(A1,【対応表の範囲】,2,FALSE) あとはB2以降にコピーします。
お礼
ありがとうございました!さっそくTRYしてみます。
- EL-SUR
- ベストアンサー率76% (83/108)
VLOOKUP関数だと思います。 検索値に対する製品名や金額を求めるには (VLOOKUP関数) http://support.microsoft.com/?scid=kb;ja;881329 検索/行列関数(VLOOKUP関数) http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex_ks_tyukyu9_9_4.htm#検索/行列関数(VLOOKUP関数)
お礼
ありがとうございました!さっそくTRYしてみます。
お礼
ありがとうございました!さっそくTRYしてみます。