それぞれの行が条件を満たしている場合の範囲の合計金額

それぞれの行が条件を満たしている場合の範囲の合計金額

各行に基づいて各月の合計時間を計算するスプレッドシートを作成しようとしています。例をもう少し明確にするために、以下の Excel では、クライアント 1 の値は 28、クライアント 3 の値は 16 になります。

SUMIF 関数を使用しようとしていますが、合計範囲を複数のセルに設定することはできません。

ここに画像の説明を入力してください

そして、私は次のように情報を確認したいと思います。

ここに画像の説明を入力してください

答え1

簡単な数式を作成できます:

=SUM(IF(B5:B21="Client 1",G5:AK21))

これは 2 つのステップで配列計算を実行します。

  1. 列 B = "クライアント 1" の場合、数字の行全体 (空白も含む) を返します。
  2. すべての行(そのほとんどには空白が含まれます)を取得したら、それらの値を合計するだけです。

必要に応じて、数式内の を外部セルへの参照に置き換えることができます"Client 1"。また、数式の 2 番目の部分で月の範囲全体が正確であることを確認してくださいG5:AK21

答え2

優れた=SUM(IF())アプローチを基に@デイブ使用することができますOFFSET1 年の 12 か月それぞれに対応する列を選択する機能。

このOFFSET関数は、高さと幅によって長方形の範囲を定義します。範囲の左上隅は、指定されたワークシート セルの下の行数と右の列数で定義されます。以下の方法では、黄色で強調表示されたセルを指定セル (セルE17) として使用します。

範囲A2:E14(下のスクリーンショットを参照)はいくつかの情報を提供します。メタデータ、ハイライトされたセルを基準として、12か月ごとの日次値の列がどこに配置されているかを示します。有用な値は、列オフセットそしてコラムたとえば、1月は黄色のセルの右1列目から日次値が31列を占め、2月は黄色のセルの右32列目から日次値が29列を占めます(セルの年を閏年以外の年に変更すると、B1セルの値はE428に変更されます)。月#そして累積的な計算に必要な中間値列オフセットそしてコラム

メタデータ構築

月別および顧客別のデータ合計を要約する式は、内訳形式で次のように記述できます。

=SUM(
IF(Sheet1!$B$18:$B$23=$A2,
OFFSET(Sheet1!$E$17,
1,
VLOOKUP(B$1,Sheet1!$A$3:$E$14,4),
6,
VLOOKUP(B$1,Sheet1!$A$3:$E$14,4)
)
)
)

または、完全な式として

=SUM(IF(Sheet1!$B$18:$B$23=$A2,OFFSET(Sheet1!$E$17,1,VLOOKUP(B$1,Sheet1!$A$3:$E$14,4),6,VLOOKUP(B$1,Sheet1!$A$3:$E$14,5))))

ここで、メタデータと日次データはワークシートに含まれていると想定されますSheet1

この数式は 1 月/クライアント 1 に適用され、以下のスクリーンショットに部分的に示されているように、他の月とクライアントの残りのセルにコピーできます。結果#N/Aにエラーが発生しないように、メタデータと結果テーブルで使用される月の名前が完全に一致していることを確認してください。

結果表の作成

関数の 2 番目と 4 番目の引数OFFSETは 1 と 6 です。これは、データが黄色で強調表示されたセルの後の最初の行から始まり、示されている例では 6 行のデータがあるためです。行数が異なる場合は、正しい値を代入するだけです。

3番目と5番目の引数は、単に関数を使用してVLOOKUP検索します。列オフセットそしてコラム関係する月のメタデータの値。

関連情報