[[20150730235836]] 『オートフィルターで抽出したセルをコピーして別の』(JA2136Ka-8) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートフィルターで抽出したセルをコピーして別のブックに貼り付けたい』(JA2136Ka-8)

こんばんは。

大変困っているので夜中ですが質問させて頂きます。
3万近くの日付のレコードがあります。
このうち別のブックにない日付を検索して抽出、その日付にひもづいたデータを取り出して(全部で3000件ほど)、もう一つ別のブックに貼り付けたいのです。

たくさんデータがあるのと、3000件のレコードにひもづいたデータが全て同じシートにあるわけではないのです。
24枚ほどのシートに分かれており、これを一々VLOOKUPを使って取り出すのは大変かと思い、VBAで処理できないかご相談させて頂きたいと思いました。
どうもファイルが具合が悪いのか、VLOOKUPで引っ張って来た返り値が再計算するところころ変わってどれが正しいのかわからなくなったので、直接関数を書き込むのでなく、VBAのワークシート関数を使った方がうまく処理できませんでしょうか?

例えば抽出した検索値のあるブックを仮にm・7.28、検索するブックをALL(24枚からなるシート構成)、貼り付けるブックをATとします。
m.7.28のブックのC列に検索値、その隣D列に元データの日付を文字列に変換した数字(20110331)があり、C列にNAが返っている行のD列の数字を取り出して、ブックATのD
列に貼り付ける(こちらのブックもどのシートにも5000レコードほどデータが入っており最終行を取得して後貼り付ける事になります)
その後、その貼り付けた値に呼応するデータ(15列ほど)をブックALLの1〜24のシートからそれぞれ検索して、先ほどのATのブックに引っ張ってくる。
というのが可能であれば嬉しいなあと思ってご質問させて頂きました。
何分、今日詳細聞いたばかりなのですが、諸般の事情により、今週中にという上の方のご意向です。
(システムの切り替えによる作業のため日程がギリギリらしいのです)
勝手なお願いなのですが、何とかできそうでしたらお願致します。
最悪来週頭にこれが運用できたらいいのかなというところです。
無論手作業でVLOOKUPで、全て入力してみるつもりではおりますが、より確実性が高い方法としてこれができたら、こちらも試してみたいと思っております。

いつもいつも勉強不足を棚にあげ、困った時のExcelの学校頼みばかりで申し訳ございませんが、何卒よろしくお願い申し上げます。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


説明不足でよくわかりません。

こういうときは、簡単なサンプルを提示することが有効です。
それを使って説明する過程で、説明もれになっている点が明確になるはずです。
急いでいるならなおのこと、明確な説明が必要です。

事前のデータはこれこれで、
得たい結果はこういう形になる、
という説明をしてください。

もちろん、すべてのシートのすべてのデータを示す必要はなく、
簡略なもので結構です。

(γ) 2015/07/31(金) 02:55


 > m.7.28のブックのC列に検索値、その隣D列に元データの日付を文字列に変換した数字(20110331)があり、C列にNAが返っている行のD列の数字を取り出して、ブックATのD 
 > 列に貼り付ける(こちらのブックもどのシートにも5000レコードほどデータが入っており最終行を取得して後貼り付ける事になります) 
 > その後、その貼り付けた値に呼応するデータ(15列ほど)をブックALLの1〜24のシートからそれぞれ検索して、先ほどのATのブックに引っ張ってくる。 

 改行に気をつけたり、箇条書きを使うとかもうすこし読みやすい文章にするよう、
 心がけた方が良いと思います。

 不明点。
 1.「C列に検索値」と「C列にNAが返っている行」の関係が不明。
    検索する値なのか、計算結果なのか。
    どんな式なのか。

 2. 「こちらのブックもどのシートにも5000レコードほどデータが入っており、
     最終行を取得して後貼り付ける事になります」
    どのシートに、どういうロジックで入れるのか不明。

 3.「その貼り付けた値に呼応するデータ(15列ほど)」
   「呼応する」というのが説明不足。

 4.「ブックALLの1〜24のシートからそれぞれ検索して、先ほどのATのブックに引っ張ってくる。」
    何をキーにして検索するのか。 
    マッチしなかったのではないのか。

 5.タイトルの「オートフィルタ」との関係

 議論はひとつのスレッドで展開したほうが混乱しないと思います。

 なお、私は日中はアクセスしませんので、悪しからず。

(γ) 2015/07/31(金) 06:28


γ様

おはようございます。
そうですね。
うっかりしておりました。

まず検索するために作ったm.7.28のブックの構成
シートは1枚で
A列(以下列略) B       C     D
201A20110630  20110630   #N/A  20110630  ○○○○
202A20131115  20131115   #N/A  20131115
214A20100927  20100927   37267

A列は商品番号と日付を&で結びつけたキーナンバー
B列はそこから日付だけ取り出したもの
C列はそれと同じコードが貼り付ける予定のATのブックにあるかどうかを
VLOOKUPで検索した結果です。

