動作監査:現在の数式はまったく同じ検索を2回繰り返していますが、提示された不明IDのルールを満たしていません。XLOOKUPはキーが見つからないと0を返し、外側の比較がそれを正当な単価ゼロとして扱います。動作を維持するLETではこの不具合も残るため、修正は別途明示する必要があります。
H2の修正後のLET数式:=IF(B2="","",LET(productId,B2,quantity,E2,unitPrice,XLOOKUP(productId,Products!$A$2:$A$2000,Products!$D$2:$D$2000,NA(),0),IFERROR(IF(unitPrice>0,ROUND(quantity*unitPrice,2),0),"Review")))。productIdとquantityは行ごとに変わる相対参照の入力を表し、unitPriceは固定した参照元範囲に対して完全一致検索を1回だけ実行します。NA()により、不明なキーはIFERRORに到達する一方、実際の数値ゼロは引き続き0を返します。意図的な動作変更は、不明なIDを0からReviewに変えることです。空白、実際のゼロ、丸め、入力エラー時の動作は維持されます。
互換性:提示されたMicrosoft 365環境で有効です。今後LETを利用できない相手に渡す場合に限り、修正済みのLETを使わない形式も残してください。空白でない行ごとの検索が2回から1回になるため性能が向上する可能性はありますが、ブックを測定せずに具体的な改善率を示すことはできません。
同等性/修正テスト:P-10 ×3は修正後の旧式とLET式の両方で37.50、P-FREE ×2は0、P-99はReview(意図的な修正)、IDが空白なら検索せず空白、有効な正の単価で数量がテキストの「three」ならReview。H3にコピーするとproductId/quantityはB3/E3に変わり、Productsの範囲は固定されたままです。単一結果の検索を信頼する前に、Product IDの重複も別途確認してください。