2分SHAREツイートシェアはてブLINEPocketこんにちは、スプレッドシートが大好きなたぬ(@tanuhack)です!配列や行列という言葉を聞くだけで、理系脳が燻られますね!笑スプレッドシートで配列や行列について書かれている記事がなかったので、まとめました。今回は、スプレッドシートで配列や行列を作成する方法を紹介します。注意書き「なぜ、スプレッドシートで配列や行列を使うのか?」という質問は、この記事の理解の範疇を超えているので割愛させてください。スプレッドシートで配列や行列を使うメリットは多いにあります。その内容に関しては別記事にまとめるので、そちらをご覧ください。この記事では、あくまでスプレッドシートで配列や行列の作成方法だけを紹介します。さいごに1次元配列1次元配列とは、1行n列で表される行列のことを言います。,(カンマ)を使う={1,1,1,1}1行3列の1次元配列={a,b,c}a,b,cは文字列でも可。行列の計算はできなくなる。スプレッドシートでは、数式内に{}を使用して配列を作ることが出来ます。,(カンマ)で値を区切ると、カンマごと値が新しい列に配置されるようになります。関数を使うスプレッドシートでは、{}以外にも関数を使用して、無理やり1次元配列を作成することも出来るんですよ!今回は2種類の方法を紹介します。1ARRAYFORMULA関数とCOLUMN関数を組み合わせる=ARRAYFORMULA((COLUMN(A1:D1)))使う関数のおさらいARRAYFORMULA関数:配列数式を作成する関数スプレッドシートの『ARRAYFORMULA』関数を使って表示速度を高速化させよう!checkCOLUMN関数:対象の列番号を取得する関数2REPT関数とSPLIT関数の合わせ技=SPLIT(REPT(“1,”,4),”,”)使う関数のおさらいREPT関数:テキストを任意の数繰り返す関数SPLIT関数:テキストを決められた文字列で分割する関数2次元配列2次元配列とは、配列の中に配列が入っている配列のことを言います。;(セミコロン)を使う={{1,1,1,1};{1,1,1,1};{1,1,1,1};{1,1,1,1}};(セミコロン)で1次元配列を区切ると、セミコロンごとに1次元配列が新しい行に配置されるようになります。正方行列を作成する正方行列とは、n×nで表される縦と横の要素数が等しい行列です。ちなみに先程の例も4行4列の正方行列になっています。={{1,1,1,1};{1,1,1,1};{1,1,1,1};{1,1,1,1}}次は関数を使って、正方行列を作成する方法を紹介します。関数で正方行列を作成する=ARRAYFORMULA((ROW(A1:A4)*COLUMN(A1:D1)))正方行列は2次元配列なので、横に加えて高さが追加されます。1次元配列がARRAYFORMULA関数とCOLUMN関数を使って表現できたので、2次元配列ではそこにROW関数(縦成分)を追加すればいいです。要素が全て1の正方行列を作成する先程、関数で正方行列を作成する方法を紹介しました。このままだと、計算に使うのには少し不向きなので、要素がすべて1の正方行列を作ってみます。=ARRAYFORMULA((ROW(A1:A4)*COLUMN(A1:D1))^0)すべての要素を0乗して、要素が全て1の正方行列を作成することが出来ました。[応用]特殊な2次元配列このセクションでは大学の線形代数で習う、少しマニアックな行列について紹介します。与えられたn次正方行列Aに対して右から掛けても左から掛けても単位行列Eとなるような行列をAの逆行列といい,A-1で表すスプレッドシートで逆行列を表示させるためには、MINVERSE関数を使います。任意のn次正方行列Aに対して右から掛けても左から掛けてもAとなるような行列を単位行列という単位行列の具体例しかし、スプレッドシートでは単位行列を出してくれる関数は存在しません(※2018年10月6日現在)なので先程求めた、逆行列を使って単位行列を導き出す必要があります。単位行列は、行列Aと逆行列Aの内積で求めることが出来ます。定義m行n列の行列Aに対して、Aの(i,j)要素と(j,i)要素を入れ替えたn行m列の行列、つまり対角線で成分を折り返した行列のことであるスプレッドシートで転置行列(行と列の入れ替え)を求める関数は、TRANSPOSE関数です。TRANSPOSE関数=TRANSPOSE(行列)=TRANSPOSE(A1:C2)さいごに今回は、スプレッドシートで配列や行列を作る方法を紹介しました。配列や行列を使うメリットは紹介していませんが、その内容は後日、ということで...。:高速化/配列操作この記事を書いた人たぬ効率沼ブロガールーチンワークを自動化で瞬殺することに人生の楽しさを見つけた効率沼ブロガーです。本業は「データ分析」と「作業の効率化」を生業としているデータアナリスト。PythonとGASに人生救われました。当ブログは、おかげさまで月間12万PV。2020年までに30万PV目指して頑張ってます。