• ベストアンサー

VLOOKUP関数

VLOOKUP関数を使用したときに選択した範囲の字体と同じようにならないのですが、値を返したときに書体(太字、斜体など)を変えるにはどのようにすればいいのでしょうか? お願いします。

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

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

>「工事」を含む文字だけ変えることができる式 #3はその様にしたつもりですが違っていましたか? もし#2で追加した列に1を入力する判断とするなら =IF(ISERROR(FIND("工事",$A1)),"",1) でできます。 同様に他の文字で2,3を設定するなら =IF(ISERROR(FIND("工事",$A1)),IF(ISERROR(FIND("○○",$A1)),IF(ISERROR(FIND("□□",$A1)),"",3) ,2),1) の様にIF文をネストすれば可能です。

minokan
質問者

お礼

いろいろと分かりづらい説明だったにもかかわらず、答えていただき本当にありがとうございました。 また何かあったときにはよろしくお願いします。

minokan
質問者

補足

本当に何度もすみません。 今までは説明が分かりづらかったせいか、いろいろと迷惑をかけました。 自分の作成している表をもう少し詳しく書きます。 元の表と明細表と見積表と3つの表があります。 A-1:番号、B-1:項目、C-1:・・・ 1    道路工事 101  調査 102  調整 103  ガードマン  : 2    水道工事 201  調査 202  排水管  :  : 3    サッシ工事 301  張替  :     : このように簡単に作りましたが、元の表はこんな感じで作成しています。 明細表には元の表を参照にVLOOKUP関数を使っています。 見積表には明細表のセルを参照にしています。(=A1というような形をとってい ます) この見積表の「○○工事」に関わらず特定の文字(列番号の1、2、3といった一桁の番号の書体)を太字にしたいのです。 こんな感じですが可能でしょうか? なんか説明がまた分かりづらくてすみません。お願いします。

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

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

VBAの回答ですが VBEのWorksheetのChangeイベント(注)に Private Sub Worksheet_Change(ByVal Target As Range) ' MsgBox Target.Column If Target.Column = 1 Then a = WorksheetFunction.VLookup(Target, Range("d1:e5"), 2, False) ' MsgBox a Target.Offset(0, 1) = a p = InStr(1, a, "工事") If p = 0 Then Target.Offset(0, 1).Font.ColorIndex = 0 Else Target.Offset(0, 1).Font.ColorIndex = 5 End If End If End Sub を貼りつける。 D1:E5に 1 壁塗り 2 サッシ工事 3 ドアー取りつけ 4 水道工事 5 配水管敷設 A1:A8に下記を入れると、入れた瞬間にB列の値がセットされ「工事」を含むものは青色字になる。 1 壁塗り 3 ドアー取りつけ 4 水道工事(青) 2 サッシ工事(青) 2 サッシ工事(青) 1 壁塗り 5 配水管敷設 2 サッシ工事(青) 文字色を変える設定にしましたが、太字なら Target.Offset(0, 1).Font.Bold=True とFale 斜体なら Target.Offset(0, 1).Font.Italic =True とFalse にすれば良い。 (注)出し方はVBE画面のVBAProjectのSheet1をダブルクリックし、左の▼をクリックしWorksheet、右の▼をクリックしChangeをクリックすると Private Sub Worksheet_Change(ByVal Target As Range) End Sub が出る。

minokan
質問者

お礼

なんだかすごいものまで作成していただきありがとうございます。 VBEはいつか覚えようとは思っていますが、難しいイメージがあるので…。でもこのようなものを見るとできれば良いなと思います。 いつか勉強したときに、つまづいたときはよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

>「○○工事」といったような文字だけを太字にするとかはどうやればできるのでしょうか? 「工事」を含む文字を太字と言う解釈でいいでしょうか? 「数式が」「=NOT(ISERROR(FIND("工事",$A$1)))」 FIND関数で$A$1に「工事」を探索でなければ#VALUE! ISERROR関数で#VALUE!をTRUEに変換 書式変更は工事がある時なのでNOT関数で入れ替え もし該当部分だけと言うことであればできません。

minokan
質問者

補足

何度もすみません。 「○○工事」という数ある全ての「○○工事」の文字を太字にしたいのです。 条件付き書式では3つまでしかできないし、「○○工事」というタイトルが多くあるので「工事」を含む文字だけ変えることができる式があれば良かったのですが、どうでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

条件付書式でよければ 元の表に書式用に1列追加します。 0又はブランクなら、書式変更なし 1なら太字と斜体 2なら太字のみ 3なら斜体のみ として入力 VLOOKUPを入力したセルで「書式」「条件付書式」で 条件1「数式が」「=VLOOKUP()=1」で書式に太字と斜体 条件2「数式が」「=VLOOKUP()=2」で書式に太字 条件3「数式が」「=VLOOKUP()=3」で書式に斜体 こんなものでどうですか?文字色・塗り潰し・罫線の設定も変更できます。

minokan
質問者

補足

いろいろとありがとうございます。 勉強になりました。 条件付書式の件で一つ教えて欲しいのですが、「○○工事」といったような文字だけを太字にするとかはどうやればできるのでしょうか? ワイルドカードを使ってもイマイチできなかったので...。何度もすみません。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

