• ベストアンサー

Accessのデータの作り方を教えてください。

Accessでデータが思ったように作れないので、教えていただけないでしょうか。 Excelのデータをテーブルにインポート: 縦(列)に「店コード」が1~10まであり、次の列に「店名」があります。その次の列に、商品Aの売り上げ個数が各店に対応してあります。 次の列には商品B、商品C、商品Dまであります。 その商品の単価が、例えば、商品A:¥100 商品B:¥150               商品C:¥200 商品D:¥250 とします。 そのデータをクエリで、 各店のそれぞれの商品の売り上げ個数×商品の値段 というかたりで、買う点のそれぞれの商品の売り上げの値段だけを 表示させたいのですが、できません。 どなたか教えていただけないでしょうか?

noname#40229
noname#40229

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

Accessはデータベースですから表計算であるExcelとは違った考え方をしなければなりません Accessでアップされたことを処理するには [店マスタ](店コード、店名) [商品マスタ](商品コード、商品名、単価) [売上](店コード、商品コード、個数) のようなテーブル構成で処理します Excelからインポートしたものを上のようなテーブルに組み替える ということから始めることになりますね >次の列には商品B、商品C、商品Dまであります。 このように横に並んでいるものを組み替えるにはユニオンクエリを使います

noname#40229
質問者

お礼

返事が遅くなってしまい、申し訳ありません。 参考にさせていただきました。ありがとうございました。 教えていただいた通り、それぞれのテーブルを作りました。 そのあと、組み替えをするために、 ユニオンクエリのことを調べて、組み替えに挑戦をしたのですが、 なかなか思うようにいきませんでした。 http://www.ne.jp/asahi/chronos/labo/Excel2Access/E2A_P1.htm (勝手にアドレスを載せてよいかわかりませんが・・) このサイトを参考にして作ってみたのですが、 店名が全て、同じコードになったしまったり、 まったく、それぞれの商品=個数×単価ができませんでした。 もし、他に、参考になるサイトや参考書などがありましたら、 教えていただけないでしょうか。 勝手ばかり言って、申し訳ありません。

その他の回答 (4)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.5

並び順を指定しない場合は、Accessにお任せになってしまいます 商品コードを並べたい順番になるように付加し 商品コードで並び替えを指定してください

noname#40229
質問者

お礼

何度も、ご親切にお答えいただきありがとうございました。 これからの参考にしていきます。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.4

#1です > フィールドに総合計:[商品A]+[商品B]+[商品C]+[商品D] > という計算の仕方があるとは思いますが、 > 実際商品がA~Dではなく、実際は、20商品ぐらいあるので、 > 別の計算方法があれば教えていただけないでしょうか? 言うとおり、単純に足し算を追加して行く以外に手がAccの場合、ほぼ無いです VBAで関数を作るって手が無いわけでは無いのですが、通常はそっちの手は、手間が掛るのと処理速度が遅くなるので、特別に理由が無いかぎり使用しません 縦の計算は簡単に出来るAccですが横の計算は苦手です #2さんが、#3で、お答えしているようにデータを縦にデータベース化し、クロス集計して元のような縦横表を作成するのがAccでは一般的になります

noname#40229
質問者

お礼

ありがとうございました。 大変参考になりました。 今後、教えていただいたSQLを利用していきたいと思います。 このような素人の質問のために お時間を割いてくださり、ありがとうございました。

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

Exelの表は 店コード 店名 商品A 商品B 商品C 商品D のようになっているわけですよね これをそのままインポートします インポートしたテーブルから店コードと店名だけを重複無しに取り出すクエリを作り これをテーブル作成クエリに変えて走らせれば >[店マスタ](店コード、店名) ができます >[商品マスタ](商品コード、商品名、単価) はAccessで一から作ってください 商品は4つですから簡単ですね たとえば 商品コード 商品名 単価 1      商品A 100  2      商品B 150 3      商品C 200 4      商品D 250 次にインポートしたテーブルからユニオンクエリを作ります select 店コード,1 as 商品コード,商品A as 個数 from インポートしたテーブル union all select 店コード,2 as 商品コード,商品B as 個数 from インポートしたテーブル union all select 店コード,3 as 商品コード,商品C as 個数 from インポートしたテーブル union all select 店コード,4 as 商品コード,商品D as 個数 from インポートしたテーブル このユニオンクエリからすべてを取り出すクエリを作り テーブル作成クエリに変えると >[売上](店コード、商品コード、個数) ができます 3つのテーブルの同じ名前のフィールド同志でリレーションシップを設定します

noname#40229
質問者

補足

質問に答えてくださりありがとうございました。 教えていただいた通り、テーブルを組み替えることができました。 そして、テーブルを組み替えてたあと、 単価をかけて、計算することができました。 ただ、商品名をテーブルでインポートをした順番どおりに したいのですが、値段の昇順や降順になってしまいます。 もし、お時間がありましたら、Excelからインポートしたままの 順番になるような設定を教えていただけないでしょうか?

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

