[[20230315150630]] 『指定した期間の指定した数値以上の件数を計算した』(wario) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『指定した期間の指定した数値以上の件数を計算したい』(wario)

A列に見積を提出した日付、B列に利益率、C列に見積金額、D列以降その他情報を入力をした表があります。今回B列の利益率で15%以上と15%未満の件数をA列の見積を提出した日の範囲から四半期毎に分けて集計したいのですが、方法がわかりません。できれば1回の計算で集計をだしたいのですが、可能でしょうか。

< 使用 Excel:Microsoft365、使用 OS:Windows10 >


可能です。
アルゴリズムとしては、

1.指定した日付 base_date を設定

2.四半期後の日付 after_date を算出

3.指定した日付の列番号 base_date_row を取得

4.四半期後の日付の列番号 after_date_row を取得
 データ上に四半期後の日付が見つからなければ8へ

5.base_date_row から after_date_row までのfor文で、
 利益率15%以上、未満それぞれの回数をカウントする

6.base_date を after_date で上書き (base_date = after_date)

7.2に戻る

8.カウント結果を表示

こんなかんじでやれば、欲しいデータが得られるのではないでしょうか。
(YiM) 2023/03/15(水) 16:30:27


↑のコメントですが、
列ではなく行
rowではなくcolumnですね、失礼しました。

あと、ついでなんで言ってしまいますが
>今回B列の利益率で15%以上と15%未満の件数をA列の見積を提出した日の範囲から四半期毎に分けて集計したい

ここまで自分のやりたいことが言語化できるなら、マクロを作る実力はあると思います
あとはコードを書くだけですよ、応援してます

(YiM) 2023/03/15(水) 16:41:52


再度失礼、rowの方は合ってました...
(YiM) 2023/03/15(水) 16:44:47

 まずはじめに、サンプルデータと、それに対応する結果のレイアウトなどを提示されることを推奨します。
 日本語だけだとわかりにくいですし、相互の誤解を避けることができます。
 また、検証についての議論にも有益です。

 その意味で前提が必ずしも確定していない段階で恐縮ですが、
 ピボットテーブルを利用すると良いと申し上げておきましょう。
 (ただし、「グループ化」を使うと、年度の開始が1月だったりするので、グループ化は使わず、
  自前で、「年度」、「四半期」、「月」などを作成して、これを利用するとよいと思います。)

 下記の【参考記事】を参考すれば、簡単にできると思います。
http://www4.synapse.ne.jp/yone/excel2013/excel2013_pivot_group2.html#retu

 ↓こんな表にしておいて、これをもとに集計したらよいでしょう。

 見積日          利益率  利益率区分      年度            四半期          月
 2023/3/16       10%     15%未満         2022年度        第4四半期       3月
 2023/4/1        20%     15%以上         2023年度        第1四半期       4月

 ピボットは一度作成すれば、データが増えてもデータ範囲を指定し直して「更新」ボタンを押すだけで済みます。
 コードでゴリゴリ書くよりも、Excelに備わった機能を使うほうが汎用的ですし、楽だと思います。
 例えば、件数だけでなく金額の合計も、といった話や出力の形式変更などにも、即座に対応できます。
 また、Excelの標準機能なので、担当者変更にも耐えられやすいでしょう。
 ピボットテーブル苦手の人もいますが、簡単な使い方でも、結構便利な武器になるでしょう(きっと)。

(abc) 2023/03/16(木) 06:34:19


(Yim) ありがとうございます。どのように文章に起こせばよいか少し考えましたが、質問の内容が伝わったようでよかったです。一度挑戦してみます。
(wario) 2023/03/16(木) 08:57:20

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.