SUMIF/(S) 式を垂直方向に下にドラッグして情報を水平方向に引き出す方法、またはその逆の方法はありますか?

SUMIF/(S) 式を垂直方向に下にドラッグして情報を水平方向に引き出す方法、またはその逆の方法はありますか?

基本的に、=SUMIFS を使用してシート A (SA) に情報を入力しようとしていますが、実際の数式に取り込まれる情報はシート B (SB) から取得され、水平形式で整理されています。

私が使用しようとしている式は次のとおりです。

=SUMIFS('Sheet B'!AK$1:AK$4350, 'Sheet B'!$A$1:$A$4350,"word", 'Sheet B'!$V$1:$V$4350, "word")

ここで、列AKには列Aに取り込む必要がある値があり、列VにはSUMIFに使用する識別可能な単語が含まれています。

これを下にドラッグすると、下のセルの結果は次のようになります。

=SUMIFS('Sheet B'!AL$1:AL$4350, 'Sheet B'!$A$1:$A$4350,"word", 'Sheet B'!$V$1:$V$4350, "word")

私は OFFSET 関数を SUM および SUBTOTAL(9 など) と組み合わせて使用​​し、さらに INDEX 関数も使用してみました (ただし、この関数は合計を計算せず、単に数字の 1 つを返します)。

ご協力いただければ幸いです。

注意:この例では配列数式は使えないと思います

答え1

1 つはINDEXセルへの参照を返し、2 つINDEXは範囲を返します。 ROW()ドラッグすると増加する数値を返すために使用できます。

=SUMIFS(INDEX('Sheet B'!$1:$1,ROW($A37)):INDEX('Sheet B'!$4350:$4350,ROW($A37)), 'Sheet B'!$A$1:$A$4350,"word", 'Sheet B'!$V$1:$V$4350, "word")  

静的合計範囲が に変更されますINDEX('Sheet B'!$1:$1,ROW($A37)):INDEX('Sheet B'!$4350:$4350,ROW($A37))

INDEX('Sheet B'!$1:$1,ROW($A37))行 1 の列 37 を返します。下にドラッグすると列 38 に変わります。

関連情報