テーブル名も書いてないので、とりあえず「Tbl_店舗売上げ」と言うテーブル名と前提して、SQL文(クエリ作成で、「表示」-「SQLビュー」で見たクエリの文章)が SELECT Tbl_店舗売上げ.店コード, Tbl_店舗売上げ.店名, [商品A]*100 AS 売上額A, [商品B]*150 AS 売上額B, [商品C]*200 AS 売上額C, [商品D]*250 AS 売上額D FROM Tbl_店舗売上げ; と、なるって事かな? これなら、Accessじゃなくて、Excelのまま行ったほうが良くない? 何か、Accessでやる必要が、どこかにあったのかな? あるなら、テーブルの構造から組みなおした方が良さそうだけど^^;

noname#40229
質問者

お礼

返事が遅くなってしまい、申し訳ありませんでした。 SQLのクエリの文章を教えていただいたため、 思い描いていたデータに近いものができました。 ありがとうございました。 もうひとつお聞きしたいことが・・・ 店別にそれぞれの商品の売上額を合計した総合計を出したいのですが、 フィールドに総合計:[商品A]+[商品B]+[商品C]+[商品D] という計算の仕方があるとは思いますが、 実際商品がA~Dではなく、実際は、20商品ぐらいあるので、 別の計算方法があれば教えていただけないでしょうか? お時間があれば、よろしくお願いします。

