IMPORTTEXT関数(テキストファイルのインポート)
IMPORTTEXT 関数は、テキストベースのファイル (CSV、TXT、TSV など) から、Excelに直接データをインポートできます。
区切り記号を指定したり、行をスキップまたは取得したり、エンコードまたはロケール設定を適用して、インポートするコンテンツを制御できます。
CSVに特化した関数、IMPORTCSV関数が同時に公開されています。
注: この機能は2026/1/18現在、Windows版Excelのバージョン2502(ビルド 18604.20002)以降を実行しており、かつ「Microsoft 365 Insider ベータチャネル」に登録されているサブスクリプションユーザー向けに一般公開されています。
一方で、現時点では挙動や制約に注意すべき点も多く、用途によっては期待した結果にならないケースがあります。
本ページでは、実際の挙動を確認しながら、仕様上の注意点を整理します。
ページ内目次
- ローカルCSV(UTF-8)
オプション引数を全て省略
「区切り記号」「行のスキップ」を指定
「区切り記号」「行の取得」 - ローカルTSV(Shift_JIS(SJIS))
「エンコード」を指定
「ロケール」を指定 - WebのCSV
- WebのHTML
IMPORTTEXT関数の書式
IMPORTTEXTの構文
IMPORTTEXTの引数
| 引数 | 説明 |
| パス | (必須) インポートするテキスト ベースのファイルのローカル ファイル パスまたは URL。 |
| 区切り記号 | ファイル内で列を区切る方法を指定する文字または文字列。 省略した場合、区切り記号として tab を使用します。 |
| 行のスキップ | スキップする行数を指定する数値。 負の値を指定すると、配列の末尾から行がスキップされます。 |
| 行の取得 | 返す行数を指定する数値。 負の値は、配列の末尾から行を受け取ります。 |
| エンコード | ファイル エンコード。 既定では、UTF-8 が使用されます。 |
| ロケール | 地域の書式設定 (日付、数値形式など) を決定します。 既定では、OS ロケールが使用されます。 |
IMPORTTEXT関数の引数詳細解説
パス
インポートするテキスト ベースのファイルのローカル ファイル パスまたは URL。
この関数をセルに入力すると、以下のような確認メッセージが出力されます。


