データ変換による得意先コードの変更方法

このQ&Aのポイント
  • データ変換により、得意先コードを新しい形式に変更する方法について教えてください。
  • ACCESSで得意先別の売上表を作成していましたが、得意先コードを一掃して新しい形式にしました。
  • 過去データも使用しているため、得意先コードを新しい形式に変換する必要がありますが、手入力では間違いが出てしまいます。簡単に変換できる方法があれば教えてください。
回答を見る
  • ベストアンサー

データ変換

ACCESSにて得意先別の売上表と作成していたのですが、 今までの得意先コードが数字の3桁「999」や「123」などでしたが、コードを一掃してローマ字と数字を混ぜたものにしました「AA00001」や「ZZ9999」などです。そこで悩んでいるのが過去データも使用しているので得意先コードを3桁の数字から新しいコードに変換しなくては、なりません。例えば「999」を「ZZ9999」などです。 ACCESSのテーブルからデータをEXCELに写してコードを 置換えで変更していったのですが手入力なので、どうしても間違いなどが出てしまいます。 何か簡単に変換できる式などありますでしょうか? どうか是非教えてください。 説明下手で申し訳ございません・・・

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

  • ベストアンサー
  • nikuq_goo
  • ベストアンサー率46% (335/715)
回答No.2

沢山方法はあると思いますが CONCATENATE("総","合計") = "総合計" = "総"&"合計" を利用してみては如何でしょう? 1.元のデータをある程度仕分け出来る様にソートします。 2.仕分けもとのデータによってヘッダ(ZZ0等)のデータのみのセルを作ります。このときIF分やCONCATENATEを併用することも可能です。 3.ヘッダと元データをCONCATENATEで結合します。 現在の得意先コードをダブクリしながら入力するよりは格段にましです。

cyocyocyo
質問者

補足

回答ありがとうございます。 CONCATENATEやIFの使い方が分かりません 無知な為に難しいです、もう少し簡単な 方法もありますでしょうか?

その他の回答 (4)

  • nikuq_goo
  • ベストアンサー率46% (335/715)
回答No.5

>CONCATENATE("総","合計") = "総合計" = "総"&"合計" A列とB列を結合するには =CONCATENATE(A1,B1)か=A1&B1という意味です。 これを見てもCOCATENATEの使い方を理解出来ないのであれば手打ちが一番だと思いますよ。 IF文にしたってEXCELのHELPに用例まで出ているのですから、例えば取引金額が一定額以上の場合ヘッダを"AA9"としたければ、 =IF(取引金額の欄>=一定額,AA9)ではないでしょうか?

回答No.4

No.3です ACCESS2000以降として説明します。 データベースを開くとクエリーとあると思います。 そこで「クエリを作成する」でテーブル選択を行ない、旧項目を選択し、先ほどの回答にあった対応を行なうとできると思いますよ。 詳しくは・・・参考URLで・・・(ACESS2002ですけど)

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;304325
回答No.3

まず新旧のコード体系が必要ですね。 仮に 旧コード体系:数値型 3桁 新コード体系:TEXT型 6桁 とすると・・・ クエリーの作成で旧コード体系の項目に対し "ZZ9" & 旧コード とすると、新コード体系になると思います。 例:999 ⇒ "ZZ9" & 999 = "ZZ9999"

cyocyocyo
質問者

補足

回答ありがとうございます。 実は、クエリーの作り方がよく分かりません・・・ 教えていただけないでしょうか?

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

例えば、EXCELで変換対象データ列がA列とした場合、B1に="zz"&A1として下方向にコピーした後、B列の範囲をC列に「形式を選択して貼り付け」で「値」を選択して貼り付ければ変換データができますが如何でしょうか。

