「csv エクセル セル分割 カンマ」
「csv カンマ セルに分ける」
「エクセル csv セルごと」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスがあります。
ExcelにCSVデータを貼り付けたときに、「,」(カンマ)ごとに別のセルにデータが入って欲しいのに、1つのセルに1行分のデータが入ってしまったのをどうにかしたい方による検索です。
Excelではこのような状態になったときに、[区切り位置指定ウィザード]を使って分割することができます。
Excelの区切り位置指定ウィザードも便利な機能ではありますが、Googleが無料で提供している表計算ソフト・Googleスプレッドシートでは、まったく別の方法でデータを分割します。
GoogleスプレッドシートではSPLIT関数でCSVデータをセルに分割する
Googleスプレッドシートの場合、関数を使ってこういったデータを分割できます。※A1セルに入力されたデータをカンマごとにB1セルから右方向に分割する例
B1セルに
「=SPLIT(A1, ",")」
という数式を入力する
GoogleスプレッドシートのSPLIT関数は、第1引数に指定されたデータを、第2引数に指定された文字列を区切り文字として、分割(split)する関数です。
「=SPLIT(A1, ",")」という数式の場合
「A1」が第1引数
「","」が第2引数
です。
例えば、下図のように一つのセルに入力されてしまったCSVデータがあったときに、
A1セルの隣のB1セルに「=SPLIT(A1,",")」という数式を入力すると
下図のように、B1セルから右のセルに「,」(カンマ)ごとにデータがバラバラになります。
B1セルの数式を下方向にオートフィルすれば、もちろんA2セル以下のデータもカンマごとにセルに分割できます。
Googleスプレッドシートでは自動入力されるCONTINUE関数がとっても便利
ポイントは、数式を入力したB1セルの隣のC1セル以降のセルに、自動的に入力される数式です。
上記のように、
B1セルに「=SPLIT(A1, ",")」と入力した場合
C1セルに「=CONTINUE(B1, 1, 2)」
D1セルに「=CONTINUE(B1, 1, 3)」
といった数式が自動的に入力されます。
ここがExcelとの大きな違いで、Googleスプレッドシートの優れていると感じる点です。
Googleスプレッドシートで、配列(複数のデータのまとまり)を返してくる関数の場合、2つめ以降のデータをCOTINUE関数で取得することができ、CONTINUE関数は必要なだけ自動的に入力されます。
Excelでも配列を返してくるワークシート関数は存在していますが、返される配列と同じサイズのセル範囲を選択してやる必要があったり、配列数式として入力する必要があったりしなければいけないところが、正直言って面倒です。
ローカルのパソコンにインストールするExcelと、ブラウザ上で動くGoogleスプレッドシートを比較すると、まだまだExcelのほうが便利なことが多いのは事実ですが、上記の例のように配列が返される数式が入力されたときにCONTINUE関数が自動的に入力される点は、Googleスプレッドシートのほうが優れていると感じます。
- Newer:VBAですべてのプレースホルダーを表示する
- Older:独学より習得の近道だと感じた
Home » Googleスプレッドシートの使い方 » Excelにも欲しいCSVデータを分割するSPLIT関数&CONTINUE関数