反饋已提交

網絡繁忙

陣列函式概述

1. ADD2ARRAY

ADD2ARRAY(array, insertArray, start):在陣列 array 的第 start 個位置插入 insertArray 中的所有元素,再傳回該陣列。

範例:

ADD2ARRAY([3, 4, 1, 5, 7], [23, 43, 22], 3)傳回[3, 4, 23, 43, 22, 1, 5, 7]。

ADD2ARRAY([3, 4, 1, 5, 7], "測試", 3)傳回[3, 4, "測試", 1, 5, 7]。

注1:如果 start 為小於 1 的數或者不寫 start 參數,則預設從陣列的第一位開始插入陣列元素。

注2:若array, insertArray, start為儲存格時,只有編輯過的儲存格參與計算。

2. ARRAY-傳回陣列

1)概述

文法ARRAY(arg1,arg2...)傳回一個由 arg1,arg2,...組成的陣列. [arg1,arg2,...]可以由字串或者數字構成。
      參數number1,number2,…1 到 n 個參數或指定儲存格區域中所有數字

2)注意事項

當使用公式巢狀陣列儲存格時,如果陣列儲存格內實際是單值,會作為單值處理,需要巢狀 ARRAY 公式確定儲存格始終作為陣列計算(多值則不需要),比如 B2=ARRAY(1), 使用 INARRAY 函式應該寫成:INARRAY(1,ARRAY(B2)),如下圖所示:

如果寫成 INARRAY(1,B2),則無法傳回有效資料,如下圖所示:

3)範例

公式
結果備註
ARRAY("hello")hello-
ARRAY("hello","world")hello,world

-

ARRAY("hello",98)hello,98-
ARRAY(67,98)67,98-

3. GREPARRAY

GREPARRAY(array,fn):透過 fn 條件過濾 array 陣列,傳回過濾後的新陣列。

參數
含義參數格式
array
被過濾的陣列,不可為空陣列格式,如[4,2,6,8,7]
fn

過濾條件

item/index 加運算條件 ,如 item != 3

item 格式:根據陣列值進行過濾,index 格式:根據陣列值的序號進行過濾

範例:

GREPARRAY([3,4,2,3,6,8,7], item != 3) 傳回 [4,2,6,8,7] 。

GREPARRAY([3,4,2,3,6,8,7], index!= 3) 傳回 [3,4,3,6,8,7] 。

注:fn 參數必須符合格式要求,否則過濾不生效。比如名稱沒有定義成 item/index,回傳值為原陣列。

4. INARRAY

INARRAY(co, array):傳回 元素co 在陣列 array 中第一次出現的位置,如果 co 不在 array 中,則傳回 0。

範例:

如果String[] arr = {"a","b","b","c","d"} ,則:

INARRAY("b", arr)傳回元素"b"第一次出現的位置  2。

INARRAY("e", arr)傳回 0

5. INDEXOFARRAY

INDEXOFARRAY(array, index):傳回陣列 array 的第 index 個元素。

array:需要傳回元素的陣列。

index:陣列元素的下標。

範例:

INDEXOFARRAY(["第一個", "第二個", "第三個"], 2)傳回"第二個"。

在儲存格中輸入=indexofarray(["a","b","c","d"],3),獲取陣列中第三個位置的資料即回傳值為 c。

6. MAPARRAY

MAPARRAY(array, fn):批量處理陣列,透過fn對陣列中的元素進行轉換。 

array:要轉換的陣列;

fn:處理陣列項目的函式 。

範例:

MAPARRAY([3,4,2,3,6,8,7], item != 3)傳回[false,true,true,false,true,true,true]。

MAPARRAY([3,4,2,-3,6,8,-5],if(item>0,1,0)),傳回[1,1,1,0,1,1,0]。

7. RANGE

1)概述

文法
RANGE()

函式有三種參數形式:

1. RANGE(to),預設from為1,step為1,例如:RANGE(4)傳回[1,2,3,4]。RANGE(-5)傳回[]。

