エクセル入門
TOROW関数(配列を横1行の配列にして返す)

Excelの初心者向け入門解説
公開日:2022-10-31 最終更新日:2022-11-08

TOROW関数(配列を横1行の配列にして返す)


TOROW関数はOffice365のExcelに2022年になってから追加された新しい関数です。


配列を横1行に変換して新たな配列を返します。
TOROW関数は、セル範囲や1次元または2次元の配列を受け取り、オプションで指定された順番で横1行の配列を作成します。
横1行ではなく縦1列の配列を作成する場合はTOCOL関数を使用します。
配列を縦1列に変換して新たな配列を返します。TOCOL関数は、セル範囲や1次元または2次元の配列を受け取り、オプションで指定された順番で縦1列の配列を作成します。縦1列ではなく横1行の配列を作成する場合はTOROW関数を使用します。


TOROW関数の構文

=TOROW(配列, [ignore], [scan_by_column])

配列 セル範囲まは配列(1次元または2次元)を指定します。
必須です。
ignore 特定の種類の値を無視するかどうかを指定します。
既定では何の値も無視されません。
次のいずれかを指定します。
0:すべての値を保持する (既定)
1:空白を無視する
2:エラーを無視する
3:空白とエラーを無視する
省略時は0(すべての値を保持)
scan_by_column 配列を列でスキャンするか行でスキャンするかを指定します。
値を行順(横→縦)か列順(縦→横)かを選択します。
FALSE:行でスキャンする(既定) ・・・ (横→縦)
TRUE:列でスキャンする ・・・ (縦→横)
省略時はFALSE(行でスキャン)

TOROW関数は、セル範囲や配列から横1行の配列を作成します。
引数「配列」は、セル範囲まは配列を指定します。
gnore(無視)は、エラー値または空白、もしくはその両方について無視(除外)するかを選択できます。
scan_by_column(列方向)は、取り出す順序を行順(横→縦)か列順(縦→横)かどちらにするかを指定します。

セル範囲または配列の縦横を入れ替えるだけであればTRANSPOSE関数でできます。
TOROW関数は、入力となるセル範囲または配列の向きに関係なく横1行の配列を作成する点が大きく異なります。


TOROW関数の使用例と解説

縦横の2次元配列を行でスキャンして横1行の配列にする

=TOROW(A1:D3) 
Excel エクセル TOROW関数 新関数

TOROW関数はセル範囲A1:D3を受け取り、
既定の行でスキャン(横→縦)して横1行の配列を返します。
scan_by_columnを省略しているので、TRUEの列でスキャンになります。

上記ではセル範囲を指定していますが配列でも同様です。
=TOROW(SEQUENCE(3,4))
Excel エクセル TOROW関数 新関数

A1:D3は、「=SEQUENCE(3,4)」をセル出力した場合の結果です。

縦横の2次元配列を列でスキャンして横1行の配列にする

=TOROW(A1:D3,,TRUE)
Excel エクセル TOROW関数 新関数

TOROW関数はセル範囲A1:D3を受け取り、
列でスキャン(縦→横)して横1行の配列を返します。
scan_by_columnに「TRUE」を指定しているので行でスキャンしています。

行全体から空白とエラー値を除いて横1行の配列にする

=TOROW(1:1,3)
Excel エクセル TOROW関数 新関数

ignore(無視)に「3:空白とエラーを無視する」を指定しています。
1行の空白とエラーを除いて配列を作成しています。
この「空白」には「=""」(式の結果が""となる場合)は含まれません。
「=""」を除外するには、FILTERでさらに処理する必要があります。
=LET(a,TOROW(1:1,3),FILTER(a,a<>""))
なおFILTERだけの場合、「=""」の判定がエラー値に対応できない為、
=FILTER(1:1,1:1="","")
これはエラー値が含まれているとエラーとなってしまいます。


LAMBDA以降の新関数の問題集 ・・・ 解答は別ページになっています。

・目次 ・LAMBDA踊るぞ編 ・LAMBDA踊るぞ編2 ・SCAN編 ・MAP編 ・REDUCE編 ・山手線営業の旅編 ・BYROW,BYCOL編 ・ここからはフリー問題だよ編 ・好きな関数を使ってくれ編 ・いろんな関数を使ってね編 ・魔球編 ・豚が木に登れば落ちることもある編 ・たまには100点とってみたいものだ編 ・これは何と言う処理なんだろ編 ・数字は嫌いなのだ編 ・外堀から埋めていくぞ編 ・なぜわざわざそうしたいのか編 ・かっこつけてんじゃないよ編 ・頭の体操だけど新関数の出番はあるか?編 ・定番だけど出してなかったよね編
LAMBDA以降の新関数の使用例
・2つの1次元配列から、それをクロス結合した結果を返す ・A列が同じ行のB列の値を連結して、A列の一意な値とともに出力 ・名前定義を使わずにLAMBDA関数で再帰する方法 ・文字列を大文字小文字変換して大小文字の全組み合わせを出力 ・2つのテーブルの片方しかない行を縦に連結出力 ・3連単、3連複のフォーメーション買目を全て列挙する ・FILTER関数の出力行数・列数を指定する ・月が縦で日が横の表を、曜日(7列)で縦に折り返す ・文字列内の括弧()()の中の文字を取り出して列挙 ・表内にあるセル内改行を複数行に展開 ・文字列の中から1文字削除の全パターン出力 ・クロスABC分析 ・月利が毎月変動する月複利の計算 ・レーベンシュタイン距離 ・文字列を数字と数字以外で分割 ・縦横スピルしないXLOOKUP代替(MATCH+INDEX,FILTER,CHOOSEROWS) ・直積(クロス結合、…




同じテーマ「エクセル入門」の記事

CHOOSEROWS関数(配列から複数の指定された行を返す)
CHOOSECOLS関数(配列から複数の指定された列を返す)
TOCOL関数(配列を縦1列の配列にして返す)
TOROW関数(配列を横1行の配列にして返す)
DROP関数(配列の先頭/末尾から指定行/列数を除外)
TAKE関数(配列の先頭/末尾から指定行/列数を取得)
EXPAND関数(配列を指定された行と列に拡張する)
WRAPROWS関数(1次元配列を指定数の行で折り返す)
WRAPCOLS関数(1次元配列を指定数の列で折り返す)
TEXTSPLIT関数(列と行の区切り記号で文字列を分割)
TEXTBEFORE関数(テキストの指定文字列より前の部分を返す)


新着記事NEW ・・・新着記事一覧を見る

ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