• ベストアンサー

vlookup関数と入力規則(?)

Excel2002(2003でもいいです) シート1に、       今年度   来年度 名前   MAX MIN  MAX MIN  鉛筆   500 250 600 320 筆ペン  80  40   95   55 万年筆  50  20  55  35 とあったとします もし別のシートのA3に鉛筆と入力し、B3に500以上250以下の数値、C3に600以上320以下の数値を入れたらその数値が赤く表示されるようなことは可能でしょうか? 条件付き書式とVlookup関数を組み合わせたようなイメージを描いているのですが、名前を見て、今年度、来年度それぞれが最大と最小の範囲に収まっていたらフォントを黒く、収まっていなければ赤くするということはできますか?

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

・まずSheet1のA1のセルをクリックし、左上の名前欄(A1と表示されているところ)に「先頭」と入力してEnterを押します。(「」は不要です)  →これでSheet1!$A$1に「先頭」という名前をつけました ・次にSheet1のA列全体を選択し、左上の名前欄に「名前」と入力してEnterを押します。  →これでSheet1!$A:$Aに「名前」という名前がつきました ・Sheet2のB列を選択し、条件付き書式で、「数式が」 =($B1>OFFSET(先頭,MATCH($A1,名前,0)-1,1))+($B1<OFFSET(先頭,MATCH($A1,名前,0)-1,2)) と指定して、書式から文字色を赤に設定します。 ・同様にSheet2のC列を選択し、「数式が」 =($C1>OFFSET(先頭,MATCH($A1,名前,0)-1,3))+($C1<OFFSET(先頭,MATCH($A1,名前,0)-1,4)) と指定して書式から文字色を赤に設定します。 これでできませんでしょうか?

rian_2005
質問者

お礼

うまくいきました!ありがとうございました。

rian_2005
質問者

補足

ありがとうございます。早速試してみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

上記の表で鉛筆から万年筆の行の35までを「挿入」「名前」「定義」で「範囲」と名づけます。 条件付き書式で B3に「数式が」「=OR(VLOOKUP($A3,範囲,COLUMN()*2-2)<B3,VLOOKUP($A3,範囲,COLUMN()*2-1)>B3)」 で書式を設定 C3にコピーして下さい。

rian_2005
質問者

お礼

思っていたことができ、助かりました。ありがとうございました。

rian_2005
質問者

補足

