本ページには広告が含まれています。

TOCOL 関数 セル範囲(配列)を縦1列の配列で返す

TOCOL関数 セル範囲(配列)を縦1列の配列で返します

TOCOL 関数は、セル範囲(配列)を1列の配列にして返す関数です。

2022年8月下旬のアップデートで新たに一般公開された14個の文字列・検索/行列関数のひとつです。(3月から「Office Insider Program」でテストされていたものが公開されたものです)

スポンサーリンク

はじめに

TOCOL 関数は、セル範囲(配列)を縦1列の配列に変換して返す関数です。横1行の配列に変換して返すTOROW 関数も同時公開されています。

くるみこ
くるみこ

TOCOL 関数の使い方について紹介していきます。
この関数を使用できるのは、サブスクリプション版の「Microsoft 365」アプリ「Excel for Microsoft 365」とWeb版だけですので注意してください。

関数名「TOCOL」は「TO COLUMN」だから「列へ」という意味ですか?
どんな動作なんだろう。詳しく教えてください m(__)m

【この記事でわかることは】
・TOCOL 関数の使い方がわかります

TOCOL 関数の構文

TOCOL 関数入力時に表示される「数式オートコンプリート」から確認しましょう。
※ 対応していないExcelバージョンでは「オートコンプリート」にこの関数は表示されません。
リンクはこの関数の公式ヘルプの掲載場所です。

TOCOL 関数の構文と引数

TOCOL 関数入力時に表示される説明画像です。

TOCOL 関数入力時の表示

表示される引数の表示画像がこちらです。

引数入力時に表示される「オートコンプリート」

=TOCOL(array, [ignore], [scan_by_column])
引数は英文表記です。日本語に整理すると次のような感じです。

【構文】

=TOCOL(配列, [無視], [列でスキャン])
 ※[ ]内の引数は省略可能

引数説明
配列
(array)
セル範囲(配列)を指定【必須】
[無視]
(ignore)
無視する対象を次のいずれかで指定
0:すべて無視しない【既定】
1:空白を無視
2:エラーを無視
3:空白とエラーを無視
[列でスキャン]
(scan_by_column)
FALSE:行でスキャン【規定】
TRUE:列でスキャン

TOROW 関数と同じ引数です。

TOCOL 関数の引数使用例

それでは実際に使ってみて確認することが大事ですので早速やってみましょう。

セル範囲【必須】だけ指定

TOCOL 関数の必須引数のセル範囲(配列)だけ指定する例です。
セル範囲 A1:C3 の配列をスキャンして 1 つの列で配列を返します。

TOCOL 関数の必須引数のセル範囲(配列)だけ指定

・「E1」セルに入力した式は =TOCOL(A1:C3) です。
  省略しないで記述すると =TOCOL(A1:C3,0,FALSE) です。

・左上から右に行をスキャンします。以降、下の行へ移り同様にスキャンしていきます。

・スキャンした結果は、縦1列に連結されて新しい配列としてスピル表示されました

スピルについてはこちらの記事をご覧ください。

セル範囲に空白セルがあった場合

セル範囲内に空白セルがあった場合は次のようになります。

セル範囲に空白セルがあった場合の例

・「E1」セルに入力した式は =TOCOL(A1:C3) ですが、B列を空白にしてみました。

・結果は、空白セルの部分はすべて「0」で表示されます。

・「0」表示ではなく「空白」のままにしたい場合は、次のようにIF関数を使いましょう。
  =IF(TOCOL(A1:C3)=0,””,TOCOL(A1:C3))

・2番目の引数 [無視] を設定する場合の動作は次の例で解説します。

2番目の引数[無視]を使う

・空白セルを [無視] して連結するには2番目の引数を設定します。

空白セルを [無視] して連結するには2番目の引数を設定

・「E1」セルに入力した式は =TOCOL(A1:C3,1) です。
  省略しないで記述すると =TOCOL(A1:C3,1,FALSE) です。

・空白を無視したいので2番目の引数[無視](ignore) に「1」を指定しました。
 結果は、空白セルの部分は無視されて、空白以外が連結されてスピル表示されました。

・引数に「2」ならエラーを無視します。
 3」なら空白エラーの両方を無視してくれます。

列でスキャンしたい場合

3番目の引数は、規定(指定なし又はFALSE)では行ごとに列順でスキャンします。
3番目の引数に「TRUE」を指定すると列ごとに行順でスキャンすることができます。

3番目の引数に「TRUE」を指定すると列ごとに行順でスキャンする

・「E1」セルに入力した式は =TOCOL(A1:C3,1,TRUE) です。

・3番目の引数は[列でスキャン](scan_by_column)するかどうかのオプションです。
 規定は FALSE(列でスキャンしない)です。TRUE を指定すると列でスキャンします

列でスキャンは、左から右に列単位でスキャン連結し縦1列の結果をスピル表示します。

TOCOL 関数の使い方は?

TOCOL 関数は、どんな使い方をするのでしょうか。

TOCOL関数単体で使う

TOCOL 関数の第2引数 [無視](ignore) を使えば、無駄な空白やエラー値などを削除してデータを整理することができます。
また、第3引数 [列でスキャン](scan_by_column)を利用すれば、スキャン方向を変えることができます。

TOCOL関数で単一行横長の見出し列を1列に並べ替える

画像のように、単一行横長の見出し列を1列に並べ替えたり(行/列の入れ替え)などにも使えます。でも、TOCOL関数をこれだけで使うということはないと思います。

他の関数と組み合わせて使う

他の関数との組み合わせは、次の2つのパターンです。

  • TOCOL関数の引数に「他の関数の結果(配列)」を組み入れる
  • 他の関数の引数に「TOCOL関数の結果(配列)」を組み入れる

検索/行列関数(SORT、UNIQUE、XLOOKUP などなど)と組み合わせて使えば、結果を縦1列にスピル表示します。

まとめ(おわりに)

以上、TOCOL関数 について解説しました。

くるみこ
くるみこ

TOCOL関数で指定する引数のセル範囲(配列)は、同じシートだけではなく、別シートや別ブックからも指定できます。
引数の設定によって「空白」や「エラー」の配列要素を削除してくれますので、いろいろな関数と組み合わせて活用できるのではないでしょうか。

何に活用できるのかしっかり考えてみま~す(^^)/

★★★ ブログランキング参加中! クリックしてね(^^)/ ★★★

【今後の記事について】

今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m

スポンサーリンク

過去記事のサンプルファイルをダウンロードできます

この記事で使用したサンプルの登録はありません。
過去の記事で使用したサンプルファイルをダウンロードできるようにページを設置していますので、こちら(このリンク先)からご利用ください