A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
今コピーして試してみましたけど、うまくいってますねぇ・・・
なんでだろ?
作ったヒトから注意いくつかです。
一応Windows XPで動作確認とれています。
・1と2を同じファイル名にしていませんか?
別名じゃないとうまいこと動かないです
・フォルダ指定はできないです
絶対パスにしろ相対パスにしろ、かならず同じフォルダにつのファイルがある状態で開始、同じフォルダに3つめのファイルができます
・拡張子も書いてください・・・
(拡張子不要に作れば良かったなぁと今更後悔)
いろいろやってみましたが、結果が変わらないのでもう一度教えてください。当方が理解した使い方は以下の通りです。
-------------
1.振分け元ファイル、というのは用意してある住所録と理解しています。
(例)住所.csv
A(住所) B(名前) C(年齢)
東京都千代田区1-2-3.... 山田太郎 15
東京都千代田区4-5-6.... 田中一郎 16
神奈川県横浜市7-8-9.... 飛鳥エイジ 17
2.振分け先ファイル、というのは作業後作られるファイルの名前でしょうか
千代田区.csv
3.抽出する文字、を「千代田区」と入力する。
これで実行すると、初めの二行など、千代田区の住所のみが集まった千代田区.csvファイルが作られる。
-----------------------------------
誤解がどこにあるでしょうか。教えてください。
No.5
- 回答日時:
テストバッチ一応できたので試してみてください。
スペース区切り、カンマ区切りのCSVに対応しています。
バッチファイルなので拡張子は.batにしてくださいね
一応8列目(excelで言うH列)までの読み込みに対応しています。
%%A(略)%%H
%1(略)%8
の二つを書き換えれば、9列まで対応できます。
結果連絡お待ちしてます
===(ここから)===
@echo off
rem 設定部分。キーボード入力により設定される
echo このバッチはCSVファイルから特定行を抽出するスクリプトです。
echo このバッチファイルと同じフォルダに振り分け元CSVファイルを保存してください。
echo.
echo [設定]
echo.
echo 設定を行います。
echo 1) 振り分け元ファイル名を拡張子も含めて入力してください
set /P fromFile=
echo 2) 振り分け先ファイル名を拡張子も含めて入力してください
set /P toFile=
echo 3) 抽出する文字を入力してください。
set /P words=
rem 注意喚起
cls
echo [注意]
echo 1) 振り分け判断する列はA列に移動させてください。
echo.
echo 準備は出来ましたか?
pause
rem 1行読み取り振り分け開始命令
for /F "delims=, " %%A IN (%fromFile%) DO (call :SUB %%A %%B %%C %%D %%E %%F %%G %%H)
rem 3秒待って終了
echo 作業完了。
ping -n 4 -w 1000 127.0.0.1 > nul
exit
rem 振り分け判断部
:SUB
if %1==%words% (echo %1,%2,%3,%4,%5,%6,%7,%8 >> %toFile%)
===(ここまで)===
こんなに丁寧な回答を本当にありがとうございます!!
取り急ぎ現状報告です。
1.頂いたプログラムを「メモ帳」でfuriwake.batと保存しました。
2.csvファイルと同じフォルダに入れてfuriwake.batを実行。
3.dos窓が開かれて、問われる条件にしたがって入力しました。
4.「作業完了」の表示。
しかし、新しいファイルがみあたりません。こちらのcsvファイルの作り方にどこか問題があるのでしょうか?
A列に住所が来るように並べ替えみたりしていますが、試行錯誤中です。でもありがとうございます。
No.4
- 回答日時:
>160ほどのエリアに振り分けたい
VBAの力を借りるしかないでしょう。
とりあえず、別シートのA列に160ほどのエリアが入っているとして
1、マクロの記録
1、オートフィルター オプション 千代田区 を含む
2、行を選択、コピィ
3、新しいブックにコピィ
4、名前をつけて保存
を実行
2、マクロの記録の終了
3、VBエディターで記録した内容を編集
Sub Macro1()
GYOU = 2
Do While Sheets("Sheet1").Cells(GYOU, 1) <> ""
'マクロで記録された内容
' Selection.AutoFilter Field:=1, Criteria1:=Cells(GYOU, 1).Value
'マクロで記録された内容に上の行に似た部分あると思います。
'最後の部分でCriteria1:="千代田区" となっている部分を
' Criteria1:=Cells(GYOU, 1).Value に変更しておきます。
GYOU = GYOU + 1
Loop
End Sub
こんな感じではいかがでしょうか?
回答有難うございます。
アドバイスいただいた内容に基づいてVBAについて調べてみます。
当方、恥ずかしながらVBA、マクロなどこれまで使ったことがありませんので良く分らないのですが、これを機会に少し調べて身につけたいと思います。
ExcelのヘルプでVBAの項目から調べていこうと思います。取り急ぎお礼のみ申し上げます。有難うございました。
No.3
- 回答日時:
自動で別ファイルにするのは・・・VBAとかcsv+bat編集とか、手段はともかく別にスクリプトが必要ですね
vlookupも、キーとなる地域行に重複があると見込まれるのでアウト。
# vlookup、hlookupはキー(検索値)が重複しないことが前提です
csv+batなら構想はありますけど、そのExcelをcsvに変換して加工するのは可ですか?
VBは・・・ちょっと詳しくないのでごめんなさい
回答有難うございます。
vlookup/hlookupではアウトとのこと。
一つ勉強になりました。
csv変換でも別にぜんぜんかまいません。お手数かけますが、もしもさらにアドバイスいただけるなら非常に助かります。
No.2
- 回答日時:
別ファイルに全自動で振り分けなければなりませんか?
その辺ある程度手作業でもかまわないのであれば、オートフィルタ機能をお勧めします。
1行目は各データの項目、A列に地域が記載されていると仮定します。
1)1行目を選択、データ→フィルタ→オートフィルタ
2)A1 右のほうに現れた▼をクリックし、オプションを選択
3)抽出条件を入力。
4)抽出したデータをコピーし、別ファイルに貼り付ける
その辺も全部自動でやらせたいんだ! であれば・・・ちょっと考えます。
この回答への補足
さっそくの回答ありがとうございます。
お察しのとおり、全自動で出来れば理想的です。
実は日本全国の一万件以上の住所録を160ほどのエリアに振り分けたいのでちょっと手作業ではしんどいのです。
とりあえずそれぞれのエリアごとに市町村名を表にすることは手作業で表にしていますが、そこから先がどうも進まないのです。
本などでvlookup関数というのも調べてみましたがどうもうまくいかなくて相談しました。
ひとつのエリアに複数の市町村があるというのもめんどいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチでテキストファイルから...
-
コマンドプロンプト標準出力と...
-
VBアプリケーションで終了コー...
-
バッチファイルで昨日の日付を取得
-
DOSのバッチで、テキストファイ...
-
コマンドプロンプト(バッチファ...
-
IPアドレスの第3オクテットだ...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトのエラーに...
-
コマンドプロンプトの「%1」と...
-
binファイルを解凍したいの...
-
iPhoneでXMLファイルを開くには...
-
VBAでワークシートを引数として...
-
名前の変更ができない動画ファイル
-
これってパソコンの最適化が完...
-
エクセルのVBAについて とある...
-
一定のファイル数ごとにフォル...
-
コマンドプロンプトで変数が数...
-
jarファイル
-
テキスト(txt)→ワード(docx)へ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
コマンドプロンプト標準出力と...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプト(バッチファ...
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイルでDirで取得した...
-
コマンドプロンプト画面の閉じ...
-
絶対パス名からファイル名を取...
-
バッチファイルで常に最新の現...
-
呼び出し元バッチを知るには?
-
VBアプリケーションで終了コー...
-
バッチファイル テキストファイ...
-
IPアドレスの第3オクテットだ...
-
コマンドプロンプト(バッチ)...
-
echoとsystem関数について
-
DOSのバッチで、テキストファイ...
-
DOSのバッチで、変数中のファイ...
-
バッチファイルで2つ以上の変...
-
Kシェルでgotoのような処理を作...
-
子バッチ内のキー入力処理へ自...
おすすめ情報