FLATTEN関数とは?知られざる便利関数

FLATTEN関数は、スプレッドシートの中でも比較的新しい・そしてあまり知られていない関数のひとつです。
複数行・複数列のデータを縦1列に圧縮して展開することができます。これにより、複雑な構造のデータを1次元のリストとして扱えるようになります。

FLATTENの基本的な使い方

Googleスプレッドシートの FLATTEN() 関数は、複数のセル範囲に含まれるデータを1列に変換してくれる便利な関数です。
行や列の形に関係なく、一つの縦長リストに整形できます。

=FLATTEN(A1:C3)

と書けば、A1~C3のすべての値を縦に並べたリストが取得できます。

ご覧のように、基本的には行列の「行」が優先して表示されます。
1→2→3→4…の順番。

列を優先したい場合、取得する複数行列リストにTRANSPOSE関数を加えると実現できます。

=FLATTEN(TRANSPOSE(A1:C3))

1→4→7→2…の順番。

なぜ複数行のデータ処理に便利なのか?

複数セルに分かれたデータを一括で扱いたいとき、手動でコピペしていては効率が悪いです。
また、他の関数たちを組み合わせる必要があるため複雑になりがちです。
FLATTENを使えば、行・列の形を気にせずに一つの「リスト」として集約でき、後工程の UNIQUEFILTER と組み合わせやすくなります。

「後処理が楽になる」というのがめちゃくちゃ大切!

使用例:複数行セルをリスト化する方法

想定する入力データ

例えば以下のような形式で、複数のセルにカンマ区切りの文字列が含まれているとします。

A列
apple,banana
banana,orange
grape,apple

使用する数式の全体像

このようなデータを一括でリスト化するには、次のような式を使います。

=ArrayFormula(SPLIT(FLATTEN(SPLIT(A1:A3, ",")), ","))

ArrayFormula関数についてはこちらの記事をご覧ください。

各関数の組み合わせの意味と解説

内容
SPLIT(A1:A3, ",")各セル内のカンマ区切りの要素をバラす
FLATTEN(…)バラした要素を縦一列に並べる
SPLIT(…, ",")さらに分割された文字列を整理
ArrayFormula(…)配列関数を一括で適用

分解して考えていくと、意外と簡単ですね!

実用例:タグ一覧や選択肢のマスター整理に応用

マーケティングやアンケートデータの整形

例えばアンケートで「好きな果物」を複数選択肢で受け取った場合、FLATTENを活用すると、全回答を1つのリストに整形しやすくなります。さらに UNIQUE 関数と組み合わせれば、集計・分析にそのまま使えるマスター一覧の完成です。

フィルタリングや重複削除にも有効

=UNIQUE(ArrayFormula(SPLIT(FLATTEN(SPLIT(A1:A10, ",")), ",")))

このような式を使えば、重複なしの一覧を簡単に取得可能。社内マスタの統一・整備やデータクリーニングにも活用できます。

注意点とよくあるミス

空白セルが混ざるとどうなる?

空白セルを含む場合、FLATTEN によって空欄の要素も出力される可能性があります。必要に応じて FILTERIF を組み合わせ、空欄を除外するのがおすすめです。

筆者がよくやる処理は以下です。
FLATTENで1列のリストを取得→そのリストに対してFILTER関数で「空白を除く」処理をする。

=FILTER(FLATTEN(A1:C3),FLATTEN(A1:C3)<>"")

5が抜けている表

セルが多すぎると処理が重くなる?

大量のデータを扱う場合、FLATTEN を含む配列式はやや動作が遅くなることがあります。
その際は列数・範囲を絞る、あるいは QUERY 関数などへの切り替えを検討してください。

まとめ:FLATTENは地味だけど超便利な裏技関数

まとめ

  • 複数行・複数列のデータを1列にまとめたいとき、FLATTENは抜群の効果
  • 特に SPLITUNIQUEArrayFormula との組み合わせが鉄板
  • 一見地味でも、実務で役立つシーンが非常に多い

この1式を知っておくだけで、毎回フィルタや関数を何段階も組む必要がなくなります。
地味ですが超便利な数式なので、「使いどころ」をぜひ意識して活用してみてください。


この記事を書いた人

今村 壱生(IMAMURA Issei)詳細はこちら
29歳のエンジニア兼マーケター。Re PROViSTAとして、生成AI、Webアプリ開発、業務自動化、BI導入、Web広告運用など、幅広い分野で活動中。システム構築では、要件定義から設計・実装・運用まで一貫して対応。また、小説執筆も手がけるなど、クリエイティブな一面も持つ。