区切り記号
任意の文字(2バイト以上も可)を指定します。
省略した場合、「tab」(文字コードCHAR(9)) が使用されます。
","
CHAR(9) … 9はTABの文字コード
"漢字"
これらの文字でも区切ることができます。
行のスキップ
正の値
2
最初の2行がスキップ(除外)されます。
-2
末尾の2行がスキップ(除外)されます。
{0;2;4}
1行目、3行目、5行目の先頭列だけが取得されます。
想定外の指定だとは思いますが、かなり不思議な挙動ですし、これを期待した使い方はできません。
したがって、現時点では単一数値以外は正常に動作しないと考えてください。
行の取得
2
最初の2行が取得されます。
-2
末尾の2行が取得されます。
エンコード
既定では、UTF-8(BOMの有無は問わない) が使用されます。
| 識別子 | .NET 名 | 追加情報 |
| 932 | shift_jis | ANSI/OEM 日本語;日本語 (Shift-JIS) |
| 65000 | utf-7 | Unicode (UTF-7) |
| 65001 | utf-8 | Unicode (UTF-8) |
| 1200 | utf-16 | Unicode UTF-16、リトル エンディアン バイト順 (BMP of ISO 10646);マネージド アプリケーションでのみ使用できます |
| 12000 | utf-32 | Unicode UTF-32、リトル エンディアン バイト順。マネージド アプリケーションでのみ使用できます |
| 12001 | utf-32BE | Unicode UTF-32、ビッグ エンディアン バイト順。マネージド アプリケーションでのみ使用できます |
| 20127 | us-ascii | US-ASCII (7 ビット) |
| 51932 | euc-jp | EUC 日本語 |
| 50220 | iso-2022-jp | ISO 2022 日本語(半角カタカナなし)日本語 (JIS) |
| 1252 | windows-1252 | ANSI ラテン 1;西ヨーロッパ (Windows) |
| 1253 | windows-1253 | ANSI ギリシャ語;ギリシャ語 (Windows) |
| 936 | gb2312 | ANSI/OEM 簡体字中国語 (PRC、シンガポール);簡体字中国語 (GB2312) |
| 949 | ks_c_5601-1987 | ANSI/OEM 韓国語 (統一ハングル コード) |
| 950 | big5 | ANSI/OEM 繁体字中国語 (台湾;香港特別行政区(PRC);繁体字中国語 (Big5) |
上記は一部抜粋です。
全一覧は以下を参照してください。
https://learn.microsoft.com/ja-jp/windows/win32/intl/code-page-identifiers
いわば、「そのPCの設定にお任せします」という自動指定のフラグです。
通常の日本語環境の場合: 0 を指定することは、実質的に 932 (Shift_JIS) を指定することと同じになります。
ロケール
ロケールの指定によって、日付時刻・数値形式の変換に違いが発生します。
既定では、OS ロケール(日本:ja-JP)が使用されます。
これらはコントロールパネルで設定されていますが、コントロールパネルを変更してもこの読み込み動作は変更できません。
変更されるのは、セルの出力時に既定の表示形式が変わるだけで、このインポート動作を変更することはできないようです。
※これは不便なので、正式リリースまでに変更される可能性があるかもしれません。
| Language | 地理的な地域 | 言語タグ | LCID |
| アラビア語 | サウジアラビア | ar-SA | 1025 |
| ブルガリア語 | ブルガリア | bg-BG | 1026 |
| 簡体字中国語 | 中華人民共和国 | zh-CN | 2052 |
| 中国語 | 台湾 | zh-TW | 1028 |
| クロアチア語 | クロアチア | hr-HR | 1050 |
| チェコ語 | チェコ共和国 | cs-CZ | 1029 |
| デンマーク語 | デンマーク | da-DK | 1030 |
| オランダ語 | オランダ | nl-NL | 1043 |
| 英語 | 米国 | en-US | 1033 |
| エストニア語 | エストニア | et-EE | 1061 |
| フィンランド語 | フィンランド | fi-FI | 1035 |
| フランス語 | フランス | fr-FR | 1036 |
| ドイツ語 | ドイツ | de-DE | 1031 |
| ギリシャ語 | ギリシャ | el-GR | 1032 |
| ヘブライ語 | イスラエル | he-IL | 1037 |
| ヒンディー語 | インド | hi-IN | 1081 |
| ハンガリー語 | ハンガリー | hu-HU | 1038 |
| インドネシア語 | インドネシア | id-ID | 1057 |
| イタリア語 | イタリア | it-IT | 1040 |
| 日本語 | 日本 | ja-JP | 1041 |
| カザフ語 | カザフスタン | kk-KZ | 1087 |
| 韓国語 | 韓国 | ko-KR | 1042 |
| ラトビア語 | ラトビア | lv-LV | 1062 |
| リトアニア語 | リトアニア | lt-LT | 1063 |
| Malay | マレーシア | ms-MY | 1086 |
| ノルウェー語 (ブークモール) | ノルウェー | nb-NO | 1044 |
| ポーランド語 | ポーランド | pl-PL | 1045 |
| ポルトガル語 | ブラジル | pt-BR | 1046 |
| ポルトガル語 | ポルトガル | pt-PT | 2070 |
| ルーマニア語 | ルーマニア | ro-RO | 1048 |
| ロシア語 | ロシア | ru-RU | 1049 |
| セルビア語 (ラテン) | セルビア | sr-latn-RS | 2074 |
| スロバキア語 | スロバキア | sk-SK | 1051 |
| スロベニア語 | スロベニア | sl-SI | 1060 |
| スペイン語 | スペイン | es-ES | 3082 |
| スウェーデン語 | スウェーデン | sv-SE | 1053 |
| タイ語 | タイ | th-TH | 1054 |
| トルコ語 | トルコ | tr-TR | 1055 |
| ウクライナ語 | ウクライナ | uk-UA | 1058 |
| ベトナム語 | ベトナム | vi-VN | 1066 |
以下のページより当該部分のみ抜粋しました。
https://learn.microsoft.com/ja-jp/office/2016/language/language-identifiers-optionstate-id-values
IMPORTTEXT関数の更新タイミング
関数を入力した直後

ただし、
一度関数を入れたのちに、セル編集(F2等)で再入力しても再読み込みは行われません。
元データが変更されていても再読み込みされないので注意が必要です。
※引数を変更したり何かしら数式変更した場合は、別の数式を入れたことになるので再読み込みされます。
Excelファイルを開いた直後

データが変更されているかどうかの確認はされないようです。
つまり、毎回全データが読み込まれてしまうようです。
運用によっては、更新方法を慎重に検討する必要があります。
正式リリースまでに、「すべて更新」以外では更新しないか、もしくはオプションで選択できるようになってほしいところです。
すべて更新

したがって、Power Queryの更新とは区別することはできません。
まさしく、「すべて更新」されてしまいます。

判別するには、ステータスバーの左下で、以下のメッセージが出ているかを確認してください。
したがって、Power Queryを良く使っていた人には違和感はないでしょうが、あまり使っていない人は戸惑うかもしれません。
数式の再計算では更新されない
「関数を入力した直後」で記載したとおり、数式再入力では更新されません。
「すべて更新」するか、当該セルをいったん消してから入れ直すしかありません。
これは大きなデータを複数扱う場合には、不便な場合が出てくるかもしれません。
IMPORTTEXT関数のデータ量の制限
これは、そもそもスピル数式(動的配列数式)なので当然です。
もちろん、スピル範囲(出力範囲)に既存データがある場合も「#スピル!」エラーになります。
日付・時刻・指数表記のデータ変換
近年追加された、「自動データ変換」は、適用されないようです。

そこで、区切り文字で1項目ずつに区切らずに、行全体を読み込んでから処理したらと考えたら、


※2行目に注目
数値間のカンマ(,)が消えてしまいます。
取り込み時に、1行すべてが数字とカンマだけの場合は、全体を数値として扱うという暗黙のルールがあるようです。

IMPORTTEXT関数の使用例
ローカルCSV(UTF-8)




ローカルTSV(Shift_JIS(SJIS))


Shift_JIS(SJIS)のファイルなので、エンコードに「932」を指定しています。
日本語環境のPCであれば、エンコードは「0」でもSJISになります。

4行目に注目してください。
ドイツでは、
日付は「DD.MM.YYYY」形式なので「.」区切りです。
「1/17」→「1/17」
WebのCSV

WebのHTML
html,IMPORTTEXT("https://excel-ubara.com/vba100/VBA100_participant.html"),
ix,XMATCH("<body*",html,2),
DROP(html,ix))