関連するQ&A

  • 各店舗の売上金額をアクセスで出したい

    毎週出している売上の販売個数の表(例)です。 NO 店名 商品A 商品B 商品C 商品D・・・・・ 1 ア店 1 2 3 4 2 イ店 1 2 3 4 3 ウ店 1 2 3 4 ・    ・ ・    ・ 商品の数が約40種類あり、店舗の数が50店ほどあります。 上の表の個数のところを =(個数*単価)の値が出るように、 各店の売上の金額を出したいのですが、アクセスにインポートして 出す方法を教えていただけないでしょうか? tbl_売上(上の表をインポートしたもの) tbl_店舗 (店NO、店名) tbl_単価(商品NO、商品名、単価) のテーブルは作りました。 説明不足かもしれませんが、教えてください。

  • Access レポート

    アクセスのレポートなのですが 例えば 得意先名(ヘッダー) (以下詳細) 商品名 単価  個数  商品A  10円  1 商品B  20円  2 商品C  30円  3 商品D  40円  4 .....仮にこのようなレポートをA4で作成したとします。 これを 得意先名(ヘッダー) 商品名 単価  個数   商品名 単価  個数 商品A  10円  1    商品D  40円  4 商品B  20円  2    ・・・・・ 商品C  30円  3 ここでA4用紙の一番下として このように用紙を真ん中で割って続きを印字することは 可能でしょうか?

  • Excel、条件付きで単価X個数の総和の算出方法

    今日は。 Excel 2010を使用しています。 A列に番号、B列に商品名、C列にその商品のグループ名、 D列に単価、E列に個数が書いてある表があります。 ・A列には必ず番号がありますがB列には空欄のものもあります  したがってC、D、E列が空欄の行も存在します ・C列は「1グループ」、「2グループ」と「空欄」の3種類です。 ここで Aグループの商品の単価X個数の総和 Bグループの商品の単価X個数の総和 空欄グループの商品の単価X個数の総和 をそれぞれ求めたいのです. しかしグループ別という条件を付けて 単価X個数の総和をだす方法がわかりません。 上記の条件付きの総和の算出方法をご存じの方 お教えください。 よろしくお願いいたします。

  • EXCELで日付をKEYとしてデータをもってくる方法

    お世話になります。 EXCELで日付をKEYとして、別シートからVLOOKUP等で データをもってきたいのですがその方法についてご教授ください。 具体的には、 シートAに10月の商品受注データが入っていると仮定し、 シートBのどこかのセルに10/1、10/7、と入力することで シートBに10/1-7迄の受注データのみを表示させることができればと 考えています。 ------------------------------- シートA(10月受注データ) 10/1 商品X 個数 単価 10/1 商品X 個数 単価 10/3 商品Y 個数 単価 10/4 商品Z 個数 単価 10/8  商品X 個数 単価 10/10 商品Z 個数 単価  ・  ・  ・ ------------------------------- シートB(10/1~10/7迄の受注データ) 10/1 商品X 個数 単価 10/1 商品X 個数 単価 10/3 商品Y 個数 単価 10/4 商品Z 個数 単価 ------------------------------- ご回答宜しくお願いいたします。

  • エクセルでデータの並替

    仕事で以下のような作業で手こずってしまい、何かいい方法があれば教えていただきたいです。 まず、A列には商品名が入っています。B列にはA列と同じ商品名が入っていますが、並び順はまったく違います。C列~D列にはB列に対しての単価、品番が入力されています。B列~D列をA列の順番で並び替えをするにはどのようにしたらいいでしょうか?(実際のデータは行列ともに200近くあります。)よろしくお願いします。

  • 《エクセル》リストから同じ分類のデータのみコピーする

    いつもお世話になります。 別のシートに、下記の形のリストがあります。  列A   列B   列C   列D (商品名)(大分類)(中分類)(売上金額)  商品A   あ    A    1000  商品B   あ    B    900  商品C   い    A    800  商品D   あ    A    700  商品E   あ    C    600  商品F   あ    F    500 マクロを組んで、このリストの大分類が"あ"、中分類が"A"に該当する商品名と売上金額のみをコピーして、今開いているシートの列A・列Bに連続したデータとして貼り付けたいのですが、うまくいきません。 ご教授宜しくお願い致します。

  • エクセルデータ集計

    エクセルデータ集計の仕方がわからないので教えて下さい。 A列・・・月(○月) B列・・・月日(2012/12/17) C列・・・数量 D列・・・単位(kg・袋…など) E列・・・商品名 F列・・・購入金額(C列×単価) G列・・・単価 商品は100品ぐらいあり、入力データは2000件ぐらいあります。 一覧を商品名別で月ごとの平均単価を出したいのですが、ピボットテーブルで試してみてもなかなかうまくいきません。 ピボットテーブルじゃなくても構いません。 どなたかお分かりになるかたよろしくお願いします。

  • EXCELで一致する文字列を抽出する方法

    EXCELに関する質問です。 ファイル1に売上デ-タがあります。    A    B   C   D 1 商品名 品番 単価 個数 2  あ    A1  100   3 3  い    A2  110   10 4  う    A3   120   5 5  は    A4  130   3 6  ひ    A5  140   7 7  ふ    A6  150   11 8  へ    A7  160   6 9  ほ    A8  170   3 ファイル2に特定の商品名のリストがあります。   A    B   C 1 商品名 2  い 3  ろ 4  は 5  に 6  ほ 7  へ 8  と 9  ち 10  り 11  ぬ ファイル1のSHEET2に    A    B  C  D 1 商品名 品番 単価 個数 2  い    A2  110  10 3  は    A4  130   3 4  へ    A7  160   6 5  ほ    A8  170   3 の様に抽出する方法ですが、商品名が単純な文字列のときは フィルタ-の詳細設定で出来ますが、 商品名が  [8/1発売] 20%OFF  い A2 の様なキャッチコピ-付の文字列の場合、抽出することが出来ません。 (ファイル1・2共にキャッチコピ-付の商品名です。) この場合でも抽出できる方法をご教授いただけないでしょうか? 宜しくお願い致します。

  • エクセルでばらばらのデータを一つにまとめたい。

    以下のような表を作成したいのです。 【作成したい表】     A     B    C 1  商品名  値段   店舗名  2  みかん   30    A店 3  りんご   120    B店 4  ばなな   150    C店 5  らっきょ   200   D店 今、欲しいデータが違うファイルにあります。 【データがある表】     A     B     1  商品名  入荷   2  みかん   30    3  オレンジ  100   4  いちご    300   5  らっきょ   200   現段階で、【作成したい表】のB列の値段は空白です。 【作成したい表】のAの列と【データがある表】のA列の文字列を検索し、 データが一致した場合、 【作成したい表】のB列値段の該当する行に【データがある表】のB列値段へ書き込みたいのです。 A列商品名は【作成したい表】と【データがある表】では並び順も違いますし、 商品名がないものもあります。 たとえば、みかんを例にとると、 【データがある表】A:2に「みかん」があります。 【データがある表】B:2に「30」とありますので、 【作成したい表】B:2に「30」と書き込む。 こんな感じです。 エクセル初心者なのですが、急きょ仕事で大量データの移し替え を頼まれました。 おそらくVLOOKUP関数やIF関数を使用するのだと思いますが うまくいきません。 よろしくお願いします。

  • 数量×単価+数量×単価... 合計を出すどういう関数式になりますか?

    A  B  C  D  E  F  G  H  I 1 A4 A3     A2     A1 2 個数 単価 個数 単価 個数 単価 個数 単価 合計 3  5  8.9  1 17.8        6  10.5 ☆ 単価にはIF関数を使いその列ごとに個数が入力されると単価も自動的に表示されるように設定しています 1行目のA1とB2は結合されています。また他のセルも同様に結合されています A2に個数、B1に単価、C1に個数、D1に単価と交互に数値が入っています。 個数×単価の全ての合計を合計のセル☆に求めたいです。 またE列、F列には個数がないということで、ここには数値をいれたくなく、また「0」を入力しない状態でエラーが出ないようにしたいですその場合どんな関数式になりますか?本当はもっとセルに単価と数量が続いています。自分で考えるととても長い関数になってしまいます。 スマートな関数式と効率のいい関数式を探しています。どなたかよろしくお願いします。

専門家に質問してみよう