ありがとうございます。早速試してみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • vlookup関数と入力規則(?)の続きです

    QNo.2539383 http://oshiete1.goo.ne.jp/qa2539383.html で質問させていただき、思ったとおりうまくできました。 しかし、教えていただいた以下の3種類の数式 =($B1>OFFSET(先頭,MATCH($A1,名前,0)-1,1))+($B1<OFFSET(先頭,MATCH($A1,名前,0)-1,2)) =($C1>OFFSET(先頭,MATCH($A1,名前,0)-1,3))+($C1<OFFSET(先頭,MATCH($A1,名前,0)-1,4)) =OR(VLOOKUP($A3,範囲,COLUMN()*2-2)<B3,VLOOKUP($A3,範囲,COLUMN()*2-1)>B3) が、何となくという程度にしか理解できていない為、応用をきかせることができません。 締め切る前に答えていただいた方へ質問させていただくべきだったとは思うのですが、この式が持つ意味の解説・説明をしていただけないでしょうか? また、この質問では別のシートに入力した場合に表示させる方法をお聞きしましたが、同じシートのデータがある範囲から列方向へ大きく離れた表示されないような場所へ入力したら、もっと簡単になるのでしたらその方法が知りたいと思っています。分かり易ければ何通りかの方法を知っておきたいです。 大変申し訳ありません。よろしくお願い致します。

  • エクセルのVLOOKUP

    エクセルのVLOOKUPで違うシートにあるデータをひっぱりたいのですが シート1のA2~A50まで 20100110~20111011 までランダムに入っています。 この数値は、年月日の 8桁です  (シート1は他人が作ったデータです )シート2のA1~A7まで、8この数値は自分で打ち込みました) 20101001 20111001 20101011 20111001 20110201 20110201 20110301 シート2のB1~B7まで  あ  い  う  え  お  か  き  とはいています。 これをシート1のB2~B50まで B1~B7まで入っている  あ  い  う  お   か  き をひっぱりたいのです。シート1に入っている ですが、VLOOKUPで引っ張っても エラーになってしまいま8ケタの数値をクリックして セルの書式設定でシート1とシート2の8ケタの数値を数値にしても エラーになります エラーになる原因はなんですか?

  • エクセルのVLOOKUP

    エクセルのVLOOKUPで違うシートにあるデータをひっぱりたいのですが シート1のA2~A50まで 20100110~20111011 までランダムに入っています。 この数値は、年月日の 8桁です  (シート1は他人が作ったデータです )シート2のA1~A7まで、8この数値は自分で打ち込みました) 20101001 20111001 20101011 20111001 20110201 20110201 20110301 シート2のB1~B7まで  あ  い  う  え  お  か  き  とはいています。 これをシート1のB2~B50まで B1~B7まで入っている  あ  い  う  お   か  き をひっぱりたいのです。シート1に入っている ですが、VLOOKUPで引っ張っても エラーになってしまいま8ケタの数値をクリックして セルの書式設定でシート1とシート2の8ケタの数値を数値にしても エラーになります エラーになる原因はなんですか?

  • ExcelでVLOOKUPの引数にMID関数を使う?

    ・Sheet1のA1セルの数値をVLOOKUPの検索値にする ・Sheet1のA1セルの数値が6桁あって、左から2・3・4番目の数値を使う ・Sheet2にVLOOKUPの「範囲」になる表がある 以上の条件のとき =VLOOKUP(MID(A1,2,3),Sheet2!$表のセル範囲$,列,型) という数式を作ったのですが、「NAME#」エラーがでました。 正しい数式を教えていただければ助かります。 よろしくお願いします。

  • VLOOKUP 関数に関連して・・・・

    VLOOKUP 関数に関連して・・・・ Excel のBOOK名 「JAPAN」 があり 中に2Sheetあります。 Sheet 名 は「東京」 と 「日本」です。 Excel のVLOOKUP を使うために、 Sheet 「東京」の カラムBの範囲に 名前を「商品」とつけました。 2Sheet目 の「日本」 の カラム EとFに検索対象があり、範囲に名前「台帳」とつけました。 それで、 VLOOKUP 関数を 2Sheet目 の カラムGに  =Vlookup('東京'!商品,台帳,1,0) と入力すると、 Sheet名がBook名に勝手に置き換えられて しまい、  =Vlookup('JAPAN'!商品,台帳,1,0) となってしまいまい、 #Value! が出てしまいます。 1.この置き換えは問題無いのでしょうか? 2. 問題があるとすれば、どうやればとめられるのでしょうか? 3. 検索値は 数字13桁のJANコードなんですが、 数値あるいは文字列で統一が    必要でしょうか? 環境は   Windows  XP   Office  2003  です。 よろしくお願いいたします。

  • Vlookupのような関数について

    Vlookupにて、下記にある文字シートにあるB列の文字を、都道府県シートのB列に挿入する場合、以下のような関数を利用すればよいかとおもいます。 =vlookup(A1,数値シート:$A$1:$B$4,2,false) そこで、文字シートのA列とB列が入れ替わった場合(キーとなる列が左端では無い場合)はどのような関数にすれば良いのでしょうか? ※文字シートのAとBを入れ替えてというのは無しでお願いします。 都道府県シート A列 B列 埼玉県 東京都 神奈川県 山梨県 文字シート A列 B列 山梨県 あいう 東京都 かきく 神奈川県 なにぬ 埼玉県 さしす

  • EXCELのVLOOKUP関数の特殊な使い方を教えてください。

    初めて投稿しますので、宜しくお願いします。 最近会社でエクセルの表を作って欲しいと言われたんですが、元々エクセルとかはあまり得意ではないので苦戦しており、いろいろ調べても解決できなかったのでこちらでご相談させていただきます。 質問内容 EXCELにて型式一覧の表から当てはまる値を自動的に抜き出したい。 セルは以下の通りです。  |  A   |  B  | C | D |  |------|-----|-------| 1 | 型式番号 | 型式  |   値   |  |------|-----|-------| 2 |      |     | max | 10 |  |      |     |-------| 3 |  01   |  a  | min | 20 |  |      |     |-------| 4 |      |     | ave | 30 |  |------|-----|-------| 5 |      |     | max | 40 |  |      |     |-------| 6 |  02   |  b  | min | 50 |  |      |     |-------| 7 |      |     | ave | 60 |  |------|-----|-------| 8 |      |     | max | 70 |  |      |     |--------------| 9 |  03   |  c  | min | 80 |  |      |     |-------| 10|      |     | ave | 90 |  |------|-----|-------| 検索用  |  A   |  B  | C | D |  |------|-----|-------| 15| 型式番号 | 型式  |   値   |  |------|-----|-------| 16|      |     | max▼| 10 |  |------|-----|-------|  上記の検索用のセルに入力したときに自動的に表示できるようにしたいのが今回の質問です。 手順と条件 1.A16の所は型式番号入力する(キーボードやテンキーなどで直接入力) 2.A16のセルに001と入力するとB16に自動的に【a】と表示される(VLOOKUPで処理しています。) 3.次にC16のセルでは入力規則リスト型にして、中の値は【max,min,ave】の3つだけを表示。 4.C16のリストから【max】を選ぶと型式番号001の型式aの値maxに対応している【10】という値が自動的D16に表示される。 5.A2~A4はセル結合。同じようにB2~B4までセル結合しております。 上記のような事は出来るのでしょうか? 説明下手で申し訳ございませんが、何卒宜しくお願い致します。

  • vlookup関数の挙動について

    エクセルシートzzzに以下のデータがあります。 全部で140行あります。 A列  B列 ・ ・ ・ 5/31 1000 5/31 1000 5/31 1000 収入 10000 支出 2000 あるシートで =VLOOKUP("収入",'zzz'!A1:H300,1)とすれば 当然、「収入」という文字列が戻ってきます。 また、 =VLOOKUP("5/31",'zzz'!A1:H300,1)とすれば 当然、「5/31」という文字列が戻ってきます。 ところが、 =VLOOKUP("支出",'zzz'!A1:H300,1)とすると なぜか、「支出」ではなく、「5/31」が戻ってきます。 しかし、H300をH500にすると、つまり =VLOOKUP("支出",'zzz'!A1:H500,1)とすると データは140行しかないにかかわらず なぜかきちんと「支出」が戻ってきます。 ちなみにA列の書式はすべて文字列です。 何か考えられる原因がありましたら 教えていただけないでしょうか。 zzzシートで直接、=VLOOKUP("支出",A1:H300,1)としても 同様に5/31という値が返ってきます。 A1:H300とA1:H500の差の200行には何もデータは入っておりません。 動作環境はXP SP2 Excel2000です。

  • 一番好きな“筆記具”は何ですか~?

    アナタは筆記具(万年筆・ボールペン・シャーペン・鉛筆・筆ペン)等で一番好きな(書きやすい)筆記具はどれですか? 私はボールペンと筆ペンが好きでいつも持ち歩いています。

  • vlookupに、Indirect と Match 関数を組み合わせる

    vlookup関数で、検索値にSheet1(Book1)から、範囲は、Sheet2(Book1)のセルにある名前のついているSheet1(Book2), そして、列番号は、指定した名前とマッチするSheet1(Book2)の列番号から、導き出そうとしています。 ところが、Matchで指定した範囲は、Indirect内の関数として認識されないようで、結果が得られません。 たとえば、 Book1のA1~E1にタイトルが入っています。(Index, Title, Book, Author, Frequency) Book2には、 シート1: InputName シート2: Output シート2に以下の関数を入れてみましたが、うまくいきません。 ちなみに、VLOOKUPの列番号を Match関数の代わりに、5 とすると、結果オーライですが、Book1 の列順が変わっていることがあるので、Matchを使ってエラーを避けたいのですが、以下の関数のどこを直すべきでしょうか? =IF(ISNA(VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)),0,VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)) よろしくお願いします。

専門家に質問してみよう