• ベストアンサー

アクセスを使って、レポートの作成について(エクセルでも)

科目 内訳1 詳細 食費 主食 パン 食費 主食 米 食費 野菜 ナス 食費 野菜 かぼちゃ 食費 野菜 ネギ 食費 外食 お好み焼き 食費 外食 ファミレス 食費 外食 焼肉 食費 外食 お寿司 通信費 電話 携帯 通信費 電話 固定 通信費 宅急便 ヤマト 通信費 宅急便 佐川 通信費 宅急便 ペリカン 通信費 切手 80円 通信費 ネット ADSL 消耗品費 衛生 トイレットペーパー 消耗品費 衛生 浴槽洗剤 消耗品費 衛生 台所洗剤 消耗品費 電球 リビング 消耗品費 用紙 A4 消耗品費 用紙 A3 アクセスでもエクセルでも特にこだわっていないのですが、上記のようなデーターベースを下記のようなレポートにしたいのですが、 食費 主食 野菜 外食 パン ナス お好み焼き 米 かぼちゃ ファミレス ネギ 焼肉 お寿司 通信費 電話 宅急便 切手 ネット 携帯 ヤマト 80円 ADSL 固定 佐川 ペリカン 消耗品費 衛生 用紙 トイレットペーパー A4 浴槽洗剤 A3 台所洗剤 なにか方法はありますか?データの件数が1600件ほどです。 手作業も考えたのですが、気が遠くなってきたので・・・ ちなみにOfficeは2000、OSはWin2000を使用しています。 ピポットテーブルも考えたのですが、ピポットテーブルで集計以外の目的で使用することって可能なのでしょうか? 宜しくお願いします

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

エクセルで実現する場合のヒントです。手作業で1,600件並べるよりは楽だと思います。(ただし科目、内訳1、詳細でソートされていることが前提)     A列 B列   C列   1行目 科目 内訳1  詳細 2行目 食費 主食   パン 3行目 食費 主食   米 としてD,E,F列に科目、内訳1、詳細の出現順番を計算させます D2:=TEXT(IF(A2=OFFSET(A2,-1,0),OFFSET(D2,-1,0),OFFSET(D2,-1,0)+1),"0000") E2:=TEXT(IF(A2=OFFSET(A2,-1,),IF(B2=OFFSET(B2,-1,0),OFFSET(E2,-1,0),OFFSET(E2,-1,0)+1),1),"0000") F2:=TEXT(IF(B2=OFFSET(B2,-1,),IF(C2=OFFSET(C2,-1,0),OFFSET(F2,-1,0),OFFSET(F2,-1,0)+1),1),"0000") そしてG列にD~F列を連結します  =CONCATENATE(D2,E2,F2) D~G列はデータ行数分下にコピーしてください。次に集計表ですが、例えばJ1に一番目の科目を示す0001(文字列)を入れて、J2に  =INDEX($A:$A,MATCH(OFFSET(J2,-1,0),$D:$D,0)) と入れれば「食費」が得られます K2に  =INDEX($B:$B,MATCH($J1&TEXT(COLUMN()-COLUMN($J1),"0000")&"0001",$G:$G,0)) と入れれば内訳1の1番目の「主食」が得られます。K2を横にコピーすれば内訳1の2番目、3番目が得られます そしてK3に  =INDEX($C:$C,MATCH($J$1&TEXT(COLUMN()-COLUMN($J$1),"0000")&TEXT(ROW()-ROW($J$2),"0000"),$G:$G,0)) と入れると「主食」の1番目の詳細である「パン」が得られます。これを縦にコピーすると2番目、3番目の詳細が得られます。K3~Knを横にコピーするとそれぞれの内訳1に対する詳細が得られます。 なお上記式は関数がエラーになったときの処理は入れていませんので、エラー処理は追加してください。

kuwong
質問者

お礼

お礼が遅くなりすみません。 具体的な記述までして頂いて、ありがとうございます。 少しバタバタしているので、この件が後回しになりそうです。 早速、試してみます。 ありがとうございます。

その他の回答 (1)

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  いまひとつ貴方の考えているレポート作成のルールがよく分かりません。例で示すより、言葉でルールを作成してそのルールに則って作成するにはどうしたらよいか質問したほうが良いと思います。  ピボットテーブルは上記の表に「費用」の列が加わったときに、各分類毎に合計(例えば食費の合計)することが可能です。「費用」の列が無くても表は作れますが。。。 では。

kuwong
質問者

お礼

すみません。(+_+) 最初は文書で書いていたのですが、帰って分かりづらいと思って、具体的に例をあげたつもりだったんですけど、却ってアダになってしまったようで、反省です。 でも、なんとなく分かってきたのでありがとうございました。

関連するQ&A