跳至主要內容
Workday User Guide
上次更新時間 :2025-10-31
SELECT

SELECT

說明

從工作簿範圍、定義的名稱或 Workday 報告中選取資料。SELECT 函數類似於 SQL SELECT 陳述式。編寫 SELECT 陳述式的主要規則如下︰ 在 Select 陳述式中參照的資料必須具有標頭名稱。請在 Select 陳述式前後加上雙引號。字串加上單引號。如果您參照的欄標題或表格名稱包含空格或特殊字元,請加上反引號。參數請使用問號。如果 SELECT 公式未在 30 分鐘內完成計算,則會傳回 #ERROR。SELECT 最多可處理 500 萬列,但由於 SELECT 執行匯總的原因,已處理的列數可能與可傳回的列數不完全相符。若要查看 SELECT 函數的工作範例,請在 Community 中尋找「Worksheets 函數範例工作簿」頁面,或將此連結貼到瀏覽器中︰https://community.workday.com/node/408872。
請記住,SELECT 函數並不能取代資料精靈。

語法

SELECT(
select_statement
, [
parameter
], ...)
  • select_statement
    ︰SELECT 陳述式。此陳述式與 SQL select 陳述式類似。請將 Select 陳述式放在雙引號中。基本格式為︰
    "SELECT column1, [column2], ... FROM table"
    其中
    column
    是要傳回的資料,且
    table
    是可供選取的資料來源。
    您可以在 SELECT 陳述式中內嵌函數,例如 COUNT、AVG、SUM、LIMIT 等。SELECT 支援的完整函數清單如下。
    對 SELECT 公式中的日期值執行運算時,請記住 Worksheets 的運作方式與 SQL 語法不同。Worksheets 計算會將日期視為序號。範例︰日期 2023 年 3 月 20 日表示為序號 45005。此外,SQL 會自動轉換字串日期以進行計算,但 Worksheets 不會。
    如果欄名稱中存在字串
    from
    Where
    ,則您必須將其加上引號,因為 from 和 Where 是 SQL 中的保留字。
    在陳述式的 FROM 子句中,您可以使用下列值︰
    • Workday 報告
    • 您指定為引數的參數。
  • parameter
    ︰陳述式參數。

範例

我們將使用此表格來顯示一些簡單的範例︰
header1
header2
header3
1
a
紅色
2
b
橙色
3
c
橙色
4
d
紅色
5
e
紅色
公式︰
=SELECT("SELECT header1,header3 FROM ?WHERE header3 = ?",A1:C6,"red")
有以下結果︰
header1
header3
1
紅色
4
紅色
5
紅色
自動重新計算和參數引數
我們建議使用函數的參數引數來參照資料; Worksheets 會將這些參照視為資料依存關係,因此當您變更參照儲存格中的資料時,SELECT 公式會自動執行。如果您改用 SELECT 陳述式來參照資料,則在資料變更時不會自動重新執行公式,即使選取資料 > 重新計算也不會使公式再次執行。
在以下公式中,我們使用形參引數來參照資料。如果範圍 A1:C6 中的資料變更,Worksheets 會自動重新計算並更新結果︰
=SELECT("SELECT header1,header3 FROM ?",A1:C6)
定義的名稱
︰。在此範例中,區域被指定為 all_employee 的定義名稱︰
  • =SELECT("SELECT employeeName FROM ?", all_employees)
欄、列或範圍
︰。您可以參照同一個工作表、不同的工作表或另一個工作簿中的欄、列或區域。如果未指定工作表,則範圍必須在目前的工作表上。
  • =SELECT("SELECT employeeName FROM ?",$A:$G)
  • =SELECT("SELECT employeeName FROM ?",'All Employees Sheet'!$A:$G)
  • =SELECT("SELECT employeeName FROM ?",All_Employees_Sheet!$A:$G)
  • =SELECT("SELECT employeeName FROM ?", !'Other Workbook Name'!'All Employees Sheet'!A:G)
更多範例和結果
公式
結果
SELECT("SELECT employeeID, employeeName FROM ?”, AllEmployeesSheet!$A:$G)
傳回名為 AllEmployeesSheet 的工作表 A 至 G 欄的正職員工 ID 和正職員工名稱。
SELECT("SELECT COUNT(employeeLastName) FROM ?”, AllEmployeesSheet)
傳回名為 AllEmployeesSheet 的工作表中的 employeeLastName 欄的列數。
SELECT("SELECT employeeFirstName, employeeLastName, employeeRating FROM ?ORDER BY employeeRating DESC LIMIT 3", AllEmployeesSheet!$A:$G)
傳回名字、姓氏和 3 個最高評等正職員工的評等。
Workday 報告
。查詢 Workday 報告中的資料。
  • =SELECT("SELECT employeeName FROM WorkdayReports.AllEmployees") ,其中報告名稱為 AllEmployees。
  • =SELECT("SELECT employeeName FROM WorkdayReports.`All Employees`") ,其中報告名稱為 All Employees。
  • =SELECT("SELECT * from WorkdayReports.`All Employees`") 會從報告中選取所有列。

附註

  • 我們建議您使用函數的參數區段來參照資料; Worksheets 會將這些參照視為資料依存關係,因此只要您選取
    「資料
    重新計算」
    ,就會執行 SELECT 公式。您在公式的 SELECT 陳述式部分參照的資料不被視為相依資料,因此即使基礎資料已變更,選取
    「資料
    重新計算」
    也不會導致公式再次執行。
  • 此函數適用於陣列公式。

SELECT 函數︰常數

TRUE
CURRENT_DATE
FALSE
CURRENT_TIME
NULL
CURRENT_TIMESTAMP

SELECT 函數︰運算子和邏輯

UNION
聯結
INTERSECT
內部聯結
全部合併
左聯結
EXCEPT
BETWEEN
NOT BETWEEN
IN
*
<=
|| (字串串連)
NOT IN
/
<>
% (模數)
() (括號)
+
!=
<< (位移位左)
IF
- (減號)
>=
>> (位元右移)
+ (一元正數)
- (負一元)
~ (位元反轉)
EXISTS
! (邏輯非)
|
LIKE
不存在
NOT
<
NOT LIKE
IS NULL
AND
>
個案
1
IS NOT NULL
OR
=
&
IFNULL
ISNULL
POW
"
1
包含 WHEN THEN ELSE END 關鍵字

SELECT 函數︰純量、子字串

DAYOFMONTH
YEAR
LOWER
UPPER
HOUROFDAY
COALESCE
LTRIM
年初迄今
MINUTE
NULLIF
RTRIM
DATETIME YMDHMS
MONTH
ROUND
SUBSTRING
INSTANCE (ID 和說明)
第二
長度
TRIM
DATEDIF
複製
STUFF
找出
INSTR

SELECT 函數︰數學、財務、統計

ABS
COUNT 個
LOG10
Q (季度)
AVG
樓層
MAX
SQRT
CEIL
記錄
MIN
SUM
LIMIT
ASC
DESC