[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『[[20060524130237]]の差分方法の応用を教えてください』(みりん)
おしえてください。 [[20060524130237]]でチョコさんが質問した↓
「教えてください。
A列に数字が2500件書いてあります。 B列にも同様な数字が2000件 C列にA列からB列にない数字を結果としたかたちで表示できるようにするには どうすれば良いでしょうか?」
を応用した
A列に日付 B列に数字 で成り立つデータと C列に数字 D列にID(数字) E列に文字 で成り立つデータから B列CE列で差分をかけて結果を F列に→A列の日付 G列に→B列の数字 H列に→D列のID(数字) が結果として出てくるようにしたい
・・・・のですがやり方がわかりませんでした。 是非、ご教示いただけると助かります。 よろしくお願い致します。
データ量は5000件程度です。
こちらも参考になるかもしれませんので、ご覧下さい。↓ (LOOKUP) [[20050224120843]]『リスト1とリスト2を比較して無いものを抽出』(ヨロ)
すみませんいまきづいたのですが 差分じゃなくって、同じ数字データを表示するでした。 すみません。[[20060524130237]]の応用ではないですね。間違えてしまったです。
改めてですが↓
A列に数字 B列にID(数字) C列に文字 で成り立つデータと E列に日付 F列に数字 で成り立つデータから A列とF列で同じ数字がある結果を F列に→E列の日付 G列に→F列またはA列の数字(A列とF列は一致だと思ったので) H列に→B列のID(数字) をひょうじする でした。 ご迷惑おかけしますよろしくお願い致します。
フィルタオプションの検索条件は、不一致の場合も一致の場合も差異はわずかです。 =COUNTIF(……)=0の=0を削除しますと、一致したものが、抽出できると思います。 また、A列とF列の見出しを同じものを使用すれば、そのまま、F列が検索条件として、 利用できるようにも思います。 (LOOKUP)
ちょっとみりんさん、改めてですが↓のあと良く読み直してくらはい。 おかしいとおもいまへんか? つまりこれはF列にE列の日付を上書きするっちゅうことでっか? 諸肌脱いでお力添えをと勇んでみるものの、「ひょっとして間違いちゃうんかいな ぁ、折角ええのん提供してもまたやり直さなあかんのちゃうやろか」と、つい腰が引け てしまいまんがな(笑 差分のマクロを提供した手前、なんとか・・とは思いますけど・・・ (弥太郎)
LOOKUPさんありがとうございます。 弥太郎さんご指摘ありがとうございます。 たしかにおかしいですね。お・・お恥ずかしい限りです。
A列に数字 B列にID(数字) C列に文字 で成り立つデータと
D列に日付 E列に数字 で成り立つデータから A列とE列で同じ数字がある結果を F列に→D列の日付 G列に→E列またはA列の数字 H列に→B列のID(数字) をひょうじする
ですね。すみませんF列が重なってしまいました。
(みりん)
で、なんでっしゃろか、以下のようなデータが並んどるんでっか? またA列内に重複データ無し、E列内にも重複データなしと考えてもよろしいか?
A B C D E
1 No ID.No 氏名 日付 No
2 1111 0001 J.ウエイン 1/2 1113
3 1112 0002 K.ダグラス 1/4 1222
4 1113 0003 G.クーパー 1/5 1523
5 1114 0004 M.モンロー 2/1 1114
6 1115 0005 J.ディーン 2/10 1123
7 1116 0006 E.カトリーナ 2/20 1234
8 1117 0007 S.ローレン 2/22 1230
9 1118 0008 A.ドロン 3/1 1240
10 1119 0009 G.ペック 3/2 1120
11 1120 0010 K.ノバック 3/5 1155
(弥太郎)
A B C | D E
1 a@ ID 名 | 日付
2 123-1 01 みかん | 5月 122-2
3 161-2 02 りんご | 6月 123-1
4 122-2 03 めろん | 3月 126-2
5 121-1 04 すいか | 4月 121-1
6 124-1 05 とまと | 8月 125-1
|
↑名前リスト ↑登録月度リスト
A〜Cがひとつののデータ一覧で
D〜Eがもうひとつのデータ一覧といったかたちです。
A2の数字とE3の数字が同じものだとした場合だったら
結果として
F G H
1 日付 a@ ID
2 6月 123-1 01
と出るようにしたいのです。
お願い致します
(みりん)
こんな塩梅でっしゃろか?
但しあんまり検証しとりまへんから不具合があれば申してくださいまし(笑
標準モジュールへコピペします。
データを抽出したいセルにみりんと書いて(このばやいやとF1のセルに)
そのセルをアクティブにした状態でmacroAを実行してくらはい。
(弥太郎)
あ、それと抽出データ量が1500行を超えるようやとチョット手ぇを加えなあきまへん。
'-------------------------------
Option Explicit
Sub macroA()
Dim dic As Object, flag As Boolean
Dim i As Long, n As Long, j As Long
Dim tbl, key
If ActiveCell.Value <> "みりん" Then Exit Sub
tbl = Cells(2, 1).Resize(Cells(Rows.Count, 1).End(xlUp).Row - 1, 5).Value
Set dic = CreateObject("scripting.dictionary")
For i = 1 To UBound(tbl, 1)
If Not IsEmpty(tbl(i, 1)) Then
dic(tbl(i, 1)) = Array(tbl(i, 2))
End If
Next i
For Each key In dic.keys
flag = False
For i = 1 To UBound(tbl, 1)
If Not IsEmpty(tbl(i, 5)) Then
If key = tbl(i, 5) Then
dic(tbl(i, 5)) = Array(tbl(i, 4), tbl(i, 5), dic.Item(key)(0))
flag = True
Exit For
End If
End If
Next i
If Not flag Then dic.Remove key
Next key
If dic.Count > 0 Then
ActiveCell.Offset(1).Resize(dic.Count, 3) = Application. _
Transpose(Application.Transpose(dic.items))
End If
End Sub
弥太郎さんありがとうございました。 早速、教えていただいた手順お通り、F1を『みりん』にしてアクティブ状態でマクロ実行してみましたが メッセージボックスが表示されてしまいました(400と書いてありました) データ量は147行(タイトル業含む)でためしに行ってみたのですがだめだったようです。
すみません。ご迷惑おかけします。 (みりん)
本日はどうもスカッといきまへんなぁ・・・ぶつぶつ http://ryusendo.no-ip.com/cgi-bin/upload/upload.html ↑へ行って保存したうえ 試してくらはい。ちゃんと動きまっせぇ。 (弥太郎)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.