免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac546LINE 與社群533Google 服務465Windows 與電腦451Android 手機402Office 教學381網路新知372AI 工具118
Google 服務

Google 試算表 FLATTEN 函數用法:將多欄位資料合併成單一欄

FLATTEN 函數的作用是將一維或二維的資料範圍,全部展開並合併成單一欄的垂直陣列。處理多欄位的人員名單、排班表或商品清單時,能快速將資料轉為適合分析的格式。

Google 試算表 FLATTEN 函數語法

=FLATTEN(範圍1, [範圍2, ...])
參數必填說明
範圍1是要轉換成單一欄的第一個資料範圍或陣列。
範圍2選填要附加在第一個範圍之後的其他資料範圍,可輸入多個。

回傳:轉換為單一欄的垂直陣列。

FLATTEN 函數範例

範例 1:展開單一二維範圍

排班表

業務一組業務二組
王小明陳怡君
林雅婷張建國

在 D2 輸入公式:

=FLATTEN(A2:B3)

結果:王小明。將 A2 到 B3 的二維範圍展開為單一欄。結果會從 D2 開始向下溢出,依序顯示王小明、陳怡君、林雅婷、張建國,順序為先由左至右,再由上至下。

範例 2:合併多個獨立範圍

出勤名單

早班晚班
王小明陳怡君
林雅婷
張建國

在 D2 輸入公式:

=FLATTEN(A2:A4, B2:B4)

結果:王小明。將早班與晚班兩個獨立的欄位範圍合併成單一欄。結果會從 D2 向下溢出,先列出 A2 到 A4 的資料,接著再列出 B2 到 B4 的資料,包含空白儲存格也會保留。

範例 3:數值資料轉置與展開

業績統計

部門一月二月
業務部150200
行銷部120180

在 E2 輸入公式:

=FLATTEN(B2:C3)

結果:150。將 B2 到 C3 的數值範圍展開為單一欄。結果會從 E2 開始向下溢出,依序顯示 150、200、120、180,方便將跨欄的業績數據整理為適合樞紐分析的一維格式。

使用 FLATTEN 的技巧與注意事項

  • FLATTEN 展開資料的順序固定為「先由左至右,再由上至下」,無法直接更改為先由上至下。
  • 展開的結果會保留空白儲存格,若要移除空白,可在外層包覆 FILTER 或 QUERY 函數。
  • 適合搭配 SPLIT 函數使用,將儲存格內以逗號分隔的多個值先拆分後,再用 FLATTEN 轉為單一欄。

FLATTEN 常見錯誤與解決方法

錯誤原因解決方法
#REF!展開後的資料範圍覆蓋到已經有資料的儲存格。清除目標範圍下方的資料,確保有足夠的空白儲存格讓陣列溢出。
#VALUE!輸入的參數不是有效的範圍或陣列。確認括號內的參數是否為正確的儲存格參照(例如 A1:B5)。

Excel 有 FLATTEN 嗎?

Excel 中沒有 FLATTEN 函數,但可以使用 TOCOL 函數達到相同的效果。TOCOL 函數還提供額外參數,可選擇是否忽略空白或錯誤值,以及設定掃描順序。

常見問題

FLATTEN 函數可以略過空白儲存格嗎?

FLATTEN 函數本身無法略過空白儲存格,會將空白視為空字串輸出。若要排除空白,可以將公式改為 =FILTER(FLATTEN(範圍), FLATTEN(範圍)<>"")。

為什麼使用 FLATTEN 函數會出現 #REF! 錯誤?

這是因為 FLATTEN 輸出的結果需要多個儲存格來顯示,但目標範圍下方已經有其他資料。請清空下方的儲存格,讓函數有足夠空間顯示完整結果。

FLATTEN 展開資料的順序可以改成先直再橫嗎?

預設只能先由左至右,再由上至下。若需要先由上至下,再由左至右,可以使用 TRANSPOSE 函數將原資料轉置後,再使用 FLATTEN 函數處理。

相關函數

這篇收錄在「Google 試算表函數」。