IMPORTTEXT関数についての考察とまとめ
IMPORTTEXT関数の内部挙動についての考察
- 確認メッセージの形式
セルに入力した際に出力される「セキュリティの確認」や「接続」を求める確認ダイアログは、Power Queryで外部データにアクセスする際の挙動と酷似しています。 - 「すべて更新」による再読み込み
「すべて更新」を行う仕様は、従来の接続済みデータ(クエリ)の更新プロセスそのものです。 - ロケールの影響
日付や数値の変換がOSのロケール設定に依存し、かつPower Queryと同様の言語タグ("ja-JP"や"de-DE"など)を使用する点も、エンジンの共通性を示唆している可能性があります。 - 「#BUSY!」状態の発生: 通常の関数とは異なり、バックグラウンドでデータ接続と解析(パース)を行うための待機時間が発生するのは、外部ソースからのインポート処理特有の挙動です。
これらの挙動から、IMPORTTEXT 関数は内部的に Power Query と共通のデータ取得エンジンを利用している可能性が考えられます。
その場合、従来の Power Query と同様の設計思想が反映されていると推測され、仕様変更には一定の制約がある可能性もあります。
現時点での制約事項のまとめ
- ファイルを開いたときに無条件で再読み込みされる
- 「すべて更新」のみで、個別の更新が出来ない
- 「すべて更新」での更新有無・更新完了が判然としない
- 日付、時刻、指数表記のデータ変換を止める手段がない
- 区切りなしで1行を読むと、数値とカンマだけの行は数値として解釈されてしまう
IMPORTTEXT 関数は、従来 Power Query を用いて行っていたテキストデータの取り込みを、ワークシート関数として簡潔に記述できる点が特徴です。
一方で、更新制御、データ変換、ロケール依存の挙動など、Power Query と共通する制約も多く見られます。
小規模データや参照用途では有用ですが、大規模データや厳密な制御が必要なケースでは、従来手法との使い分けが必要になるでしょう。
一方で、取り込み時の自動的なデータ変換を回避したい場合や、規模の大きい複数の CSV ファイルを扱うケースでは、用途が大きく制限されてしまいます。
同じテーマ「エクセル入門」の記事
LAMBDA以降の新関数の問題と解説(ヘルパー関数編)
LAMBDA以降の新関数の問題と解説(配列操作関数編)
PY関数(Pythonコードをセル内で実行)
GROUPBY関数(縦軸でグループ化して集計)
PIVOTBY関数(縦軸と横軸でグループ化して集計)
イータ縮小ラムダ(eta reduced lambda)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)
TRANSLATE関数(翻訳) DETECTLANGUAGE関数(言語識別)
IMPORTTEXT関数(テキストファイルのインポート)
IMPORTCSV関数(CSVファイルのインポート)
新着記事NEW ・・・新着記事一覧を見る
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)
2段階の入力規則リスト作成:最新関数対応|エクセル関数応用(2025-12-24)
IFS関数をVBAで入力するとスピルに関係なく「@」が付く現象について|VBA技術解説(2025-12-23)
数値を記号の積み上げでグラフ化する(■は10、□は1)|エクセル練習問題(2025-12-09)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.条件分岐(Select Case)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.