VLOOKUPは値を参照する関数です。書式は変わりません。 書式を変えたいのなら 単一の場合は、「書式」「セルの書式設定」で変更 単一でなく条件が特定できる場合、 「書式」「条件付書式」で書式を設定(最大3通り設定可能) 単一でなく条件が特定できない場合(上記で4通り以上の場合を含む)、 VBAのWorksheet_Cange イベントで変更 方法としてはこんなものですが...

minokan
質問者

お礼

それではVLOOKUP関数で置き換えられた文字が変えられないのなら、この参照されたセルを他の表を作ってその表のセルに書体を変えて表示させることは可能でしょうか? 分かりづらくてすみません。

minokan
質問者

補足

回答ありがとうございます。 やっぱりできないんですか...。表の中にタイトルとサブタイトルのようなものを作ったのですが、タイトルのほうを入力したときに太字などにできればよかったのですが、表の中でも決まったところではなく不規則にでてくるので、条件付だと無理でした。 VBAのほうはよく分からないので他になにかありましたらお願いします。

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

関連するQ&A

  • vlookup関数の使い方

    vlookup関数を使って検索する場合、指定された範囲の1列目に特定の値がないとき、#N/Aが返ってきますが、私は1列目に特定の値がない時には数字の0(ゼロ)が返ってくるように四苦八苦しています。なんとかならないでしょうか。

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

  • VLOOKUP関数について

    VLOOKUP関数についてですが、検索値が複数ある場合 例) =VLOOKUP(c2,Sheet1!$A$3:$A$1687,3,FALSE) 例えば、検索値c2の箇所が複数あった場合は、範囲指定と同様に選択範囲で囲むとよいのでしょうか? またその時に、絶対参照(F4)をした方がよいのでしょうか? よろしくお願いいたします。

  • エクセルのVLOOKUPについて

    VLOOKUP関数について VLOOKUP関数の使用方法は  VLOOKUP(検索キー、範囲、列数、検索の型) である  多くのWEBの使用例では検索キーで検索するのは「範囲」の第1列であり、  返す列の値は2列以降という例ばかりである。  このとき、検索キーで「範囲」の第2列を検索して、  「範囲」の第1列の値を返すようにできるか、という質問です。 なおエクセルの版数は2000です。 よろしく、お願いします。 以上

  • VLOOKUP関数について

    BとC列に抽出表があり検索範囲データがEとF、HとI列の2グループに分かれています。 VLOOKUP関数を使って検索範囲が2つのグループに分かれている場合の計算式を教えてください。 VLOOKUP関数以外でも出来る方法があれば教えてください。

  • VLOOKUP関数での範囲指定値が複数のシートにまたがる場合

    お知恵をお貸しください。 エクセルの初心者です。 VLOOKUP関数を使用して値を求めたいのですが、範囲が複数のシートにまたがっています。どのようにすれば求めることができるのでしょうか。 よろしくお願いいたします。

  • Excel 2007のVLOOKUP関数について

    Excel 2007のVLOOKUP関数について教えてください。 A列に(大根、人参、キャベツ)の3項目をプルダウンメニューで 選べるように設定します。 A列にある項目を選択した時に B列にそれぞれの数字が自動で表示されるように 設定したいと思います。 大根→1 人参→2 キャベツ→3 A列のプルダウンメニューは「データ入力規則」の元に値に 直接項目を入力します。 VLOOKUP関数を使用すると思いますが、 どのような方法で使用すればよいのかわかりません。 教えてください。

  • VLOOKUP関数 反映されない

    VLOOKUP関数ですが。 1から順に連番を振っていき4595までは、普通に反映され 4596番以降になると反映されなくなります。 表の選択範囲は10,000以上してありますので、原因が分かりません。 よろしくお願いします。

  • Vlookup関数の引数指定の問題

    エクセルの初歩的な質問で大変恐縮ですが教えて下さいm(_ _)m エクセル2007を使っていて、 2つのブックをVlookup関数を使って 1つにまとめる作業を行いたく、 引数の設定の画面で、値を返したいブック以外の もう1つのブックを範囲指定したかったのですが、 なぜか範囲指定できません。 引数の「範囲」のところが、値を返したいブックと同じブックの場合は 問題なく選択して入力することができるのですが、 この原因をご存じの方はぜひご教示宜しくお願い致します。 ちなみに会社のパソコで同じ操作を試したら、 Vlookupの引数は別のブックのセル範囲でも問題なく 選択できました。 初心者質問で大変恐縮ですがご教示宜しくお願い致します。

  • VLOOKUP関数について

    VLOOKUP関数についてお尋ねいたします。 VLOOKUPで、下記のような事ができるでしょうか。 1 11 a 1 12 b 1 13 c 2 11 d 2 12 e 2 13 f 2の11を選択すると『d』を 引っ張ってくる。 よろしくお願いします。

このQ&Aのポイント
  • 男の子達を相手にして勝つことが多い私は、ズルいと言われることがあります。彼らの成長や挑戦が私にとっての刺激であり、やりがいでもありますが、彼らからすると女の私が年下や格下という立場で勝つことに疑問を持つようです。
  • このようなスリルや挑戦が大事だと思っていますが、同時に彼らが成長して追い抜かれる可能性も十分にあることを認識しています。私が一番弱い立場になることも考えられます。
  • 勝つことばかりでズルいと言われるのは理解できますが、男の子である彼らにとっては女の私が勝つことに違和感を抱くこともあるのかもしれません。私自身は彼らとの勝負を通じて自分の可能性を試し、成長することを楽しんでいます。
回答を見る

専門家に質問してみよう