ACCESS、Excel、秀丸で文字列操作

このQ&Aのポイント
  • ACCESSのクエリ結果をExcelに貼り付ける際に、一部文字列の変換をしたいと思っています。半角英数字の12桁を4桁ごとにハイフンを入れて表示する必要があります。現在は秀丸を使用して一度クエリ結果を取り込み、ダミー文字列に置換してからExcelに貼り付けていますが、もっと効率的な方法があれば教えていただきたいです。
  • 現在、ACCESSのクエリ結果をExcelに貼り付ける際に、特定の文字列の変換が必要です。具体的には、半角英数字の12桁を4桁ごとにハイフンを入れて表示する必要があります。現在は秀丸を使用して一度クエリ結果を取り込み、ダミー文字列で変換してからExcelに貼り付けていますが、もっと簡単な方法があれば教えてください。
  • ACCESSのクエリ結果をExcelに貼り付ける際に、一部文字列の変換をしたいと考えています。具体的には、半角英数字の12桁を4桁ごとにハイフンを入れて表示する必要があります。現在は秀丸を使用してダミー文字列に変換してからExcelに貼り付けていますが、もっとスマートな方法があれば教えてください。
回答を見る
  • ベストアンサー

ACCESS、Excel、秀丸で文字列操作

ACCESSのクエリ結果をExcelに貼り付ける時に、一部文字列の変換を したいと思ってます。 もともとのACCESSデータはテーブル上で半角英数字の12桁で、 それをExcelにコピーする際には4桁ごとにハイフンを入れます。 (例) ACCESS 1234567890ab ↓ Excel 1234-5678-90ab ちなみに、この項目は、空白の場合もあります。 で、今は、一度クエリ結果を秀丸に取り込んで、 ・空白行をダミー文字列(999999999999)に置換 ・記録機能で(右に4つ移動、-、右に4つ移動、-、次行へ)  とやって、それを最終行まで再生 ・ダミー文字列(9999-9999-9999)を削除 ということをやって、Excelに貼り付けとしています。 結構面倒なので、もう少しスマートなやり方がないかと思っているの ですが、ACCESS、Excel、秀丸、どれでもいいので、 もしくは、他のフリーソフトできれいにやる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

Accessから出力するときか、Excelに取り込んだあとで処理できるような気もしますが、 秀丸で置換という部分は秀丸の正規表現を使った置換でダミーを使わずにできると思います。 検索文字列 (....)(....)(....) 置換後文字列 \1-\2-\3 この表記を使えるようにするには何か設定しないといけなかったかも。

seiiiichi
質問者

お礼

回答ありがとうございます。うまくいきました。 さすが、秀丸すばらしいですね。もっと勉強します。 そうですね、Excel、Accessでもできそうな気もしたんですが、 特に、表示書式の変更とかでできないかなと。 でも、とりあえずはこれでもいけそうです。 ありがとうございました。

