2

日付列 (A) と文字列を含む列 (B) 1 枚のシートを持つ Excel ドキュメントがあります。別のシートでは、計算を行っています。列 A のセルが DATE(2012,1,1) と DATE(2012,6,1) の間にあり、列 B の同じ行のいずれかの部分に「string」が含まれている場合 ( string )、その行をカウントする必要があります。GoogleはSUMPRODUCTの使用について言及しましたが、動作するまでの日付しか取得できませんでした。以下は、date between の SUMPRODUCT です。

=SUMPRODUCT(--('Sheet1'!A:A>=DATE(2012,1,1)),--('Sheet1'!A:A>=DATE(2012,6,1)))

これを最終値に使用しようとしましたが、正しくありません。

=SUMPRODUCT(--('Sheet1'!A:A>=DATE(2012,1,1)),--('Sheet1'!A:A>=DATE(2012,6,1)),--('Sheet1'!B:B="*"&"string"&"*"))

編集: どうやら上記は機能しますが、文字列は値と等しい必要があります。* はワイルドカードとして認識されていません。

ありがとう。

4

4 に答える 4

3

SUMPRODUCTで列全体を使用している場合は、Excel 2007 以降が必要であり (それ以外の場合は機能しません)、COUNTIFS でワイルドカードを使用できます。

=COUNTIFS('Sheet1'!A:A,">="&DATE(2012,1,1),'Sheet1'!A:A,"<="&DATE(2012,6,1),'Sheet1'!B:B,"*String*")

于 2012-12-26T18:17:22.940 に答える
1

Sumproduct ではワイルドカードを使用できません。ISNUMBER(SEARCH("string",range)) を使用して文字列を検索できます。式は以下です。

=SUMPRODUCT(--('Sheet1'!A:A>=DATE(2012,1,1)),--('Sheet1'!A:A<=DATE(2012,6,1)),--(ISNUMBER(SEARCH("string",'Sheet1'!B:B))))
于 2012-12-26T18:10:23.550 に答える
1

あなたが遭遇している問題は、SUMPRODUCT. これを回避する方法 ( を使用する必要があると仮定SUMPRODUCT) は、 を使用するかSEARCHFINDで使用するために必要な配列を作成することSUMPRODUCTです。以下は、ターゲット文字列がセルに含まれている例ですD1(これは を使用して配列数式として入力する必要があることに注意してくださいCtrl+Shift+Enter)。

=SUMPRODUCT(
    --(Sheet1!A:A>=DATE(2012,1,1)),
    --(Sheet1!A:A<=DATE(2012,6,1)), 
    IFERROR(IF(SEARCH(D1,Sheet1!B:B)>0,1,0),0))

IFERROR不一致を考慮しますが、これは Excel 2007 の機能です。Excel 2007 を使用していない場合は、次の方法を試すことができます。

=SUMPRODUCT(
    --(Sheet1!A:A>=DATE(2012,1,1)),
    --(Sheet1!A:A<=DATE(2012,6,1)),
    IF(ISERROR(IF(SEARCH(D1,Sheet1!B:B)>0,1,0)),0,IF(SEARCH(D1,Sheet1!B:B)>0,1,0)))

<=また、式の例では、6月との比較で符号をに切り替える必要があります:)

于 2012-12-26T17:51:12.890 に答える
0

使用している Excel のバージョンは何ですか? 2007 年以降であれば、COUNTIFS を使用できます。ここに構文へのリンクがあります。 COUNTIFS を使用する場合でも、2 つの列を使用する必要がある場合があります。Sheet2 の列 A は、次の式を使用して、Sheet1 の列 B に「文字列」が含まれているかどうかを確認する必要があります。

=IF(ISERR(FIND("string",'Sheet1'!B1)), FALSE, TRUE)

'Sheet1'!B1 を必要なセルに置き換え、それを下にドラッグして、Sheet1 の列 B と同じ行数にする必要があります。次に、COUNTIFS を使用できます。

=COUNTIFS('Sheet1'!A:A, ">=" DATE(2012,1,1), 'Sheet1'!A:A, ">=" & DATE(2012,6,1), A:A, TRUE.
于 2012-12-26T17:46:19.613 に答える