関連するQ&A

  • Access データ合算について

    Accessの初心者です。 Accessで毎月のPOSデータ(売上データ)を管理しています。月別にテーブル保存しているのですが、そのデータを合算するにはどう操作したらよろしいのでしょうか。 テーブルには1年間(4月~3月)が月ごとに保存されています。合算させたいのは「JANコード」の13ケタです。このJANコードが一致したデータの個数と売上を合算させたいのです。データ量は1ヶ月につき25万件(アイテム)あります。ExcelはちょっとできるのでExcelでの処理なら思いつくのですが、なんせデータ量が多くて全てを読み込むことが出来ないのです。 データは左から 「ID」「JANコード」「品名」「個数」「売上」 となっています。 初心者なものですから、質問が足りなかったら申し訳ありません。どうぞよろしくお願い致します。

  • UPDATE文

    また、投稿させていただきます。 言語 VB6.0 DB ORACLE9i 接続 oo4o 売上高のデータを更新したいんです。 DBは2つあります。変換マスタ、売上高 ○変換マスタのデータ 変換コード 得意先コード   得意先名  1      100      あああ  2      200      いいい  3      300      ううう っいう風にデータがあります。 ○売上高のデータ 変換売上コード 売上名  1       NULL  2       NULL  3       NULL  4       NULL ていう風にデータがあります。 ●更新後の売上高のデータ 変換売上コード 売上名 100      あああ 200      いいい 300      ううう  4       NULL 変換マスタの変換コードと売上高の変換売上コードが一緒なら変換マスタの得意先コードのデータを 売上高の変換売上コードを更新し、変換マスタの得意先名を売上高の売上名に更新したいんですが自分で書いたソースでは更新後の変換売上コードの「4」→「NULL」になって帰ってくるんです。変換マスタになかったらそのままのデータにしたいのですが、どうかお願いします。ソース乗せます。 W_SQL = "UPDATE " W_SQL = W_SQL & "売上高 " W_SQL = W_SQL & "SET ( " W_SQL = W_SQL & "売上高.変換売上コード,売上高.売上名) = " W_SQL = W_SQL & "( SELECT 得意先コード,得意先名" W_SQL = W_SQL & " FROM 変換マスタ WHERE 売上高.変換売上コード = 変換マスタ.変換コード)"

  • AccessのデータをVBを使って置換する

    (1)VisualBasic6.0を用いて、Access2000のデータベースに接続します。 (2)データベースの中のテーブル(テーブル名:T-カレンダー)にあるフィールド(フィールド名:コード)に保存されているデータの一部分を置換したい。(⇒途中のアルファベットを変更したい。)(例;置換前:123FFF789 置換後:123III789)  テーブルを直接開いて、フィールドにカーソルをあわせて、”編集メニュー”の『検索と置換』から行っても出来るのですが、Accessを触らないでVBから作ったフォームから変更(置換)をさせたい。  ◇フォームに2つテキストボックスを作って、「検索する文字列」と「置換後の文字列」を入力し、『変換』ボタンを押したら、データが置換される、という流れ。   一回きりの置換でなくて、何回でも同じフィールド内のデータを置換したい。   SQLのREPLACE関数を用いて出来るかな、とは思っているのですが、どのように作成すればよろしいのでしょうか。  また他のやり方でシンプルな方法があればお教えください。

  • Accessの「or」的クエリの作り方

    Accessの質問です。 1つのテーブルは売上のデータが入っていて もう1つのテーブルは売掛のデータが入っています。 その2つのテーブルから売掛と売上のデータをもつクエリを作りたいです。 得意先ごとにユニークなIDを振ってあり、両テーブルにそれぞれ同じIDが存在するのでID をリレーションシップでつないでクエリを表示して、完成!・・・というハズだったんですが。 「売掛がある得意先」かつ「売上がある得意先」しかクエリで表示されません。 売上だけある得意先は、売掛を0にして表示、売掛だけある得意先は売上を0にして表示・・・といういわゆる「and」ではなく「or」的なクエリを作りたいのですが、どうすればいいのでしょう。 売上のない得意先は売上のテーブルにはIDそのものが存在していません。 お返事いただけたら助かります。

  • EXCELのピボットテーブルの表をデータ化したいのです。

    EXCELのピボットテーブルの表をデータ化したいのです。 ピボットテーブルは便利でよく利用するのですが、 出来た表は大区分、中区分、小区分と区分が同じものはグループ化され、 最初の1行目にのみ表示があり、同じものは何も表示されていません。 例えば   得意先1 ジャンル1 区分1 売上高             区分2 売上高        ジャンル2 区分1 売上高             区分2 売上高             区分3 売上高 のようになっています。 でも、このピボットテーブルをデータとして別の分析をしたいのです。 ですが、データとして使用するには   得意先1 ジャンル1 区分1 売上高   得意先1 ジャンル1 区分2 売上高   得意先1 ジャンル2 区分1 売上高   得意先1 ジャンル2 区分2 売上高   得意先1 ジャンル2 区分3 売上高 となっていてほしいのです。 例えば大量にある売上データを集計する際も、生データを持つと容量も増えますので 第一段階で得意先・ジャンル・商品・売上月・金額 のように要点別に集計したピボットテーダルを 作成し、それがデータ化できれば元データを削除してそれをデータとして 色々なピボットテーダル作成で分析が出来ると思うのです。 宜しくお願いいたします。

  • アクセスでデータ型を一括変換したいのですが。

    アクセスで質問です。勤務表から給料計算を自動でしたいのですが、勤務内容を言葉で記載しているので(テキスト型なので)計算することが出来ません。更新クエリなどを利用して特定の言葉を数字に変換することは出来るのでしょうか?また手動で数字に変更してみたりしたのですが、結局データ型がテキストのままなので毎回データ型を指定しなおさないといけませんでした。もとのテーブルはテキスト型から変更する訳にはいかないので、給与計算用に再度テーブルを複製して、この新しいテーブルのデータ型のみ一括で数値に変換したいのですがどうしたらいいでしょうか。

  • Access97で数値型からテキスト型への変換

    お世話になります。 Access97を使用しており、テーブルには下記のようになっています。 コード1はテキスト型で2桁、コード2と3は数値型で共に3桁です。 コード1|コード2|コード3 ------+--------+------- AS|1|10 BR|10|5 ST|100|100 上のテーブルからテーブル作成クエリーにて、コード1からコード3をコード4の一つにまとめ、数値型で現れなかったゼロを詰めて、下記のように変換したいのです。 コード4 --------- AS001-010 BR010-005 ST100-100 分かる方が居ましたらお願いします。

  • アクセスのクエリについて(前当期比較させたい)

    現在、アクセス2010を勉強中の超初心者です。 アクセスを用いて、前期と当期の商品売上数量比較表(得意先ごとの)を作成できないか考えております。  ■さっそくですが、以下の4つのテーブルがあったと仮定します。 テーブル(1)(商品マスター)           テーブル(2)(得意先マスター) 品コード | 品名                  店コード |  店名   1    | ○○                       A  |  あか   2    | ××                       B  |  いき   3    | △△                       C  |  うす テーブル(3)(前期売上データ)          テーブル(4)(当期売上データ) 店コード | 品コード | 売上数量         店コード | 品コード | 売上数量  A     |   1    |  10               A      |   3     |  20     A     |    3     |  15             A      |    4     |  25     B     |    1     |  17              B     |    2    |  27     :     |    :    |  :               :     |    :     |  :     ■以下のようなデータ抽出できないかを検討しています。 店コード | 品コード | 前期売上数量 | 当期売上数量   A    |    1     |     10       |     0   A    |    3      |     15       |     20   A    |   4      |     0       |     25  ◆自身で検討してみましたが、「前期に売上実績があるが、当期に売上実績がないケース」、及び「その逆のケース」についてうまく抽出できません。(上記例で言いますと、A店に対する売上で品コード1 と 品コード3 の商品売上数量比較ができませんでした。)  解決方法わかる方、ご教授のほどよろしくお願い致します。

  • Excelからインポートしたデータがクエリに反映されない

    OSはWin98SEでAccess2002です。最近Accessを始めたばかりです。 Excel2000で作成した売上管理台帳をAccessの売上管理テーブルへインポートします。 Excelでは日付/社員名/取引先名/販売商品名/売上金額のフィールドを設定し、関数を使って社員別/取引先別/商品別の集計や累計を出してきました。 AccessにインポートするにあたりExcelでは(1)データを全て別Sheetに値のみでコピー&ペーストした。 (2)売上金額は通貨から数値に書式設定し直した。(3)それをCSV形式で保存した。 Accessでは社員/取引先/商品の3つのサブテーブルを作成しそれぞれにID(データ型は全てテキスト型)をつけました。 Excelデータをインポートし、社員名/取引先名/商品名を編集の置換機能を使ってID番号に変換し、データ型とフィールドサイズをサブテーブルのIDと一致させ、売上台帳としてメインテーブルにしました。 4つのテーブルにリレーション設定し、クエリで売上台帳を作ったのですが、Excelでインポートしたデータが1つもレコードとして表示されていません。 試しにこのクエリを元にフォームを作り、データを入れてみたところ、これについてはクエリでレコード表示されています。 AccessではExcel以上にデータの精度が求められると聞き、編集置換では慎重にも慎重にやったつもりです。 リレーションがうまくいっているのに、どうしてクエリでインポートしたデータが反映されないのでしょうか。全部で1600余りのレコードになり、ぜひExcelからインポートして活用したいと思います。よろしくお願いします。

  • ACCESSでテーブル内の名称変更して変更前のデーターを反映させたい

    ACCESS初心者の者です。得意先との取引をACCESSで作成してるのですが、得意先が名称変更になり、得意先テーブルで名称を変更したいのですが、名称を変更するだけではなく、旧名でのデーターを新しい名称で反映させたいのですが、こういった事は可能でしょうか? テーブルでの直接変更や置換をしましたが無理でした。月ごとと2ヶ月にまたがったデーターが必要なのです。作成者がもういないのでどうしたらいいものか困っています。言葉足らずかも知れませんが宜しくお願いいたします。 OS:WINXP SOFT:ACCESS2000

専門家に質問してみよう