• ベストアンサー

エクセルでの異なる列の数値検索及び結果の色付けについて

お世話になります。 エクセルにて例えば、以下のような場合に はどのようにすればよいのでしょうか?   A列 B列 1 800   2 500 3 300 4     800 5 200 6  0 7 100    8     300 9     500  このように左側にて出てきた数字が 右側にていつかは消える可能性が高いときに 左右で同値のものを色付けしたいのです。 さらに、毎月データを下に増やしていくので 色付けした部分は翌月の検索では引っかからない ようにしたいのです。 宜しくお願いいたします。

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

  • ベストアンサー
  • pc_knight
  • ベストアンサー率66% (52/78)
回答No.3

A列の各セルのデータを順次、B列の全セルのデータと総当りで照合し、両データが最初に一致した時、両セルに色塗りするような作業を自動化すれば実現できます。 (Step1) AltキーとF11キーを同時に押し挿入(I)標準モジュールを選択すると用意される「Module1」画面に末尾に記した「Sub syougou()」以降の行を貼り付けます。 (Step2) 照合・色塗りをさせたい時は、AltキーとF8キーを押しマクロ” syougou ”を選択、”実行”をクリックすれば照合・色塗りが自動的に行われ、終了すると”終了メッセージ”がでます。(1000件データの照合時間は大体1分弱で、照合時間は件数の二乗に比例) Sub syougou() Dim ra As Integer 'ra=A列セルの行No Dim rb As Integer 'ra=B列セルの行No For ra = 1 To Range("A65536").End(xlUp).Row If Cells(ra, 1) <> "" And Cells(ra, 1).Interior.ColorIndex = xlNone Then For rb = 1 To Range("B65536").End(xlUp).Row 'A列ra行データとB列rb行データの照合 If Cells(rb, 2) <> "" And Cells(rb, 2) = Cells(ra, 1) And Cells(rb, 2).Interior.ColorIndex = xlNone Then 'A列ra行データとB列rb行データが一致 Cells(ra, 1).Interior.ColorIndex = 35 'A列ra行セルに色塗り Cells(rb, 2).Interior.ColorIndex = 35 'B列rb行セルに色塗り Exit For End If Next rb End If Next ra MsgBox "照合終了" End Sub

keiri007
質問者

お礼

pc_knightさん、ご回答ありがとうございます。 マクロは初めてでしたが、コードを教えて頂き ましてありがとうございます。 実際にやってみましたが、すごい速さで照合 されました。 未収金の回収などなので一部回収などあると 完全照合にはなりませんが、そこは手動にて 消込したいと思います。 ご指導誠に感謝です。

その他の回答 (3)

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

この問題はエクセルの条件付き書式(関数のようなものが使える)では難しいと思います。 VBAなら何とかできそうか? ーーー 総勘定元帳の未収金ことが根底にあるらしいが、未収金元帳は、未収先別(口座管理)ではないですか。 それと未収金の回収は複数回回収となる、一部金回数があって、金額的に未収金計上時金額と回収金額は一致(1対1)は少ないのではないですか。 小生は実際回収状況の帳簿で、未収金側に済み印を押すのに苦労した経験が多い。 それに未収先や摘要欄記入がなどあって、それを頼りに考えるのでは 無いですか。単純では無いように思いますが。 ーーー そういう実態のことは別として、エクセル上の入力数字のもう少し色々なケースを例示して、(A列B列ともに?)色をつける条件を 文章で説明してみてください。 ーー >翌月の検索では引っかからない 翌月の表は別シートになるのですか6ヶ月とかは下行に連ねていくのですか。前月分をチェック対処からはずすのは、月単位で未収金は消えることになっているのでしょうか。 ーー この照合は1行限りの金額が頼りですよね。 A列  B列 800 ・・ ・・ ・・・ 800    800 の場合はどうする(どちらに色をつける)のか? 判らないことが多い。 ーーー (結論的なもの) A列対B列について その行までの 年月+金額で同じものの出現回数が同じならその行を色づけする。 となるのかな。 ーーー 例データ A2:C12 2 800 2 300 2 200 2 200 2 800 3 400 3 200 3 300 3 3 400 3 500 C2:C12を範囲指定 書式ー条件付書式 数式が 数式に =AND(C2<>"",COUNTIF($B$2:B2,C2)>0) セルに色づけ(など)の色指定 OK これでC列800、200のセルに色づけ。しかし200は月が違うので不可なれど回避法(解決)は難しい???

keiri007
質問者

お礼

imogasiさん、ご回答いただきありがとうございます。 関数ではやはり困難なのですね。 全てをエクセルで自動で消しこむのは難しそうなので 一部自動化を目指します。 ご指導ありがとうございました。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

経理についてよく分らないのですが..(^_^;) 要は、 A列とB列で、同じ数値があったらそれぞれに色をつける で、良いでしょうか? その場合、A(又はB)列内で同じ数値が複数有ったりはしないのでしょうか? >翌月の検索では引っかからないように 日付が入ったセルが有るのでしょうか?

keiri007
質問者

補足

たびたびすみません。 >A列とB列で、同じ数値があったらそれぞれに色をつける >で、良いでしょうか? その通りです。 >その場合、A(又はB)列内で同じ数値が複数有ったりはしないので >しょうか? たまに発生いたします。 なので一度色付けしたセルは飛ばして考えられると いいのですが。 >日付が入ったセルが有るのでしょうか? あります。 宜しくおねがいいたします。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

>右側にていつかは消える可能性が高いときに この意味が解からないのですが

keiri007
質問者

補足

質問が不明瞭ですみません。 >右側にていつかは消える可能性が高いときに ここの部分に関してはあまり意味なく書いておりました。 経理で使う総勘定元帳のデータをイメージしており 未収金の元帳データをエクセルに落とすと質問に 記載したようなデータ配列になります。 未収金なのでA列を借方・B列を貸方とすると未回収 部分は残ってしまいます。 その意味で「いつかは消える可能性が高い」= 「回収されるまでは残っている」という意味合いです。 以上のような状況になっております。 宜しくお願いいたします。

関連するQ&A