2. RANGE(from,to),預設step為1,例如:RANGE(-1,3)傳回[-1,0,1,2,3]。RANGE(0,5)傳回[0,1,      2,3,4,5]。

3. RANGE(from,to,step),三個參數的情況參照上面的註釋,例如:RANGE(6,-1,-2)傳回[6,4,2,          0]。RANGE(4,1,1)傳回[]。

   參數1From

開始值,整數,不寫預設為1

   參數2To結束值,整數
   參數3Step步長,不寫預設為1
   回傳值Array-

2)範例

公式
結果備註
RANGE(4)1,2,3,4從1開始,每次+1,直到4
RANGE(-5)傳回空值
從1開始,每次+1,無法到-5,因此傳回空值
RANGE(-1,3)-1,0,1,2,3從-1開始,每次+1,直到3
RANGE(6,-1,-2)6,4,2,0從6開始,每次-2,直到-1
RANGE(4,1,1)傳回空值從4開始,每次+1,無法到1,因此傳回空值
RANGE(1,6,2)1,3,5從1開始,每次+2,直到6

8. REMOVEARRAY

REMOVEARRAY(array, start, deleteCount):從陣列 array 中刪除從第 start 個元素開始的 deleteCount 個陣列元素,並傳回刪除後的陣列。

範例:

REMOVEARRAY([3, 4, 4, 2, 6, 7, 87], 4, 2)傳回[3, 4, 4, 7, 87]。

9. REVERSEARRAY

REVERSEARRAY(array):傳回陣列 array 的倒序陣列。

範例:

REVERSEARRAY(["第一個", "第二個", "第三個"])傳回["第三個", "第二個", "第一個"]

注:使用 REVERSEARRAY 函式時,參數必須是陣列,如果參數不是陣列,必須使用 SPLIT 函式將其轉換為陣列,SPLIT 函式使用參見 SPLIT

10. SLICEARRAY

SLICEARRAY(array, start, end):傳回陣列從第 start 個到第 end 個元素(包括第 end 個元素)。

範例:

SLICEARRAY([3, 4, 4, 5, 1, 5, 7], 3, 6)傳回[4, 5, 1, 5]。 

SLICEARRAY([3, 4, 4, 5, 1, 5, 7], 3)傳回[4, 5, 1, 5, 7]。

注:當不使用 end 參數時,傳回從 start 開始到陣列結束之間的元素。

11. SORTARRAY

SORTARRAY(array):傳回陣列 array 排過序的陣列 ,預設升冪排列。

範例:

SORTARRAY([3, 4, 4, 5, 1, 5, 7])傳回[1, 3, 4, 4, 5, 5, 7]。

注:陣列 array 的元素類型必須一樣,並且要可比較。

12. UNIQUEARRAY

UNIQUEARRAY(array):去重,去掉陣列 array 中的重複元素,以保留第一次出現的元素為序,傳回去重之後的陣列。

範例:

UNIQUEARRAY([14, 2, 3, 4, 3, 2, 5, 6, 2, 7, 9, 12, 3])傳回[14, 2, 3, 4, 5, 6, 7, 9, 12]。

13. JOINARRAY

JOINARRAY(array,sepa):傳回一個由sepa作為分隔符的字串。

array:[arg1,arg2...]格式的陣列;

sepa:分隔符。

範例:

JOINARRAY([1,2],";")=1;2

JOINARRAY(['hello','world'],"-")=hello-world

注:對陣列儲存格使用該函式時,無需加上[],寫成joinarray(A1,"-")即可。若寫成joinarray([A1],"-")函式可能無法達到預期效果

       因為A1儲存格本身就是陣列,[A1]是二維陣列,對二維陣列做join, 並不會去用符號join內層陣列。

14. 注意事項

若陣列在使用模擬計算時,參數需要寫成[1,2,3,4,5]格式。

例如輸入公式:INDEXOFARRAY(A2, 2),希望傳回陣列的第二個數字,則點選模擬計算後需要輸入參數格式為:[1,2,3,4,5],此時得出的模擬計算結果為2,如下圖所示:

附件列表


主題: 報表專題
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