2

次の形式の Excel テーブルがあります。

ここに画像の説明を入力

そして、Excel の数式を使用して次の質問に答えたいと思います。

  • 11 月 17 日から 11 月 20 日までのディズニーの合計はいくらですか?

私の試み 次のアプローチを試みましたが、失敗しました。

  1. SUMIFS配列での使用:

    =SUMIFS(c4:g8,c3:g3,i1,b4:b8,">="&i2,b4:b8,"<="&i3)

ここで、i1 には が含まれDisney、i2 に17-Novは日付形式が含まれ、i3 に20-Novは日付形式が含まれます。

しかし、セルの範囲を指定する必要がある配列を送信しているため、これは機能しません。そこで、次の方法を試しました。

  1. 範囲で使用SUMIFSする:

    =SUMIFS(c4:g8,b4:b8,">="&i2,b4:b8,"<="&i3)

しかし、テキスト (表の日付値) に>,演算子を使用していると思われるため、これも機能しません。<

じゃあ何をすればいいの?
テーブルのフォーマットを完全に変更する必要がありますか?
範囲に戻す必要がありますか?

4

3 に答える 3

1

柔軟性を高めるために、データを「平坦化」し (例: )、ピボットテーブル フィルタリング機能を使用することを検討します。

于 2014-06-24T11:07:01.410 に答える
1

これが Sumproduct() の良いところです。

=SUMPRODUCT($C$4:$G$8*($C$3:$G$3=company)*($B$4:$B$8>=startDate)*($B$4:$B$8<=finishDate))

ここに画像の説明を入力

companystartDateおよびfinishDateA11、B11、および C11 のセルと呼ばれます。表と行 11 の日付は実際の日付です。

日付をテキスト値として保存すると、日付範囲のデータを計算できなくなります。日付は実際の日付である必要があります。テキストを使用して日付範囲を定義することはできません。

于 2014-06-24T10:42:18.903 に答える
1

とを使用IndexMatchて、合計する列を選択できます。

このようなもの

=SUMIFS(INDEX($B$4:$G$8,,MATCH(I1,$B$3:$G$3)),$B$4:$B$8,">="&I2,$B$4:$B$8,"<="&I3)

このようにテーブル構造化アドレス指定を利用することもできます
(Excel 2010 でテストされているため、Excel 2007 ではテーブル形式が若干異なる場合があります)。

=SUMIFS(INDEX(MyTable,,MATCH(I1,MyTable[#Headers])),MyTable[Date],">="&I2,MyTable[Date],"<="&I3)
于 2014-06-24T10:27:03.153 に答える