#N/Aで返ってきている結果が多く、その行が必要です。
検索した結果、既に存在する行は何故だかわかりませんが、シリアル値で
37267とかの結果で返してきます。
この行については必要ありません。
D列はB列の結果をTEXT関数を使って取り出した数字です
E列は必要ないので省略します。

#N/Aで返ってきている行が必要なので、こちらのC列に#N/Aと
返っている行のD列のテキスト化した数字をブックATに貼り付けたいのです。
そこでオートフィルターをかけて#N/Aの行だけ取り出して
そのD列をコピーして貼り付けたいのでタイトルに
オートフィルターと入れさせて頂きました。
説明不足で申し訳ございません。

以下貼り付けるブックATの配列
A   B    C    D     E     F G
○○ ○○  10015  20140508  2   00:59   ○○
○○ ○○       20091023 3 01: 10  ○○

G列より先にもずらっとAMとかぐらいまでデータ入っていますが、
必要でないので割愛。
このAtのブックのD列に先ほどのm.7.28からコピーしたD列を
貼付たいのです。
ただ、既に1万件以上のデータが入っておりますので、その
最終行を取得して、次の行のD列に貼り付ける。
その後、このD列をキーにして、ALLのブックに
詳細データを取りに行きます。

以下ALLの詳細
シートは25枚ほどあり、必要なのはその内201〜224です(210が欠番なので
209の次は211となります)
その1枚1枚のシートの中のB列が検索値(20110630等)が
入っています。
その検索値をもとにC列からQ列までの値が欲しい。
シート1枚ずつに大体1500〜5000のデータが入っていますが
合致するのはシート24枚分で3000レコードですから
そう多くはないはずです。
201A20110630なら201のシートですので
そこから引っ張ってくる。
202A20131115なら204のシートから探す。

という感じです。
取って来たデータを先ほどのATのブックの
E列から右に並べたいのです。

以下ALLの配列
A    B    C    D    E    F
    20110630  2   00:59  ○○   ○○
10025  20150228 3 01:15 ○○   ○○
    20141204 4 00:48 ○○   ○○

という感じです、
B列をキーにしてQ列ぐらいまで取り出せたら嬉しいです。

201〜224まで全てのシートが同じ配列で
並んでいます。

無事にATに貼り付けた後に、今度はB列を
キーにしてA列も取って来たいのですが、
こちらもできましたらご教示頂けましたらありがたいです。

ずらずらと並べましたが
お手すきでいらっしゃいましたらお助け下さいませ。

遅くなって申し訳ございませんが、よろしくお願い致します。

以上、分かりづらい説明で申し訳ないのですが、
今自宅からこれを書いております。
諸般の事情により、会社で私のパソコンは
ネットにつなげれない環境です。
スマホでついたスレを見ますので、
何とかよろしくお願い致します。

(JA2136Ka-8) 2015/07/31(金) 07:50


 >A列は商品番号と日付を&で結びつけたキーナンバー 

 1.このキーの元になっている、商品番号と日付はどこにあったのですか?

   多分、ATブックだと思うのですけど、説明ではATブックに商品番号の項目は見当たりません。
   推測ではA列かB列なのかと思うのですが、実際はどうなんですか?

 2.各ブックの1行目がデータから始まっていますが、タイトル行は無いのですか?

(半平太) 2015/07/31(金) 13:51


 >   多分、ATブックだと思うのですけど、説明ではATブックに商品番号の項目は見当たりません。
 >   推測ではA列かB列なのかと思うのですが、実際はどうなんですか?

 済みません、この推測は間違いですね。。。m(__)m

 ですが、ATブックに商品番号の項目は無いのですか?(無いとおかしいと思っているのですが・・)

(半平太) 2015/07/31(金) 14:17


γ様
半平太様

こんにちは。
こちら、少し急ぎだったので時間がないから、やり方を変えるよう指示がありました。
ATのブックに全部のデータをコピーして、上部に既に入っているデータと照合し、
重複データを除くというものです。
この重複データの削除について新たにスレッドを立てようと思いますので
こちら一旦クローズさせて頂きますのでよろしくお願い致します。

お騒がせ致しました。

(JA2136Ka-8) 2015/07/31(金) 14:52


 暫定解決したようですね。

 以下は感想ですので、コメント不要です。

 追記で説明いただいたのはよかったのですが、
 2015/07/31(金) 06:28でお聞ききした不明点の1.2.について
 回答がなかったのが残念。
 #N/Aとなっている部分がそもそも正しいのか不安はありました。
 また、複数シートがあるATブックの構造の説明がなく、
 こうした肝心なところの説明がなかったことが、
 皆さんからのコメントが少なかった理由でしょう。

 また、ALLブックは商品別のシートになっているなら
 質問の最初からそう説明されると明確だったですね。
 > 202A20131115なら204のシートから探す。 
 は誤記かな。
(γ) 2015/08/01(土) 07:07

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.