ExcelとGoogleスプレッドシートの特徴を比較

ExcelとGoogleスプレッドシート、どちらを使うべきか悩んでいませんか?

この記事では、Excel歴10年・Googleスプレッドシート歴8年の筆者が、両者の特徴や共通点、違い、そして使い分けのポイントをわかりやすく解説します。

業務効率化やデータ分析、チームでのコラボレーションなど、さまざまなシーンで役立つ情報をお届けします。

Excelの特徴と強み

Excelは言わずと知れた定番の表計算ソフト。オフライン環境でも作業でき、ピボットテーブルやグラフ作成機能が充実しています。

さらに、マクロ(VBA)を使った自動化や複雑なデータ処理も得意で、特に大量データを扱う際にその真価を発揮します。

使っていない事業者はほぼいないため、とりあえずExcelでデータを作っておけば間違いないということが最大のポイントでしょう。

Googleスプレッドシートの特徴と強み

Googleスプレッドシートはブラウザさえあればどこでも編集可能で、チームでの同時編集が得意です。

自動保存機能でデータ消失のリスクも低く、基本的には無料で利用できます。複数人での作業が多い業務には特におすすめです。

変更履歴をたどることも容易で、どのセルがいつ変更されたかも一発で分かります。

「編集したの誰〜?」や「開いている人は閉じて〜」という無駄なやり取りや、「あっ!保存し忘れてた!」と冷や汗をかくことが一切ありません。

またURLを共有するだけでコラボレーションが可能なので、ファイルが複数個作られてしまう煩雑さを避けることができます。

筆者はスプレッドシートが大好きです☺️

ExcelとGoogleスプレッドシートの共通点

基本的な表計算機能

どちらもSUM関数やAVERAGE関数といった基本的な表計算機能はしっかりと備えています。

見積書や請求書の作成、データ整理など、日常業務に欠かせない作業はどちらでも問題なくこなせます。

ExcelにはあってGoogleスプレッドシートにはない、GoogleスプレッドシートにはあってExcelにはない関数が多くあります。

Excelでは作成者と使用者のバージョンが違えばエラーを起こしてしまうため使えない関数がありますが、Googleスプレッドシートは基本的に自動更新・自動アップデートされていくため、このような面倒がありません。

例えばExcelのFILTER関数は2019以前のバージョンだと機能しないため、共有には注意が必要です。せっかく作成した集計もイチからやり直しになります。

Microsoft公式

適用先
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel for iPad Excel for iPhone Excel for Android タブレット Excel for Android スマートフォン Microsoft365.com My Office for iPhone

https://support.microsoft.com/ja-jp/office/filter-関数-f4f7cb66-82eb-4767-8f7c-4877ad80c759

データの視覚化(グラフ・チャート)

棒グラフや円グラフ、折れ線グラフなど、データを視覚的に整理する機能も共通しています。

数字だけでなく、ビジュアルでデータを分析したい時に重宝します。

筆者の主観ですが、これは完全にExcelの方が優れています。設定できる項目数、グラフの種類、ビジュアルの綺麗さのすべてにおいてです。

Googleスプレッドシート
Excel

上記のように単純なグラフだけであればどちらを使っても良いですが、もう少しカスタマイズをする場合はExcelを使う方が賢明でしょう。

チームでの共有・コラボレーション

ExcelもGoogleスプレッドシートも、クラウドサービスと組み合わせることでチームメンバーとデータを共有できます。

ExcelはOneDriveやSharePoint、GoogleスプレッドシートはGoogleドライブが主なプラットフォームです。

社内で何のプラットフォームを使っているかによりますが、Microsoft系だとExcel、GoogleワークスペースだとGoogleスプレッドシートを使うことになるでしょう。

筆者の環境はMicrosoft365ですが、使用頻度はGoogleスプレッドシートの方が高いです。

複数人で同時作業をすることが目的であればOneDrive上のExcelでも問題ありません。

ただ、やはり使いたい関数がGoogleスプレッドシートにしかないことや、後述するGoogle Apps Scriptを使いたいからというのが大きなポイントです。

「.xls」等の古い拡張子でファイルを作成してしまう方がいることも、Excelをあまり使わない要因になります。

ExcelとGoogleスプレッドシートの違い

オフライン作業とオンライン作業

