|
|
|
|
|
|
|
|
|
|
|
|
|
|
Excel情報559 セル --不要な計算を減らして Excel を高速化する方法 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
【テーマ】
通常、数式で範囲内に空白セル、空白行や空白列があると、不要な計算が発生して処理が遅くなることがあります。今回は、その無駄を省き、実データだけを扱える方法をご紹介します。 |
【方法】
TRIMRANGE関数を使用します。 |
【参考】
さまざまな関数と組み合わせることで、柔軟に応用することができます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■ 今回の内容 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
通常、数式を設定する際、範囲内に空白セル、空白行や空白列が含まれていると、 |
|
|
|
|
|
意図しない計算が発生して処理が遅くなることがあります。 |
|
|
|
|
|
|
|
|
特に大量のデータや定期更新されるリストを扱う場合、この無駄な計算は作業効率に影響します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
そこで今回は、空白セル、空白行や空白列を自動で除外し、 |
|
|
|
|
|
|
|
実際にデータが入力されているセルだけを対象にできる関数(TRIMRANGE関数)をご紹介します。 |
|
|
|
|
これにより、数式の計算速度を改善し、処理時間も大幅に短縮できます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
※TRIMRANGE関数はMicrosoft 365
でのみ利用可能です。(2026年1月現在) |
|
|
|
|
|
ただし、Microsoft
365でも古いバージョンでは対応していないため、ご注意ください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■ 設定方法 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
【TRIMRANGE関数】 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
指定した範囲の空白セル、空白行や空白列を除外し、データが存在する範囲のみ対象にする関数です。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
スピル機能を組み合わせると、特に効果を発揮します。 |
|
|
|
|
|
|
|
|
トリム参照は実データだけを配列として返し、
|
|
|
|
|
|
|
|
|
|
スピル機能はその配列をセル上に自動展開するので、
|
|
|
|
|
|
|
|
|
この2つを組み合わせることで、空白や行数を意識しない数式が実現します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=TRIMRANGE(範囲(または配列),トリミングする行,トリミングする列) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
トリミングする行(省略可。省略した場合は 「3 先頭と末尾の両方の空白行をトリミング」) |
|
|
|
|
|
0 なし |
|
|
|
|
|
|
|
|
|
|
|
|
1 先頭の空白行をトリミング |
|
|
|
|
|
|
|
|
|
|
2 末尾の空白行をトリミング |
|
|
|
|
|
|
|
|
|
|
3 先頭と末尾の両方の空白行をトリミング |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
トリミングする列(省略可。省略した場合は 「3 先頭と末尾の両方の空白列をトリミング」) |
|
|
|
|
|
0 なし |
|
|
|
|
|
|
|
|
|
|
|
|
1 先頭の空白列をトリミング |
|
|
|
|
|
|
|
|
|
|
2 末尾の空白列をトリミング |
|
|
|
|
|
|
|
|
|
|
3 先頭と末尾の両方の空白列をトリミング |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[トリミングのイメージ] |
|
|
|
|
|
|
|
|
|
|
下記設定は、末尾の空白行(8から10行目)、先頭(A列)と末尾(E列)の空白列がトリミングされます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=TRIMRANGE(A1:E10,2,3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
数式と組み合わせた例 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例. VLOOKUP関数との組み合わせ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
商品マスタのデータが追加されることを見越し、範囲を列単位で指定しても、 |
|
|
|
|
|
|
TRIMRANGE関数を使用することで、データが存在する範囲のみを検索するため、 |
|
|
|
|
|
|
通常の指定方法よりも処理が速くなります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=VLOOKUP(E3,TRIMRANGE(B:C),2,FALSE) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■ ご参考までに |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
上記で挙げた以外にも、様々な関数と組み合わせることで、活用できる幅が広がります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例えばTAKE関数を組み合わせると、データが入力された先頭行と最終行のデータの取得が可能です。 |
|
|
|
|
※TAKE関数は、配列(表)から特定の行・列を取り出せる関数です。Microsoft365のみ使用可(2026年1月現在) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=TAKE(TRIMRANGE(A3:E10000),1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最終行: |
=TAKE(TRIMRANGE(A3:E10000),-1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|