- ベストアンサー
EXCElで特定の文字列の行をコピー
下記のようなシートがあります。 列A~K 行1~80程度 列は変わることがありません。 行はデータ量によって40~80くらいまで変動します。 この中の特定の行をコピーして他のシートにペーストしたいのです。 コピーしたい行のK列は430という数字が入ります。 K列には430以外の数字も入ることがあります。 また、コピーしたい行の範囲は「開始」という文字列から「小計」 と言う文字列の間です。(小計の後の行にも430という数字が出てきます) マクロを使えば出来ると言うことは聞いたのですが、ヘルプを見ても よくわかりません。 わかる方いましたら是非ご教授下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 L2へ下記の式を入力します。 =IF(L1,IF(B1<>"小計",L1),B2="開始") M2へ下記の式を入力します。 =IF(L2,K2=430) L2とM2を選択し、データがある分だけ式を下へコピーします。(100行目位まで?) フィルタ機能を使用し、M列で「TRUE」を選択します。 これでは如何でしょうか?
その他の回答 (2)
- mitarashi
- ベストアンサー率59% (574/965)
>また、コピーしたい行の範囲は「開始」という文字列から >「小計」と言う文字列の間です。 開始、小計という文字列はK列に入っているのでしょうか?別の列でしょうか。 開始、小計という行の間は、K列の値は全て430なのでしょうか? >(小計の後の行にも430という数字が出てきます) とすると、この記述と矛盾します。 OKWaveで表の体裁を表現するのは面倒ですが、それをしていただかないと、何をなさりたいかが正確に理解できません。
補足
すいません、情報が不完全でしたね。 開始、小計の文字列はB列に入っています。 K列に入っているのは部品番号でこのシートでは3種類あります。(430,466、1143) 小計の文字列の後には再掲の形で同じく430という部品番号が出てきますがこれを入れてしまうと合計が重複してしまうのです。 まとめますと以下のようになります。 列Bに入っている開始と言う文字列より小計という文字列までの間の行の列Kに入っている430という数字の行をコピーしたい。 と言うことです。よろしくお願いします。
- saburo0
- ベストアンサー率35% (76/216)
基本的にマクロは、質問者様にプログラミング技術が無ければ使いこなせないと思います。 フィルタ機能の使うのは如何でしょうか? K列を選択した状態で、メニューバーより 「データ(D)」-「フィルタ(F)」-「オートフィルタ(F)」を選択して頂くと、 プルダウンメニュー(▼)が出てきます。 そこから「430」を選択して頂くと、その行だけが選択されます。そこからコピーされてはいかがでしょうか。
補足
そうですね、マクロのスキルがないのにマクロでやろうという前提が 無理がありますね。 オートフィルタも考えたのですが、コピーしたい「430」の行以外にも 「430」が入っている行があるのでそれだと合計値が違ってきてしまうのです。 マクロ以外でも結果が出ればいいのですがそれも思いつかなくて.... いい方法があれば是非教えてください。
お礼
ありがとうございました。 おかげさまでうまくいきました。 マクロを使わなくてもけっこうできるもんですね。 本当に助かりました。