ある値と一致する場合に検索結果を取得する方法

このQ&Aのポイント
  • エクセルシートに入力値、取得値、検索KEY、変換値があります。
  • 入力値に1〜999の数字を入力し、検索KEYを検索して変換値を取得値に返すようにしたい。
  • 注意事項として、検索KEYは5〜124の範囲であり、入力値に1〜4が入力された場合は検索KEYの5の変換値を取得値に取得し、入力値に125以上が入力された場合は検索KEYの124の変換値を取得値に取得する。
回答を見る
  • ベストアンサー

ある値と一致する場合に検索結果を取得する方法。

どなたかご存じでしたらご回答よろしくお願いします。 ●質問  下記のようなエクセルシートに、【入力値】、【取得値】、【検索KEY】、【変換値】があります。  【入力値】に1~999迄の数字を入力すると、その値で【検索KEY】を検索して【変換値】の値  を【取得値】に返すようにしたい。 ●エクセルシート    入力値  取得値  検索KEY 変換値      1     A     5      A   5     A     6      B     30     D     7      C   90     G     :      :  124     F    29      C  130     F    30      D   :           31      E               :      :               90     G               91     H               :      :              124      F        ●注意事項   (1) 【検索KEY】は5~124迄ありますが、【入力値】に1~4迄が入力された場合は      【検索KEY】の”5”の【変換値】を【取得値】に取得する。      【入力値】に125以上が入力された場合は【検索KEY】の”124”の【変換値】を【取得値】に      取得する。   (2) エクセルは2010です。 以上、ご回答よろしくお願いします。     

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! B2セルに =IF(A2="","",VLOOKUP(IF(A2<5,5,IF(A2>124,124,A2)),C:D,2,0)) という数式を入れオートフィルでずぃ~~~!っと下へコピーではどうでしょうか?m(_ _)m

moguo4649
質問者

お礼

いつもわかりやすい回答ありがとうございます! さっそくやってみて、一発で結果が得られました。 ありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

5から124まで順序良く並べてあるなら、大きいほうは調べなくてかまいません。 =IF(A2="","",VLOOKUP(MAX(A2,5),C:D,2))

moguo4649
質問者

お礼

いつもご回答ありがとうございます。 教えて頂いた回答でちゃんと得たい結果が得られました。 ありがとうございました。

noname#204879
noname#204879
回答No.1

次の値が入力されたときはドッチを取得するの? 32 → E or G ? 89 → E or G ? 92 → H or F ? 123 → H or F ?

moguo4649
質問者

補足

ご質問ありがとうございます。 質問欄に書いた検索KEY以外の値には それぞれの変換値が入っていますので、 E,G、H,Fかそれ以外かもしれません。

