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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELでの複雑な複数条件について 4 2022/05/09 16:19
- その他(行政) 農業振興地域について 4 2023/07/28 10:52
- 関東 品川区と中野区住むならどっち? また住みやすい地域は? 6月から仕事に都内に戻ります。 次は中野区o 2 2022/04/23 10:07
- その他(住宅・住まい) 農用地区域内の田畑を不動産や行政書士に頼んで宅地にした方は居ますか? 売られていない農用地区域内真ん 3 2022/05/10 01:17
- 政治 岸田首相は、何故、名古屋人を大臣に採用しないのですか? 6 2022/05/09 20:42
- 法学 外国会社の登記 (日本における代表者の住所の移転の登記等) 会社法第935条について 1 2022/05/24 17:28
- 政治 麻生が、国境に人が住んでるから侵略されないと言うなら、まず、尖閣に人が住む事を認めるべきだ 2 2022/06/19 12:40
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- 政治 岸田内閣は国民を代表しているでしょうか? 11 2022/05/08 05:56
- 関東 同じ千葉県でも… 4 2023/07/10 14:01
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイル(for文)がうま...
-
コマンドプロンプト標準出力と...
-
batの変数を直接vbsのプログラ...
-
絶対パス名からファイル名を取...
-
Kシェルでgotoのような処理を作...
-
IPアドレスの第3オクテットだ...
-
バッチファイルでDirで取得した...
-
D&Dするとファイル名の一部を取...
-
コマンドプロンプト(バッチファ...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
大量のフォルダからひとつのフ...
-
バッチ処理でファイルの中身を...
-
バッチ終了時にDOS窓を閉じるコ...
-
多数のサブディレクトリ内のフ...
-
ファイルのサイズを0にする or ...
-
VBAでワークシートを引数として...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
コマンドプロンプト標準出力と...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイルでDirで取得した...
-
コマンドプロンプト(バッチファ...
-
VBアプリケーションで終了コー...
-
絶対パス名からファイル名を取...
-
コマンドプロンプト画面の閉じ...
-
IPアドレスの第3オクテットだ...
-
子バッチ内のキー入力処理へ自...
-
呼び出し元バッチを知るには?
-
コマンドプロンプト(バッチ)...
-
バッチファイルで常に最新の現...
-
Kシェルでgotoのような処理を作...
-
コマンドプロンプトでファイル...
-
ファイル名に日時挿入バッチフ...
-
DOSのバッチで、テキストファイ...
-
バッチファイルでログを残す方法。
-
PowerShellからPowerShellを呼...
おすすめ情報