使用、
match(1e99, Allocation_Updt!$J:$J)
...列の最後の番号や日付の行番号を検索します。 J83の最後の値では、次の3つのレンジのすべての参照は同じものにしている
Allocation_Updt!$J$2:$J$83
Allocation_Updt!$J$2:index(Allocation_Updt!J:J, match(1e99, Allocation_Updt!$J:$J))
index(Allocation_Updt!J:J, 2)):index(Allocation_Updt!J:J, match(1e99, Allocation_Updt!$J:$J))
だからあなたSUMPRODUCT function動的に必要とされる正確に何に限定することができ
=SUMPRODUCT(Allocation_Updt!$J$2:index(Allocation_Updt!$J:$J, match(1e99, Allocation_Updt!$J:$J))*((RIGHT(Allocation_Updt!$F$2:index(Allocation_Updt!$F:$F, match(1e99, Allocation_Updt!$J:$J)),6)+0)=$E62))/100
なお、最後の行列Jの番号は、列Fと列Jの両方で最後に有効なエントリを取得するために使用されます。
SUMPRODUCTの不名誉な性質を考えると、
=sumifs(Allocation_Updt!$J:$J, Allocation_Updt!$F:$F, "*"&$E62)/100
これは具体的には「右端の6文字の一致」ではありません。それは「E62で終わる」マッチです。あなた自身のデータに関するいくつかのテストは、これが実行可能な選択肢であるかどうかをすぐに証明します。それはより効率的で、より寛容であり、ペナルティなしで完全な列参照を使用することができます。
実際には、E62の値をRIGHT(...、56)ではなくテキストの数値に変換することがあります。 SUMPRODUCTは、数値に変換できないテキスト上で簡単にチョークしますが、実際にはテキストに変換できない数値はありません。 – Jeeped
upnotesのトンとあなたに好きです。どちらのソリューションもうまく動作します。 –