関連するQ&A

  • 入力値で検索KEYを検索して検索結果を2つ返す方法

    ●質問  下記のようなエクセルシートに、【入力値】、【取得値】、【検索KEY】、【変換値1】、【変換値2】   があります。【入力値】に1~9迄の数字を入力すると、その値で【検索KEY】を検索して 【変換値1】、【変換値2】の値を【取得値1】、【取得値2】に返すようにしたい。 ※A列:入力値、B列:取得値1、C列:取得値2、D列:検索KEY、E列:変換値1、F列:変換値2 ●エクセルシート    入力値  取得値1 取得値2  検索KEY  変換値1 変換値2      1      6     99       0      5      11   5      0      7       1      6      99   0      5     11       2      7       3   2      7      3        3      8      12   3      8     12       4      9       5   9      4     77       5      0       7    :      :             6      1      43    :      :             7      2      21                        8      3      35                        9      4      77        ●注意事項   ・エクセルは2010です。 以上、ご回答よろしくお願いします。

  • 入力値で検索KEYを検索して検索結果を取得する方法

    どなたかご存じでしたらご回答よろしくお願いします。 ●質問  下記のようなエクセルシートに、【入力値】、【取得値】、【検索KEY】、【変換値】があります。  【入力値】に1~9迄の数字を入力すると、その値で【検索KEY】を検索して【変換値】の値  を【取得値】に返すようにしたい。 ●エクセルシート    入力値  取得値  検索KEY  変換値      1      6     0      5   5      0     1      6   0      5     2      7   2      7     3      8   3      8     4      9   9      4     5      0    :      :     6      1    :      :     7      2                8      3                 9      4        ●注意事項   ・エクセルは2010です。 以上、ご回答よろしくお願いします。     

  • 3つのKEYから表を検索して値を取得したい。

    どなたかご存じでしたらご回答をお願いします。 【質問】  下記の検索KEY(A,B,C)が5行あります。1行ずつ検索KEY(A,B,C)から表を検索して  表のKEY(G,H,I)と一致した場合に、表のJ、K、Lの値を、検索KEYのD、E、Fに値を取得  する方法が知りたいです。※検索KEY(A、B、C)の値は可変です。   ●検索KEY:実行前   A     B    C    D   E   F     偶数日   第1 前大偶 偶数日   第2 前大偶 偶数日   第3 前大奇 偶数日   第4 前大偶 偶数日   第5 前大奇 ●検索KEY:実行後・・・D、E、Fに表のKEY(G、H、I)と一致して取得したJ、K、Lの値が入る。   A     B    C    D   E   F     偶数日   第1 前大偶  12   15   24 偶数日   第2 前大偶   2   11   27 偶数日   第3 前大奇   2    3   16 偶数日   第4 前大偶   17   23 偶数日   第5 前大奇   5    7   23  ●表:50行あります。   G     H    I     J   K  L        偶数日   第1 直大偶   2   16  26 偶数日   第1 前大奇   12  16  20 偶数日   第1 前大偶   12  15  24 偶数日   第1 直前    14   19 偶数日   第1 直大奇   3   11  30 奇数日   第1 直大偶   2   19  20 奇数日   第1 前大奇   4   20  25 奇数日   第1 前大偶   10  21  30 奇数日   第1 直前     5   7  14 奇数日   第1 直大奇   8   22 偶数日   第2 直大偶   10  15  22 偶数日   第2 前大奇   20  25 偶数日   第2 前大偶   2   11  27 偶数日   第2 直前     5  28   29 偶数日   第2 直大奇   6   11  13 : : 偶数日   第5 直大偶   4   8 偶数日   第5 前大奇   5   7   23 偶数日   第5 前大偶   24  28  29 偶数日   第5 直前     1   2  17 偶数日   第5 直大奇   15  23 奇数日   第5 直大偶   17  25  29 奇数日   第5 前大奇   19  24  25 奇数日   第5 前大偶   7   28 奇数日   第5 直前     9  20  31 奇数日   第5 直大奇   7  12  18 【注意事項】   ・使用するエクセルは2010です。 以上、よろしくお願いします。

  • 縦横の条件に合致した時に値を取得する方法

    どなたかご存じでしたらご回答をよろしくお願いします。 【質問】  B1~ J1:1~9迄の値が入っています。A2~A11:A~J迄の値が入っています。  それぞれの交点には任意の文字が入っています。  A13にA~J迄の値を一つ、B13に1~9迄の値を一つ入力すると、上記の表を検索して  合致した場合のそのセルの値をC13にセットする方法が知りたいです。 ●表のイメージ   1   2   3   4  5   6  7   8   9 A あ  か  さ   た  な  は  ま  や   ら  B い  :   :   :   :   :   :   :   :   C う   :   :   :   :   :   :   :   :  D え  :   :   :   :   :   (9)   :   : E お  :   :   :   :   :   :   :   : F (1)  :   :   :   :   :   :   :   : G (2)  :   :   :   :   :   :   :   : H (3)  :   :   :   :   :   :   :   : I (4)  :   :   :   :   :   :   :   : J (5)  :   :   :   :   :   :   :   : D 7  (9) <- D、7と入力すると交点の値:(9)を取得する。 ●注意事項   ・使用するエクセルは2010です。 以上、よろしくお願いします。

  • 指定したKEYの内容を取得する方法2

    どなたかご存じの方ご回答よろしくお願いします。 【質問】  A列をKEYとして、B列~AF列まで数字が入っているエクセルシート(テーブル)があります。  別のエクセルシート(取得)からA列に存在するKEYをKEY1~KEY15として計算結果から  でた値(変数)から、エクセルシート(テーブル)のB列~AF列までの値を取得する方法が   知りたいです。 ※KEYを直接入力して値を取得する方法は前回の質問(指定したKEYの内容を取得する    方法)で回答を得ました。 【エクセルシート(テーブル)】 A BCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAF                  : 12 1 0 4 1 0 1 0 0 2 0 2 0 1 1 0 2 1 1 1 3 1 1 3 3 3 0 1 4 0 2 2 13 0 0 3 0 1 0 0 1 1 2 1 1 2 1 1 1 2 0 0 1 1 1 1 1 1 1 0 1 0 1 3 14 2 0 1 1 3 0 2 1 2 1 2 0 0 1 2 2 1 3 2 1 1 0 3 2 0 3 2 2 1 2 0                  : 137 1 1 1 2 4 1 2 2 2 3 1 2 0 2 2 0 3 2 4 4 0 2 4 2 0 3 2 2 2 3 1 138 2 1 1 1 0 0 1 2 1 1 2 1 2 2 1 2 1 2 1 1 3 1 3 2 1 3 5 1 1 1 2 139 0 2 3 3 2 2 1 1 1 0 1 2 2 0 1 0 2 2 1 3 2 2 1 2 1 5 2 2 4 0 1 : 【エクセルシート(取得)】   A   B CD E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG  KEY1  13 0 0 3 0 1 0 0 1 1 2 1 1 2 1 1 1 2 0 0 1 1 1 1 1 1 1 0 1 0 1 3  KEY2 138 2 1 1 1 0 0 1 2 1 1 2 1 2 2 1 2 1 2 1 1 3 1 3 2 1 3 5 1 1 1 2                   :   :                    :  KEY15 12 1 0 4 1 0 1 0 0 2 0 2 0 1 1 0 2 1 1 1 3 1 1 3 3 3 0 1 4 0 2 2 【注意事項】   ・エクセルシート(テーブル)のA列のKEYは重複無しで昇順に並んでいます。   ・エクセルシート(取得)に入力するKEYは15個あります。B列のKEY1~KEY15は     直接B列に値を入力するのではなく、エクセルシート(取得)の中で計算されて得られた値     です(例:KEY1のBの値は13になっていますが、このセルには「=AY+AZ」という計算式が     入っておりその計算結果です。)。計算結果が変わるたび、エクセルシート(テーブル)の     A列を探してHITしたKEYのB列~AF列の内容をエクセルシート(取得)のC列以降に     取得します。   ・使用するエクセルは2010です。    以上、よろしくお願いします。 

  • 1以上の値を検索する方法を教えてください

    エクセル2003で下記のように値が入っています。 A1:5 B1:9 C1:7 D1:0 E1:0 F1のセルに「A1~E1を検索し一番右端の1以上の値を拾え(0は拾うな)」 という式を入れたいのですがどのようにすれば良いのでしょうか? (この場合はC1の7を拾いたい) どなたかご教授願います。

  • 指定したKEYの内容を取得する方法

    どなたかご存じの方ご回答よろしくお願いします。 【質問】  A列をKEYとして、B列~AF列まで数字が入っているエクセルシート(テーブル)があります。  別のエクセルシート(取得)からA列に存在するKEYを入力すると、エクセルシート(テーブル)  のB列~AF列までの値を取得する方法。 【エクセルシート(テーブル)】 A BCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAF : 12 1 0 4 1 0 1 0 0 2 0 2 0 1 1 0 2 1 1 1 3 1 1 3 3 3 0 1 4 0 2 2 13 0 0 3 0 1 0 0 1 1 2 1 1 2 1 1 1 2 0 0 1 1 1 1 1 1 1 0 1 0 1 3 14 2 0 1 1 3 0 2 1 2 1 2 0 0 1 2 2 1 3 2 1 1 0 3 2 0 3 2 2 1 2 0                  : 137 1 1 1 2 4 1 2 2 2 3 1 2 0 2 2 0 3 2 4 4 0 2 4 2 0 3 2 2 2 3 1 138 2 1 1 1 0 0 1 2 1 1 2 1 2 2 1 2 1 2 1 1 3 1 3 2 1 3 5 1 1 1 2 139 0 2 3 3 2 2 1 1 1 0 1 2 2 0 1 0 2 2 1 3 2 2 1 2 1 5 2 2 4 0 1 : 【エクセルシート(取得)】   A   B CD E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG  KEY1  13 0 0 3 0 1 0 0 1 1 2 1 1 2 1 1 1 2 0 0 1 1 1 1 1 1 1 0 1 0 1 3  KEY2 138 2 1 1 1 0 0 1 2 1 1 2 1 2 2 1 2 1 2 1 1 3 1 3 2 1 3 5 1 1 1 2                   :    :                :  KEY15 12 1 0 4 1 0 1 0 0 2 0 2 0 1 1 0 2 1 1 1 3 1 1 3 3 3 0 1 4 0 2 2 【注意事項】   ・エクセルシート(テーブル)のA列のKEYは重複無しで昇順に並んでいます。   ・エクセルシート(取得)に入力するKEYは15個あります。B列にKEYを入力すると    エクセルシート(テーブル)のA列を探してHITしたKEYのB列~AF列の内容を    エクセルシート(取得)のC列以降に取得します。   ・使用するエクセルは2010です。    以上、よろしくお願いします。 

  • 入力された数字と一致する数字の値を取得する方法。

    どなたかご存じでしたらご回答をよろしくお願いします。 【質問】  A1~G1に1~43の数字のうち任意の数字をひとつずつ入力すると、  A2~AQ2に1~43迄の数字があり、入力された数字と一致した場合、  A3~AQ3に入っている値を、H1~M1にセットする方法が知りたいです。 ●質問のイメージ  A B C D E F G H I  J  K L  M  N  O P Q R S T U ~ AO AP AQ  5 15 22 24 29 36 4 9 ・・・・・・・・・・・・・  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ~ 41 42 43  0 1 8 7 4 1 1 2 7  8 9 10  11 2  9 8  2  3  4  7 8  ~ 5  8 10  ※ A1に5を入力すると、その下にある1~43迄の数字と一致する5に入っている値(4)をG1に    セットする。B1に15を入力すると、値(9)をH1にセットする。以下、22、24、29,36を繰り返す。 ●注意事項    ・使用するエクセルは2010です。 以上、よろしくお願いします。         

  • 値の検索方法

    ExcelのVBAについて教えてください。 シートAとシートBがあり、内容は異なりますが同じ項目が設定されています。 シートAのA列の値に一致する値をシートBから検索し行の値を取得したいと思うのですが、シートAもシートBも0埋めされていたりされていなかったり値がばらばらです。 VBAでシートの値を変更せず検索して行情報を取得する方法はないでしょうか? Findとかフィルタでは検索先のシートの値を補正できなくて難しいのかなと思っているのですが可能なのでしょうか。 なお、行数がかなり多いのでシートBを上から一つずつ検索していく方法はなるべく避けたいです。 よろしくお願いします。

  • VLOOKUP関数で検索値と一致項目を取得できません

    VLOOKUP関数で検索値と一致項目を取得できません 下記のような表があるとき、 =VLOOKUP(K1,A2:B4,2,TRUE)と記述し『CCC』を取得したいのですが、 『BBB』を取得してしまいます。  |A |B |C |D |E |F |G |H |I |J |K 1|0.6|0.6|0.6|0.6|0.6|0.6|0.6|0.6|0.6|0.6|=SUM(A1:J1) 2| 4|AAA 3| 5|BBB 4| 6|CCC 一致しない場合は、近似値を取得したいため、検索方法をTRUEにしています。 EXCEL2007を使用しています。 K1の値を数値で『6』と入力した場合や、『=0.6*10』など記入した場合は、『CCC』が取得できます。 また、A1~J1を0.5にした場合は『BBB』が取得できるので、関数自体は正しいと思うのですが、原因がわかりません。 現在のところ、=ROUND(SUM(A1:J1),2)としてごまかしているのですが、 原因がわかりましたら、教えていただけますでしょうか?

専門家に質問してみよう