関連するQ&A

  • VBAの文字列操作教えて

    EXCELのVBAを使って、あるセルの8桁の文字列の先頭2桁を取り出したいのですが、どのような命令を使えばいいのですか?例えば、「ABCDEFGH」の「AB」を取り出してその「AB」を違うセルに入れたいのです。教えてください。

  • 【Access2000】文字列の操作について

    Access2000で文字列の操作について質問です。 前任者が突然退職してしまったため、やり方が分からず困っています。。。 ■文字列の操作について 姓(フリガナ)と名(フリガナ)の文字列を下記仕様に変換したいと思います。 【変換前】   姓(フリガナ) 名(フリガナ)    ⇒全角カナで2つの項目に分かれている        【変換後】   姓名(フリガナ)    ⇒それぞれ半角カナに変換し、1つの項目に結合する    ⇒結合後のバイト長は30バイト、右詰で空白は半角スペースで埋める ■レコードのカウント処理について ・条件に合致したレコード数をカウント ・レコード数を右詰にし、前に0をつける(12バイト) Accessに詳しい方、ご返答いただけると助かります。

  • 秀丸である文字列を含む行の一つ前の行だけを表示する

    秀丸である文字列を含む行の一つ前の行だけを表示する ことはできるでしょうか。 例えば、ファイルをコピーするバッチファイルの実行結果を リダイレクトしたファイルの中の 「指定されたファイルが見つかりません」 という文字列のある行の1つ前の行のみを収集する場合など。 難しければ指定した文字列を含む行も 一緒に表示されていてもいいです。

  • EXCEL文字列操作

    いつもお世話になっています。 EXCELの文字列操作に関してですが、右から任意の文字を表示させないことは可能でしょうか? 右から2文字を表示させない場合 1000 → 10 100  → 1 2001 → 20 5556 → 55 桁数が同じならLEFT関数で対応できるのですが、桁数が違うので上手くいきません。 ご教授願います。

  • エクセルの文字列操作の仕方

    ご存じの方がいらっしゃいましたら、教えてください。 今、エクセルの住所リストを固定長のテキストファイルに変換する作業をしています。 このやり方が合ってるのかわかりませんが、各項目のデータを「&」で結んで、ひとりのデータを1行のテキストデータにしようとしています。 というわけで作業をしているんですが、他の項目はうまくいくんですが、電話番号の部分で、指定フォーマット(半角12文字)への変換ができずに行き詰まってしまいました。 どういうことかと言いますと、エクセルの数字を12桁の文字列に統一できないのです。(10桁の数字+2桁の空白という風に) 電話番号のほとんどは10桁ですが、中にはブランクとか携帯の11桁とか、いろいろあります。 件数が多いので、1件1件2桁のブランクを加えるわけにもいきません。 いい方法がありましたら、ご教授お願いいたします。

  • Access2003で複数条件で文字列を変換する

    Access2003で、フィールド内の空欄を削除するのと同時に、 フィールドの文字列を全角大文字に変換する方法を教えて下さい。 現在、2回に分けてクエリを実行しております。 まず、「Trim 関数」を使いフィールド欄へ式を入力し空白の削除を 実行してから、次に新たにクエリを作成して「StrConv 関数」を使い 文字列を全角大文字に変換しております。 一度のクエリで「空白削除」と「全角大文字変換」ができる方法を教えてください。 宜しくお願い致します。

  • 文字列操作 挿入

    エクセルにおける文字列操作において 123X456X890 1234X2345X3456 のような、桁数がバラバラな状態で文字列データがあった際、 1.全てを14桁に揃える 2.文字「X」を5及び10桁目に持ってくる   (つまりは14桁の文字数で、形式を揃える) 様な文字列操作を行うに、どの様な手法があるでしょうか? お分かりになる方、ご教授いただけますと助かります。

  • Accessで文字列を連結しフィールドを作成するには?

    アクセスのクエリーでテーブルから2つの文字列フィールド引っ張ってきて、その文字列データをくっつけることがやりたいのですが、どのようにやったらよいのでしょうか? ちなみにExcelの場合はCONCATENATE関数で2つのセルを 1つのセルにまとめることが可能です。アクセスで関数を見てみたのですが、そのような関数はありませんでした。 誰かよい方法があれば教えていただけませんか? よろしくお願いします。

  • 秀丸エディタで文字列の置換をしたい

    秀丸エディタの正規表現についてお教えください。 やりたいこと: 対象の文字列を含んでいない行を削除したい 例:defのみを削除したい abc def def abc ↓ abc abc どのようにすれば実現できますでしょうか? よろしくお願いします。

  • 文字列を抜き出してきてファイルを生成

    当方はC++を用いております。文字列の部分列にアクセスして、 それを新たに文字列としたいのですが、可能でしょうか? 具体的には、英数字、空白のみからなるレコードがあったとします。 例: 01 po 0979876 7行目から10行目までをとりだします。 0979 これをひとつの文字列とします。 なお、目的は、0979という名のファイルを作ることです。