最新の機能を使って「数式入力」の効率化! #Excel #LifeHacks #Office
私がよくやっていたのが、商品IDの一覧に対してXLOOKUPで商品名を返して、下の行にオートフィル→途中で参照がズレて修正…という流れ。忙しいときほどミスが出るので、「スピル(spill)」を使うやり方に切り替えました。 ポイントは“検索値をセル1つ”ではなく“範囲”で渡すことです。例えば、IDがB15から下に並ぶなら、戻り値(商品名)をC15に入れて = XLOOKUP(B15:B1000, B3:B12, C3:C12, "-") のように書くと、結果がC15から下へ自動で展開します。これがスピルで、数式を入れるのは先頭セル1つだけ。以降のセルは触らないので、コピー/貼り付けや書式のコピー/貼り付けを繰り返す手間もかなり減りました。 ただ、このままだと「B15:B1000」に空白が多いと、空行にも「-」がずらっと出て見た目が気になることがあります。私は次のどちらかで整えています。 1) 末尾の空白を除外して計算を軽くする データが増減する表なら、Excelのテーブル(Ctrl+T)化が便利です。ID列をテーブルにして、 = XLOOKUP(Table1[ID], Table1[IDマスタ], Table1[商品名マスタ], "-") みたいに列参照にすると、行が増えても自動で追従してくれます。 2) 空白は表示しない IDに空白が混ざるなら、TRIMで余計な空白を落としてから検索するとヒット率が上がりました。 例: = XLOOKUP(TRIM(B15:B1000), B3:B12, C3:C12, "") ちなみに「戻り範囲を複数にしたい」場合は、戻り範囲を複数列(例:C3:D12)にすると、商品名+単価みたいに横方向にもスピルしてくれます。 最後に、VLOOKUP/HLOOKUPとの違いで悩んでいた頃があるのですが、XLOOKUPは“右(下)じゃなくても返せる”“見つからない時の値を指定できる”のが地味に効きます。数式のコピーミスが多い人ほど、スピル前提の書き方にすると作業がかなり安定しました。








































