Sheet1のA列に特定の文字列が含まれている行のみ(列はAだけでなくCまで続きます)を抜き出して、Sheet2に書き出すにはどうすればよいでしょうか。行が1,000行以上あり、とても手作業では無理です。バージョンはExcel 2007です。できるだけ詳しくお願いします。
添付画像左側が、作業開始前のSheet1です。右側が完成後のSheet2です。A列に文字列「JP」を含む行だけを抜き出して、Sheet2を添付画像右側のようにしたいです。マーカーは不要です。
No.6
- 回答日時:
こんにちは!
一番簡単なのは1行目を項目行にしておけば、オートフィルタでA列の「JP」をキーにフィルタを掛け
表示されているデータをそのまま別シートにコピー&ペーストする方法だと思います。
別案としてVBAでの一例です。
元データはSheet1にあり、Sheet2に表示するとします。
ALT+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(ALT+F8キー → マクロ → マクロ実行です。)
Sub Sample1() '//この行から//
Dim myDic As Object
Dim i As Long, lastRow As Long
Dim myStr As String, wS As Worksheet
Dim myKey, myR, myAry
Set myDic = CreateObject("Scripting.Dictionary")
Set wS = Worksheets("Sheet2")
wS.Range("A:C").ClearContents
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
myR = Range(.Cells(1, "A"), .Cells(lastRow, "C"))
For i = 1 To UBound(myR, 1)
If myR(i, 1) = "JP" Then
myStr = myR(i, 1) & "_" & myR(i, 2) & "_" & myR(i, 3)
If Not myDic.exists(myStr) Then
myDic.Add myStr, ""
End If
End If
Next i
End With
myKey = myDic.keys
myR = Range(wS.Cells(1, "A"), wS.Cells(UBound(myKey) + 1, "C"))
For i = 0 To UBound(myKey)
myAry = Split(myKey(i), "_")
myR(i + 1, 1) = myAry(0)
myR(i + 1, 2) = myAry(1)
myR(i + 1, 3) = myAry(2)
Next i
Range(wS.Cells(1, "A"), wS.Cells(UBound(myKey) + 1, "C")) = myR
Set myDic = Nothing
wS.Activate
MsgBox "完了"
End Sub '//この行まで//
※ コードは長いですが、数万行のデータがあっても
ほとんど時間を要しないはずです。m(_ _)m
No.3
- 回答日時:
こんにちは
関数で解決する方法とマクロで行う方法とが考えられます。
ひとまず、関数の方を・・・
Sheet2のA1セルに
=IFERROR(INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A$1:$A$1000="JP",ROW($A$1:$A$1000)),ROW(A1))),"")
の式を入れて、Shift+Ctrl+Enterで確定。(←必須です)
確定後、必要な範囲に(右、下へ)フィルコピー。
・・・で、できると思います。
(↑の式は、ひとまず1~1000行までを対象にしてあります)
※ マクロの例は、どなたかが回答してくれるのをお待ちください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- 計算機科学 Excel ある行と列が交わったところにマークを付けるには 7 2023/01/24 08:46
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
一番最初にネットにつないだのはいつ?
ネットユーザーもいろんな世代が生まれていますが、始めて接続したときのワクワクは同じはず! 人生で一番最初にネットに接続したときの思い出を教えて下さい。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
【お題】 ・こんなおせち料理は嫌だ
-
店員も客も斜め上を行くデパートの福袋
シュールを通り越して店員も客も斜め上を行くデパートの福袋に入ってそうなものを教えて下さい。 よかったらレビューもしてください。
-
特定の文字列があったらその行をまるごと別シートに反映させたい
Excel(エクセル)
-
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
エクセルVBAで、ある指定した文字を含む行だけを選択したいのですが、、 例えば、1〜20行目までに"10823748"
Excel(エクセル)
-
-
4
エクセルVBA C列に特定の文字列を含む行のみを抽出し、一つのExcelにまとめたい。
Excel(エクセル)
-
5
エクセルVBAで、ある文字を含んでいたら別シートに抽出したい
Excel(エクセル)
-
6
指定した文字があった場合、その行を削除するマクロが欲しいです
Excel(エクセル)
-
7
エクセル VBA 特定文字がある行を別シートに移動
Visual Basic(VBA)
-
8
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
9
エクセルマクロ 特定の文字列を含む行のみを残す (マクロ修正)
Excel(エクセル)
-
10
VBA 別ブックから条件に合うものを転記したいです
Visual Basic(VBA)
-
11
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
12
【Excel】複数の列を参照して、特定の文字列を含む行全体を別シートに抽出する関数
Excel(エクセル)
-
13
【Excel VBA】複数ある特定の文字列を含む行を削除
Excel(エクセル)
-
14
Excel 表から条件にあう行を別シートに抽出したい
Excel(エクセル)
-
15
エクセルで特定の文字が入ってる列を削除方法
Excel(エクセル)
-
16
Excel VBA A列が特定の値以外の場合、その行を削除
Excel(エクセル)
-
17
エクセルで別シートにリスト化した文字列を含むセルを持つ行を削除する方法を教えてください。
Excel(エクセル)
-
18
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
19
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
20
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル名の変更
-
vba Excelのタブをプログラムか...
-
エクセルでセルに入力する前は...
-
Excelで項目の種類ごとに番号を...
-
エクセルを使ってQRコードを作...
-
エクセルのセルをクリックする...
-
Excelファイルを開くと私だけVA...
-
【Excel】 1つのセルの日にちを...
-
① 【Excel】チェックボックス E...
-
Excel for MacでFEPが勝手に切...
-
【マクロ】複数の日付データをY...
-
カーソルを合わせてる時のみ行...
-
エクセルでデータを消して保存...
-
文字列1"文字列2"文字列3を文字...
-
エクセルで作った表が印刷する...
-
エクセルで、数字ではない値(...
-
excelVBAについて。
-
最高値の日付を抽出する方法
-
【VBA】使ってたクエリの接続を...
-
今まで文字化けなく開けていたc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、数字ではない値(...
-
Excel いい方法教えてください。
-
納期順に勝手に並べ替えられる...
-
エクセルで作成した書類の印刷...
-
Excel初心者です、Excelの日付...
-
エクセルで作った表が印刷する...
-
実務の処理について。
-
AM8:30から翌朝8:30まで勤務す...
-
Excelのデータの入力規則の問題...
-
Excelの罫線を消す方法
-
桁をセルで区切って計算をした...
-
スプレッドシート(Excelでも良...
-
VLOOKUP関数で複数条件を設定に...
-
Excel初心者です。 Excelでやり...
-
エクセルでAのセルに「家電」と...
-
ファイルとフォルダの移動につ...
-
XMLHTTP60で前日のデータが取れ...
-
ファイルパスについて。
-
エクセルの数式について教えて...
-
スプレッドシートで適切な条件...
おすすめ情報