ID,CODE,COVERAREAという項目の配列があります。
IDは0~630、CODEは1~12まであり、それぞれに対応した値(CODEAREA)
があります。すべてのCODEにIDは対応しておらず、抜けている数字もありランダムに並んでいます。コードごとに並べ替えると以下のような感じです。
例)ID = 35, CODE = 1, CODEAREA = 36970.94673
ID = 489, CODE = 1, CODEAREA = 36970.9467(実際の数値はすべて違います)
ID = 23, CODE = 1, CODEAREA = 36970.94673
ID = 7, CODE = 1, CODEAREA = 36970.94673
ID = 95, CODE = 1, CODEAREA = 36970.94673
ID = 195, CODE = 1, CODEAREA = 36970.94673
ID = 503, CODE = 1, CODEAREA = 36970.94673
IDごとにCODEの値(CODEAREA)をまとめたい(以下参照)のですが、量が多すぎてどうにもなりません。
ID CODE COVERAREA
103 1 27573.3754
103 2 27573.3754
103 3 27573.3754
103 4 0
103 5 27573.3754
:
この処理に適した関数、計算の仕方を教えてください。
お願いします。
No.5ベストアンサー
- 回答日時:
EXECLでサンプルマクロ作成しました。
何分まだ慣れてないのでその点はご了承をバックアップは忘れずに
まずIDとcodeで「並べ替え」をします。
A列ID
B列Code
C列CODEAREA
としてください。
並び替えたデータを選択して切り取り頭をA2へ貼り付けてください。
ツール マクロ マクロ
と進みマクロ名に任意の名前(ここではaaaaa)を付け作成をクリックしてください
VBediterが開くのでsub aaaaaとend subの間に
y = 0
For ID = 0 To 100
For Code = 1 To 12
y = 12 * ID + Code + 1
Cells(y, 1).Select
If Cells(y, 1) = "" Then Selection.EntireRow.Delete
If Cells(y, 1).Value <> ID Or Cells(y, 2).Value <> Code Then Selection.EntireRow.Insert: Cells(y, 1) = ID: Cells(y, 2) = Code: Cells(y, 3) = 0
Next Code
Next ID
End
のコードをコピーしてください
後はツール マクロ マクロ 実行します
No.4
- 回答日時:
ACCESSの場合で回答します。
テーブル名が"TABLE1"
フィールド名が「ID」「CODE」「COVERAREA」
で構成されていると仮定します。
新規クエリを作成し、以下のSQL文をSQLビューに貼り付けると、
「ID」「CODE」をグループ化し「COVERAREA」の合計を取ることが出来ます。
Select ID,CODE,Sum(COVERAREA) AS COVERAREA計 from TABLE1
Group by ID,CODE;
ACCESSの場合、グループ化をかけるとGroup byの項目順に勝手に並び替
えてくれるようです。
また、「COVERAREA」が"Null"の場合もSum関数を使えば"0"として見てく
れます。
No.3
- 回答日時:
補足です
”=IF(C1="",0,C1)” を入れた後、D列を項目の行だけ
選択してコピーしてください。
自動的にC2,C3に変わります。
行き過ぎるとそこも0が入ってしまいます。
VBAなどで組めばもっといい方法があると思いますが
この回答への補足
ご回答ありがとうございました。
たびたびすみません。データの抜けているところは行そのものが存在しません。
ID CODE COVERAREA
2 2 27852.76563
2 8 1660.632813
2 9 1865.390625
2 12 900
抜けている行を作成し、ID,CODE、0値を入れたいのですが・・・
No.2
- 回答日時:
ID CODE COVERAREAの列は分かれているのでしょうか?
分かれているなら#1の方がいわれているようにしてみましょう
A1 ID
B1 CODE
C1 COVERAREA
になっているとします。その隣(D列)にもうひとつCOVERAREAを作成してそこに
”=IF(C1="",0,C1)”
を入れれば抜けてるところも0が入ります
そしてC列を削除すれば大丈夫だと思うのですが
この回答への補足
たびたびすみません。データの抜けているところは行そのものが存在しません。
並び替えを行うと以下のような感じです。
ID CODE COVERAREA
2227852.76563
281660.632813
291865.390625
212900
抜けている行にID,CODE、0値を入れたいのですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
列番号による項目の取得について
-
UPDATE文のWHERE条件に他のテー...
-
列のヘッダーを含めるのをデフ...
-
SELECT 文 GROUP での1件目を...
-
SQLで列名を変数にできないでし...
-
Access:クエリーにて集計後に...
-
SQLによる"あいうえお"順でソー...
-
【VB.NET】日付型の列にNULLを...
-
特定の列だけをGROUP BYしたい時
-
項目名に大文字と小文字の混在...
-
v$processのPROGRAM列に関する質問
-
DB2のSQL
-
テーブル列数とデータファイル...
-
SQL文をご教授願います
-
IDENTITY列の更新で失敗する
-
”+”の符号をつける方法
-
SQLServerでのSELECT文をORACLE...
-
SQLです教えてくださいお願いし...
-
差し込み後、元データを変更し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
SQLで列名を変数にできないでし...
-
列のヘッダーを含めるのをデフ...
-
Access:クエリーにて集計後に...
-
UPDATE文のWHERE条件に他のテー...
-
列番号による項目の取得について
-
【VB.NET】日付型の列にNULLを...
-
特定の列だけをGROUP BYしたい時
-
テーブル列数とデータファイル...
-
SQLによる"あいうえお"順でソー...
-
複数列の最大値を求めたい
-
v$processのPROGRAM列に関する質問
-
項目名に大文字と小文字の混在...
-
特定の文字列で列を区切るには?
-
Accessでの全データから空白削除
-
”+”の符号をつける方法
-
IDENTITY列の更新で失敗する
-
ALTER TABLE文の書き方について
-
SQLでn番目からm番目を取得したい
おすすめ情報