• 締切済み

セルの照合と列の削除

以下のようにデータの整理をしたいのですが、関数やマクロで処理できませんか? 良い方法があれば宜しくご指導お願い致します。 B1とB2が同じなら、C2をD1にコピーして2列を削除 但し、D1が空白で無い場合はE1に E1も空白で無い場合はF1に F1も空白で無い場合はG1に…以下続く… と言うようなものです。 どうぞ宜しくお願い致します。

みんなの回答

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

マクロですがとりあえず順に If Range("B1") = Range("B2") Then これは分かりますよね 次に1行目の空白セルをD列から探していく方法ですが i = 4 While Cells(1, i) <> "" i = i + 1 Wend で空白セルを探し出して Cells(1, i) = Range("C2") でC2の内容をコピー 削除するのがどこなのかがいまいち分からないので後はご自分で工夫を

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

VBAで出来ますが、表現に曖昧なところがあります。 > B1とB2が同じなら、C2をD1にコピーして2列を削除 「値」が同じなら という意味ですね? 「2列を削除」って AとB列ですか?  正確に表現しましょうね。 関数で、列削除なんてことは出来ません。 VBAは、経験ありますか?

luxury-9
質問者

補足

レスありがとうございます。 2列ではなくて、2行の間違いでした。 VBAはなんとなくしか解りません。 作っていただいたものを貼り付けた程度です。 if文を使えば出来るのだろうという程度の認識です。 IF B1とB2が が等しければ if D1 が空白であれば C2をD1へ if E1 が空白であれば C2をE1へ if F1 が空白であれば C2をF1へ    以下、希望のセル分だけ書く 2行削除 ELSE 何もしない みたいな感じですが、EXCELのマクロにどう書けば良いのかまったくわからず質問させていただきました。 ご指導いただければ幸いです。どうぞ宜しくお願い致します。

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

こんばんは。 関数でもマクロでも無理ですよ。 いったい、どこまで続ける気ですか。 申し訳ないですが、地道にやって頂くしかありません。

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

