• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA 指定した文字を検索クリア)

エクセルVBAで指定した文字を検索しクリアする方法

toshi_2010の回答

  • ベストアンサー
回答No.4

>赤色のセルの式は「=IF(ISERROR(VLOOKUP($B4,'010問合せDATA'!$A:$W,12,0)),"",(VLOOKUP($B4,'010問合せDATA'!$A:$W,12,0))) &" "& IF(ISERROR(VLOOKUP($B4,'010問合せDATA'!$A:$W,13,0)),"",(VLOOKUP($B4,'010問合せDATA'!$A:$W,13,0)))&"泊"」 以下でどうでしょう。 どちらか片方に値がある場合に"泊" 「=IF(ISERROR(VLOOKUP($B4,'010問合せDATA'!$A:$W,1,0)),"",IF(VLOOKUP($B4,'010問合せDATA'!$A:$W,12,0)="","",VLOOKUP($B4,'010問合せDATA'!$A:$W,12,0)&" ")&IF(VLOOKUP($B4,'010問合せDATA'!$A:$W,13,0)="","",VLOOKUP($B4,'010問合せDATA'!$A:$W,13,0)&" ")&IF(OR(VLOOKUP($B4,'010問合せDATA'!$A:$W,12,0)<>"",VLOOKUP($B4,'010問合せDATA'!$A:$W,13,0)<>""),"泊",""))」 両方に値がある場合に"泊" 「=IF(ISERROR(VLOOKUP($B4,'010問合せDATA'!$A:$W,1,0)),"",IF(VLOOKUP($B4,'010問合せDATA'!$A:$W,12,0)="","",VLOOKUP($B4,'010問合せDATA'!$A:$W,12,0)&" ")&IF(VLOOKUP($B4,'010問合せDATA'!$A:$W,13,0)="","",VLOOKUP($B4,'010問合せDATA'!$A:$W,13,0)&" ")&IF(AND(VLOOKUP($B4,'010問合せDATA'!$A:$W,12,0)<>"",VLOOKUP($B4,'010問合せDATA'!$A:$W,13,0)<>""),"泊",""))」 12も13も同じVLOOKUPなのでISERRORで見つかったか判断、エラーだったら"" そうじゃなかったら表示するIF(3つのIFをつなぐ)としました。 参考にIFの入れ子(ネスト)は次のように考えると楽ですよ。 FIF(条件1,"",式1)・・・一番外側のIF ↓ IF(条件2,"",式2)・・・入れ子にしたいIF ↓ FIF(条件1,IF(条件2,"",式2),式1) ↓ どんどん増やします >2つのデータを返し、それに"泊"を足しています。 すいません。見落としていました。

et9985ap
質問者

お礼

>toshi_2010さん 返信が遅くなり、申し訳ありませんでした! 細かなご指導ありがとうございました! 複合関数は複雑で難しいですね… でも何とかなりそうです!頑張ってやってみます! お忙しい中、何度もご教示下しまして、 本当にありがとうございましたm(__)m