Excelはインストール型のソフトなので、ネット環境がなくても作業できます。

一方、Googleスプレッドシートは基本的にオンラインでの利用が前提。ただしオフラインモードを設定すれば、ネットが不安定な状況でも作業可能です。

筆者はオフラインで作業をすることがほとんどないので、上述程度にとどめておきます。

関数・マクロ・VBAの使い勝手

ExcelはVBA(Visual Basic for Applications)を使ったマクロで、データ処理や自動化が得意です。

GoogleスプレッドシートではGoogle Apps Scriptを使って自動化できます。

筆者は、VBAはもう使わないほうがいいのではないかと考えています。

開発をするVisual Basicの作りが古く、単語や終了タグの補完もしてくれないため、シンタックスエラー(文法に誤りがある場合に発生するエラー)が頻繁に起きます。
(実際にはそういう機能があるんですが分かりづらい)

また、変数の型指定が厳格なため初心者には扱いづらいでしょう。

VBAの例

一方、Google Apps Script(GAS)はJavaScriptをベースにした言語のため、コードの記法が明確でわかりやすく、Googleのツール以外との連携・拡張性も高いです。

例えば、スクレイピングをしたりGASで書いたものをそのままウェブアプリとして公開することもできます。

GASの例

無料アカウントの場合、一度に処理できる時間の上限が6分までと決まっている点には注意が必要です。

大量データ処理の性能比較

大量のデータを扱う場合、Excelの方がパフォーマンスが安定しています。

Googleスプレッドシートは行数が増えると動作が重くなることがあるため、データ量が多い作業にはExcelが向いています。

どちらを選ぶ?使い分けのポイント

仕事での利用シーン別のおすすめ

データ量が多いレポート作成やグラフを多用する作業はExcel、チームでリアルタイム編集したい場合や高度な関数を使いたい場合はGoogleスプレッドシートがおすすめです。

個人的にはGoogleスプレッドシートの一強なので、こちらをおすすめします。

ただ、社内の規定でGoogleスプレッドシートを使えない場合もあると思います。

その場合はなるべく新しいバージョンのExcel(例えばMicrosoft365)を使うなどの工夫が必要になるでしょう。

共同編集ができない場合、同じようなファイルが複数個できたり、編集履歴を見られなかったりという弊害が発生することも念頭に置きたいポイントです。

初心者におすすめの選び方

オフライン環境での作業が多いならExcel、ブラウザでどこでも作業したいならGoogleスプレッドシートが便利です。

また、先述のように「バージョン違いによるファイル共有ができない」などの面倒なことを避けたい方はGoogleスプレッドシートを使いましょう。

関数の解説や使用方法についてのウェブサイトはExcelの方が多いと思いますので、うまく使い分けることをおすすめします。

上級者が選ぶべきポイント

どうやってもExcelを使うことになるので、複雑なVBAやデータ処理を極めたいならExcel、クラウド連携や簡易的な自動化・ウェブアプリの作成やスクレイピングをするならGoogleスプレッドシートとGoogle Apps Scriptの組み合わせが便利です。

どちらにしてもブラックボックス化しないように、定義書や仕様書をきちんと定めて運用をしていきましょう。

よくある質問(FAQ)

ExcelとGoogleスプレッドシートはどっちが無料?

Googleスプレッドシートは基本無料(GoogleアカウントがあればOK)。

Excelは有料で、Office 365のサブスクリプションやパッケージ版が必要です。

ExcelファイルはGoogleスプレッドシートで開ける?

開けます。ただし、複雑なVBAや関数は一部動かない場合がありますので注意が必要です。

Googleスプレッドシートでマクロは使える?

Google Apps Scriptで自動化が可能です。

ただしVBAとは書き方や仕様が異なるので注意しましょう。

まとめ

ExcelとGoogleスプレッドシート、どちらも便利な表計算ツールですが、使い分けることでさらに業務効率化が進みます。

自分の業務スタイルやチームのワークフローに合わせて、ぜひ最適なツールを選んでみてくださいね!


この記事を書いた人

今村 壱生(IMAMURA Issei)詳細はこちら
29歳のエンジニア兼マーケター。Re PROViSTAとして、生成AI、Webアプリ開発、業務自動化、BI導入、Web広告運用など、幅広い分野で活動中。システム構築では、要件定義から設計・実装・運用まで一貫して対応。また、小説執筆も手がけるなど、クリエイティブな一面も持つ。