関連するQ&A

  • エクセルと照合について

    エクセルと照合について 工場に勤務していて、シフト表と給与計算をしています。 エクセルの表がうまく貼りつけられず(列がずれるため)、縦書きですいません。 以下はシート1です。 出勤予定表(A1) Aさん(A2) 1/1(B1)←1/1は日付です。 1(B2) 1/2(C1) 空欄(C2)←休日のことです。 1/3(D1) 3(D2) 1/4(E1) 空欄(E2) 1/5(F1) 1(F2) 1/6(G1) 3(G2) 以下BさんからEさんまで5人分あります。 以下は勤務時間コードです。 1 5:00~13:00 2 8:00~15:00 3 13:00~21:00 以下はシート2に作成している、実際の出勤日です。 Aさん(A2) 1/1(B1)←1/1は日付です。 5:00~13:00(B2) 1/2(C1) 空欄(C2)←休日のことです。 1/3(D1) 13:00~21:00(D2) 1/4(E1) 空欄(C2) 1/5(F1) 5:00~13:00(F2) 1/6(G1) 13:00~21:00(G2) 他にBさんからEさんまで、シート3からシート6まで作成しています。 要は二つのシートをマクロか関数かであっているかどうか照合したのですが、できるのでしょうか。 目視はできるだけ避けたいです。 超初心者ですいません。 お願いします。

  • エクセル関数で、2列の情報を1列に順番に並べたい

    以下の元データのようにA~D列にある情報を、 下方のE列、F列にあるように情報を合わせて表示したい場合、 E列、F列にはどのような関数を入れたらよいでしょうか。 COUNTIFやVLOOKUP関数を試してみましたが、 うまく順番に並べることができず途方に暮れています。。。 どなたかお知恵がある方、マクロではなく関数で 教えていただけたらありがたいです。 ※A列はB列の情報番号、C列はD列の情報番号です。 ↓元データ↓ A  B    C   D 1 みかん  1 あ 1 みかん  2 い 1 みかん  3 う 2 りんご   4 え 2 りんご   5 お 3 すいか  6 か 3 すいか  7 き 3 すいか  8 く 3 すいか  9 け ↓このようにしたいです。↓ A  B    C  D   E  F 1 みかん  1  あ    1  みかん 1 みかん  2  い    1  あ 1 みかん  3  う    2  い 2 りんご   4  え    3  う 2 りんご   5  お    2  りんご 3 すいか  6  か    4  え 3 すいか  7  き    5  お 3 すいか  8  く     3  すいか 3 すいか  9  け    6  か                 7  き                 8  く                  9  け 何とぞよろしくお願いします。

  • エクセルでのデータの照合

    お世話になります。WindowsXPエクセル2003を使っているマクロ初心者です。 A B C D E F G 1 2 3  1 2 2 2 3 4  2 3 4 3 4 5  2 4 5 4 5 6  4 4 6 5 6 7  5 6 8 (左グループを元データ、右グループを加工データとします) A列とE列・B列とF列・C列とG列…という流れでデータを比較し、 元データと値の違うセルの色を変え、赤の太字にするようなマクロを作るには どのように書けばいいのでしょうか。 上記例の場合では、E3・F5・G2・G7のセルを変化したいということになります。 条件付書式でも試してみたのですが、なかなかうまくいかなかったため、 これからマクロに触れる機会も増えることを考えて、マクロで対応したく思い、 連絡させていただきました。宜しくお願いいします^^

  • 文字列を分割したい。

    (A1)のセルにある文字列は、数個の文字列をスペース(半角)を開けて配置しています。 (2行目以下も同様の多種の文字列があります。) サンプル 「学校 東京 神奈川県横浜市 ABC アメリカ」 これを、 1行目のセルに関数を用いて、 (B1)に「学校」 (C1)に「東京」 (D1)に「神奈川県横浜市」 (E1)に「ABC」 (F1)に「アメリカ」 と表示したいのです。 関数で処理できましたら、その関数式を教えてください。 関数で処理できない場合は、マクロを教えていただければありがたいです。 よろしくお願いします。 ※エクセルの「区切り位置]機能を試しましたが、うまくいかないようです。

  • 空白セルの削除

    A列に得意先、B列に金額が入力されています B列の8行目と13行目が空白です この空白セルを対象にその行を削除する関数はありますか 要するに金額欄の空白セルを読み取りその行全体を削除する関数が知りたいのです よろしくご指導ください

  • 関数で、最大値のあるセルの列を表示したい

    エクセルの関数について教えてください。 セルH1に関数を使って、列A、列C、列E、列Gの最大値を出しました。 その下のH2のセルに、関数を使って、列A、列C、列E、列Fの最大値のある列(A,B,C,Dのいずれか)を表記させたいのですが(下記のように)、可能でしょうか?   A B C D E F G H 1 10 ※ 28 ※ 66 ※ 26 99 2 56 ※ 29 ※ 89 ※ 28 A 3 99 ※ 12 ※ 66 ※ 10 (列Hが上記のようになるようにしたいのです。)

  • マクロ【複雑照合】

    いつも大変御世話になっております。 【D:\test】フォルダ内に、1つのエクセルファイル(Excel2003)があります。 エクセル内にはシート名【test】があります。 以下のような表があります。 A B C D E 1 test gg gg test 2 abc cbl java pld 3 ldf java kdjf abc 4 ieke java java ieke 項目A列・B列とD列・E列は項目が逆です。C列は未入力。 2行目からスタートし、項目A列・B列とE列・D列の値を比較し、文字列を照合します。 一致していないのは該当箇所に色(赤色)をぬる。 (上記表の場合、A2・B2・D2・E2・A3・B3・D3・E3) また1行目は必ず固定です。 ワークシート関数ではなく、マクロで実現していのです。 何卒、宜しくお願い致します。

  • VBAで別々の2列のセルに色付け

    WINDOWS XP EXCELL 2003です。 いつもお世話になります。 参照図で A~D と E~H に分けています。 A2 数式が  =IF(B2="","",TEXT(B2,"mm")) E2 数式が  =IF(F2="","",TEXT(F2,"mm")) それぞれには 1(月)から12(月)です。 ※ 数値のみで 月 は含まれません。                      ユーザー定義 mm/dd です。   御指導を仰ぎたいのは A列 と E列 のセルの色づけのマクロを教えていただけませんか。 色コードは後で私が追加します。

  • マクロ【特定の列同士の比較方法】

    いつも大変御世話になります。 【D:\test】フォルダ内に、1つのエクセルファイル(Excel2003)があります。 ・エクセルファイル名は【test.xls】。 ・シート【起動シート】と【test】があります。 今回悩んでいるのはシート名【起動シート】内にあるマクロボタンに入れるマクロです。 理想の処理は以下のようになります。 シート【test】には以下のような文字が入力されています。      A     B     C     D  ←列 1        GoodList      BadList  2         L2008       L2009 3         L2009       L2015 4         L2010         5         L2015         6         L2030 ↑行 このB列のL~が入力されているセルと、D列ののL~が入力されているセルの文字を比較し、 D列に入っているセル文字と一致したら、B列のそれと同じ文字が入力されているセル文字を消す。 つまり上記例だと以下のようになります。      A     B     C     D  ←列 1        GoodList      BadList  2         L2008       L2009 3          (空白)       L2015 4         L2010         5          (空白) 6         L2030             さらにそのB列で消えたセル(この場合B3とB5)を空白部分を上に詰めて以下のようにする。              A     B     C     D  ←列 1        GoodList       BadList  2         L2008        L2009 3         L2010        L2015 4         L2030                  5        6                      このようなマクロは可能でしょうか?関数ではなく、ぜひマクロで実施したいです。 ちなみに、C列には関係のない文字が入力されていますが、ここでは省略しております。 あくまで比較対象はB列とD列です。 ネット上に情報があるかと思い調べましたが、なかなかそういった処理方法にはであえませんでした。 何か簡単なサンプルコードをご教授願いますでしょうか? 余りにも初歩的な質問で申し訳ありませんが、宜しくお願い致します。

  • VBA特定セルの値により、他のセルの値を変更する

    いつもお世話になっております。 以下のような表で・・・       {A}     {B}  {C}   {D}   {E}   {F}    {G}    {H}    {I}   {J}    {K} {1} 氏名  住所  電話   1月   3月   7月   10月   処理(1) 処理(2) 処理(3) 処理(4)    {2} A     XXX  000-00  (1)   (2)   (3)    (4)   1月   3月   7月  10月 {3} B  TTT    000-0  空白   (1)    (1)    空白  3月   空白   空白  空白 {4} C  GGG    010   空白   (3)    (4)    空白  空白   空白 3月  7月 A~Cには氏名・住所・電話 がはいっており、D~Gには月がはいっており、H~Kには処理の名前が入っています。1行目は見出しです。 (H列以降、処理は増える可能性あり。) マクロで、(H2:KのlastRow = Cells(65536, "A").End(xlUp).Row)までに、その処理が何月に行われたかを入れたいのですが、 DEFGが(1)-(2)-(3)-(4) の場合、HIJK には1月-3月-7月-10月と入り、 DEFGが□-(1)-□-□ の場合、HIJK には3月-□-□-□と入り、 DEFGが□-(2)-□-□ の場合、HIJK には□-3月-□-□と入り、 DEFGが□-□-(4)-(4) の場合、HIJK には□-□-7月-□と入るようにマクロを組みたいのです。 (□は空白です。) 自分でも何度も組んでいるのですがエラーも出ずで、まったく動かず・・・ どなたかご教授ください。おねがいします!!!

このQ&Aのポイント
  • スキャンできませんAFのエラーが表示され、エラーメッセージの対応手順を試しても改善されません。
  • コピー/スキャン以外の操作は正常に動作します。
  • 使用環境はWindows10で無線LAN接続、関連するソフトやアプリはありません。
回答を見る

専門家に質問してみよう