関連するQ&A

  • EXCEL セル内の一部文字色を太字にしたい。

    EXCEL2003を使用しています。 アンケートの集計を行っています。 C・D・E列にコメントが入力されています。 その列それぞれのセル内の一部が、赤・青・緑と色分けされているので、その色の付いた文字を太字に変えたいのですが、どうしたらいいのでしょうか? 使用している色は、黒・赤・青・緑です。 VBAで変えられそうですが、全くわかりませんので、ご回答の程、どうぞよろしくお願いいたします。 また、色の数値の出し方も併せて教えてください。

  • Excelのセル内の文字列の文字色変更について

    申し訳ございません、どなたか教えていただけないでしょうか。 エクセルのセル内の文字列を、ある特定の文字列の時に文字色を変えたい。 例えば、赤、青、黄、桃、緑という文字列をセルの中に入れた時、 その文字の色がそれぞれ、 「赤」の時:赤色の文字色 「青」の時:青色の文字色 「黄」の時:黄色の文字色 「桃」の時:桃色の文字色 「緑」の時:緑色の文字色 というように自動的に設定をしたいのです。 条件付き書式では、3種類までならできますが、4種類以上だとダメですよね。 できればマクロではなく、セルの書式設定「ユーザー定義」で設定したいのですが、 公式はございますでしょうか。 数値によって色を変更する方法は、いろいろなサイトで確認しましたが、 文字列で色を変えるという方法がなかったもので質問をいたしました。 よろしくお願いいたします。

  • EXCEL VBA 別シートの文字をシート内で検索

    excel2003 VBAで SHEET2に格納されているセルの文字をSHEET1のB列1~9000程度までの文字列の中で一致または部分一致するものがあればそのセル(B列のセル)をSHEET3に順次A列に出力したいのですが、うまくできません。SHEET2に格納されている場所はA列で(SHEET1、SHEET2の文字とも増える可能性あり) 宜しくお願いします。

  • エクセル(VBA) 検索条件に文字色を含める

    エクセルについて質問です。 エクセルのバージョンは2007を使用しています。 基本的にはCOUNTIFS関数やSUMPRODUCT関数の考え方で複数条件を満たすセルの個数を数えたいのですが その検索条件のうちのいくつか(正確には3つの列)において、特定文字が何色かを見たいのです。 具体的には下の添付ファイルの備考A~備考Cの列のように、その3つの列のセルの中にそれぞれ黒文字(自動)、黒文字(自動)太字、赤文字、青文字が混在しており、その文字列の羅列の規則性としては 1.セル内の文字列は必ず、上で挙げた4種のフォントスタイルのうちのいずれかの # で始まる。 2.#A #B #C (#D) のように、セル内の文字列は一連の小文字列が半角スペースで区切られているとともにその一連の小文字列の最初の文字は必ず # もしくは (# であり、またその一連の小文字列は同一色同一の太さである。 3.(#A) のような、() で囲んだ一連の小文字列は黒文字(自動)スタイルだけであり、また1.でも述べたようにセル中の文字列の最初に来ることはない。 となっております。 そこでそれぞれの列について、黒文字(自動)もしくは黒文字(自動)太字もしくは青文字の # で始まるセルを検索し(つまり赤文字の # で始まるセルと何も記述のない空白のセルを除く)、 その3列を and もしくは or 条件で組み合わせ、更に1、2個条件を加えて該当する行の数をCOUNTIFS関数やSUMPRODUCT関数のように数え、返したいと思っております。 恐らくVBAを利用することとなると思います。まだまだVBAを自分で一から構築することは難しいのですが、ある程度VBAを読み解き理解していくことは可能なレベルですので、どうか大まかな構文の枠組みだけでもご教授いただけると幸いです。 よろしくお願いいたします。

  • エクセルで、文字の完全一致ではなく、文字の一部が含まれているかをチェックする方法

    質問させてください。 エクセルのA列の文字の一部に、B列の文字が含まれているかどうか、 をチェックする数式を教えて頂けないでしょうか。 例えば、 A列:「赤 青」、「白 黄」、「緑 黒」 B列:「赤」「青」「黒」 この場合、A列の「赤 青」と「緑 黒」のセルの横に○、 というようにしたいのですが。。 VLOOKやCOUNTIFでは、“文字の一部”というのはチェックできないようで、 かつ、LEFTやRIGHTも使いづらい場合です。 きっと簡単な数式があるのでは、と思いお尋ねしました。 どうぞ宜しくお願い致します。

  • VBAマクロ・・同一セルの検索と検索したセルの操作

    VBAマクロ・・同一セルの検索と検索したセルの操作  VBAのほぼ初心者です。  決められたセル(たとえばE100)に入力された文字列と同一の文字列を その列内の上(E1~E99)で検索する。 そして、検索できれば(たとえばE30)そのセルがある行(行30)を削除する。 なお、複数検索されれば、検索されたすべてのセルに対応する行を削除する。  というようなことをVBAのマクロで作成したいです。 FindメソッドとDo..Loop Whileを使って試行錯誤してみたのですが、うまくいきません。。  いい方法があれば、是非教えていただきたいです。  どうぞよろしくお願いいたします。

  • VBA 文字列→検索→置き換え

    Excel 2007です。 VBAで、特定のレンジのセルから、特定のセルに入った文字列を検索して削除するにはどうしたらよいでしょうか? 具体的にはB2:B100の中にあるA1セル内の文字列を削除する。といった感じです。 よろしくお願い致します。

  • vbaで文字列の件

    お世話になります。 エクセルVBAで、文字列の右から何文字列目以降を 緑色に着色したいのですが、どうしたら良いか分かりません。 offsetで隣のセルに切り出してから着色とかは出来たのですが・・、 どなたかご教授下さい。 宜しくお願い申し上げます。

  • エクセルVBAで、文字列の検索方法について

    先日、こちらで教えていただいたVBAがあります。 E列のセルの文字列の末尾が「計」のものを検索し、その行に色をつけるものです。 Sub iroiro() Dim x, y x = 1 Do If Right(Cells(x, 5), 1) = "計" Then For i = 2 To 5 Cells(x, i).Interior.ColorIndex = 3 Next End If x = x + 1 Loop Until Right(Cells(x, 5), 1) = "" End Sub これはばっちりで、助かっているのですが、今度は末尾ではなく、文字列中に「営業」という文字があるのを検索し、色をつけたいのです。 If Right(Cells(x, 5), 1) = "計" Thenを どう変えればいいのでしょうか?

  • エクセルVBA 検索クリア

    こんにちは! なかなか思うようには行かず… ご教示頂けませんでしょうか? エクセルのSheet内の様々なセルに文字や数値が混在しているものがあります。    A  B  C  D  E 1  35  〇  0  3名  30 2  20      0  0名  25 3  25  〇  3   名    5 4  13  〇  1  10名  10 5  20  ×  0   名   6 このような表の中のB5の"×"だけクリアする C1、C2、C5の"0"だけクリアする D3、D5の"名"だけクリアする というように該当文字or数字を完全一致したもののみクリア Sheet内を検索し、終了したら次の条件を検索というように、 複数の条件で行いたいのですが、どのようにすれば良いかがわかりません… 関数でもできるような気がしますが、他にも沢山のファイルがあり、毎回同じように整理をしなければならないので、VBAでできればと考えております。 どなたかお分かりの方、お教え下さいm(__)m よろしくお願いします!