• ベストアンサー

指定した語句と隣のセルを空欄にする

語句を指定して、そのセルと、 そのセルの隣のセルを空欄にする。(削除してセルを詰めるではない) というのは、式でできますか?式でできないのであれば、マクロでできますか? 例: A1東京 B1渋谷 A2広島 B2福岡 ・ ・ ・ A1532東京 B1532渋谷 ・ ・ ・ いろんな語句が記入されている中、 「東京」を検索して、「東京」とその隣のセルを空欄にする。 Excel2016です。 よろしくお願いいたします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1614/2452)
回答No.1

A列で東京があればA列の該当行とその行の右隣りB列のデータを消します。Range("A:A")で調査範囲を指定しています。 Sub test() Dim mRng As Range For Each mRng In Range("A:A") If mRng.Value = "東京" Then mRng.Resize(1, 2).ClearContents End If Next End Sub

その他の回答 (1)

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

エクセルの関数は、「式を入れたセルの値」をその式の力で変えることはできません。 エクセルの関数の根本大原則です。 このことを思い至らない初心者が、こういう質問を時々出します。 該当するセルについて、同行の作業セルに印づけしたとしてもできないでしょう。 ーー VBAは作業中に変数にデータを1時保持できるのとか、指定しそのセルを狙い撃ちして、値を変えられるので、本件は検索の問題になり、簡単です。 別範囲にデータを持ってきて、そちらに望むものを作るなら簡単です。これなら質問しないだろう。 ーー A2:B10 東京 12 あ x い y う z え う 東京 23 あ v bb z cc w D2に式 =IF(A2="東京","",A2)を入れて下方向に式複写 E2に式 =IF(A2="東京","",B2) を入れて下方向に式複写 結果 D2:E10 あ x い y う z え う あ v bb z cc w

関連するQ&A

  • 《エクセル》 マクロ-セルの範囲指定の式

    いつもお世話になります。 2つお聞きしたいのですが、エクセルで、 ・「A列のデータのあるセル範囲のみを指定する」と、 ・「A列のデータのあるセル範囲の、隣(B列)のセルを指定する」 というマクロの式はどのように書けば良いのでしょうか。

  • エクセルのセル指定の際、どのセルの隣。など指定できますか?

    VLOOKUP関数の中で、通常はA4などセルの場所を指定していますが、例えば『A4の隣のセル』『B5の隣のセル』という指定の方法はできますか?

  • エクセルで、列の空欄に隣の列の数値を入れたい

    エクセル初心者です。関数を教えていただきたく質問をいたします。 A列に数値(電話番号)が入ったセルが並んでしますが、7個にひとつくらいの割合で空欄のセルがあります。 しかし隣のB列には、A列で空欄となっているセルの隣に数値(電話番号)がほぼ入っています。 そこで、A列で抜けている数値を、B列から移し、ほぼA列で事を済ませたく考えています。 どなたかご教授いただけないでしょうか。 A列もB列も空欄の行もあります。 オフィスは古く2003です。 どうぞよろしくお願いいたします。

  • セル参照で指定したセルの2つ隣のセルを表示

    お世話になります。 Excelにて、 例えばA1のセルに「=B5」と入力し、B5を参照します。 すると、A2のセルには参照したセル(B5)の2つ隣のセル(B7)を表示するようにしたいのですが、どうすれば良いでしょうか。 ご教示のほどお願いたします。

  • セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は?

    セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は? A1~P20の範囲に数字(0含む)と空欄が混在しております。 各横軸で合計値を求め、A~Pまで全て空欄だった場合は、空欄にしたいのですが、 SUMだと「0」と表示されてしまいます。 なお、計算範囲のセルが0と表示されている場合は、結果「0」と表示してかまいません。 ISBLANKで1つ1つのセルを指定していく方法もあるのですが、式が長くなってしまいます。 =IF(AND(ISBLANK(A1),ISBLANK(B1),ISBLANK(C1)・・・・・・),"",SUM(A1:P1)) もう少し短い式で上記のような計算ができる関数はあれば教えてください。

  • エクセルで複数語句の一括置換がしたい。

    1つのシートの複数のセルの中に文章が記入してあり、その中の文字を 一括で置換したいのです。 AAAA → BBBB 1234 → 5678 ○×△□ → ●×▲■ このように変更したい文字が数百とあります。 また、置換前の語句(セルA1~)と置換後の語句(セルB1~)というように エクセルの別のファイルに並べております。 どのようにすれば出来るのかお教え頂けませんでしょうか? もしマクロなどで出来るとしたら、初心者ですので細かいやり方などお教え頂けたらありがたいと思っております。 よろしくお願いいたします。

  • 空欄を表す関数

    エクセルです。 A列にいろいろな文字や数字が入っているとして、A1のセルが空欄なら、B1のセルに0を、そうでなければ1を返すようにしたいので、B1に=IF(A1=" ",0,1)という関数をいれてみました。すると、A1が空欄にもかかわらず、1と出てしまいます。 この関数が間違っているのでしょうが、自分ではわかりません。どこをどう直せばいいのか教えていただけますか。

  • IF = 0 Then 空欄と認識してくれない

    下記のように、$B4:$B28セルが全て空欄の際にマクロ1を実行しないようにしたいのですが、うまくいきません。 Sub マクロ() If Application.WorksheetFunction.CountA(Sheets("一覧").Range("$B4:$B28")) = 0 Then Exit Sub End If マクロ1 End Sub $B4:$B28には、実際は空欄ではなくて、=IF(Sheet2!A1="","",Sheet2!A1)の関数がずらーっと入っています。 表示上は空欄の時でも空欄とは認識されず、マクロ1が実行されてしまうのです。 マクロを実行したい時は、$B4:$B28のセルの一部、または全てのセルに4桁の数字が表示された時だけです。 $B4:$B28のIF関数を消して完全に空セルにすると正常に動作して、マクロ1が実行されずに済みます。 $B4:$B28にIF関数を入れたままで表示上空欄に見える状態でマクロ1を実行させないような条件出し として、0 Thenが不適切なのでしょうか。 マクロ実行有無の条件設定として、他に適切な方法があるのでしょうか。 Win7 64bit エクセル2010 宜しくお願いします。

  • エクセルで指定したセルがある条件になると指定したマクロが起動

    エクセルで指定したセルがある条件になると指定したマクロが起動 エクセルでシート1のセルB5の値が、文字の種類に限らず、 5ケタ以上になったら指定したマクロを起動させるように 出来ますでしょうか?

  • ファイル名を「任意のセル内容+指定した語句」にしたい

    エクセルのファイル名を 「ある決まったセルに入力された文字」+「こちらで指定した語句」に出来ないかと思っています。 例)セルA1にある文字「100200-01」、指定した語句「注文書」   結果「100200-01注文書」というファイル名がつく。 また、これを、保存先を指定しなく、それぞれ操作者が指定した保存先に保存することは可能でしょうか? 保存場所を任意で指定できないのであれば、 ファイルを保存する作業はしなくて、ファイル名だけつける処理のみでもよいです。「名前をつけて保存」のWINDOWが開いて、ファイル名欄にこちらの指定したファイル名が入った状態になるまでを自動化するというのでもいいです。 以上よろしくお願いいたします。

専門家に質問してみよう