摘要:本文由葡萄城技術團隊於博客園原創並首發。轉載請註明出處:葡萄城官網,葡萄城爲開發者提供專業的開發工具、解決方案和服務,賦能開發者。
前言
在日常生活和工作中,我們都會或多或少的使用Excel中的計算公式函數,比如求和公式、平均數公式等。今天爲大家整理了一些在線Excel中可以引入的公式函數。
基本函數
Excel中包含450個基本原生函數:比如常見的求和、求差函數,取最大值和最小值函數等。由於篇幅原因,原生函數的詳細解釋可以看這裏。
如何在Excel中引入基本函數:
2.自定義函數的引入。(除了Excel自帶的原生函數之外,用特定的業務用例創建自己的自定義函數,可以像定義任何內置函數一樣定義和調用它們)
3.迭代計算/循環引用(可以通過使用先前的結果反覆運行來幫助找到某些計算的解決方案)
4.異步函數的引入(AsyncFunction 函數來計算異步數據,該函數用在不能立刻獲取計算結果的時候使用)
數組公式和動態數組
數組公式是指可以在數組的一項或多項上執行多個計算的公式,你可以將數組視爲一行值、一列值或行值和列值的組合。數組公式可以返回多個結果,也可返回一個結果。動態數組用於替換數組公式。 任何可能返回多個結果的公式都可以稱爲動態數組公式。 當前返回多個結果併成功溢出的公式可以稱爲溢出數組公式。
如何在Excel中引入數組公式和動態數組:
動態數組的引入
2.Filter函數的引入(FILTER函數可以根據定義的條件過濾一系列數據)
FILTER函數基於布爾數組來過濾數組。
語法:
FILTER(array, include, if_empty?)
參數 | 必需 | 描述 |
---|---|---|
array | 是 | 要進行過濾的數組或區域 |
include | 是 | 一個布爾數組,其高度或寬度與要進行過濾的數組相同 |
[if_empty] | 否 | 如果所包含數組中的所有值均爲空(filter結果爲空)的返回值 |
RANDARRAY函數返回一個隨機數數組。用戶可以指定要填充的行和列的數量,最小值和最大值,以及返回整數或十進制值。
語法:
RANDARRAY(rows?, columns?, min?, max?, whole_number?)
參數 | 必需 | 描述 |
---|---|---|
[rows] | 否 | 要返回數據的行數 |
[columns] | 否 | 要返回數據的列數 |
[min] | 否 | 隨機數的最小值 |
[max] | 否 | 隨機數的最大值 |
[whole_number] | 否 | 返回整數或浮點數:整數則爲true,浮點數爲false。 |
SEQUENCE函數可以生成一個依序組成的數字序列,例如1,2,3,4。
語法:
SEQUENCE(rows, columns?, start?, step?)
參數 | 必需 | 描述 |
---|---|---|
rows | 是 | 要返回數據的行數 |
[columns] | 否 | 要返回數據的列數 |
[start] | 否 | 序列的第一個數字 |
[step] | 否 | 序列中的遞增值 |
UNIQUE函數返回列表或區域中的唯一值列表。
語法:
UNIQUE(array, by_col?, occurs_once?)
參數 | 必需 | 描述 |
---|---|---|
array | 是 | 返回唯一值的區域或數組 |
[by_col] | 否 | 指示如何比較的布爾值;省略或爲false爲按行; true時爲按列 |
[occurs_once] | 否 | 布爾值,爲true時返回出現一次的唯一值,爲false或省略時返回所有的唯一值 |
SORTBY函數根據相應區域或數組中的值對區域或數組的內容進行排序。
語法:
SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], …)
參數 | 必需 | 描述 |
---|---|---|
array | 是 | 要排序的數組或區域 |
by_array1 | 是 | 要對其進行排序的數組或區域 |
[sort_order1] | 否 | 要用於排序的順序。 1表示升序,-1 表示降序。 默認值爲 "升序"。 |
[by_array2] | 否 | 要對其進行排序的數組或區域 |
[sort_order2] | 否 | 要用於排序的順序。 1表示升序,-1 表示降序。 默認值爲 "升序"。 |
隱式交集邏輯將多個值減少爲一個值。 用戶可以在公式之前添加 @ 來強制公式返回單個值,因爲單元格只能包含一個值。 如果公式返回一個值,則隱式交集不會執行任何操作(即使是在後臺完成的)。 邏輯工作方式如下:
- 如果該值是單個項, 則返回該項。
- 如果該值爲一個區域, 則從與公式位於同一行或列的單元格中返回值。
- 如果該值爲數組, 則選擇左上角的值。
LAMBDA函數集
LAMBDA函數使您能夠使用 Excel 自己的公式語言定義自定義函數。
語法:
LAMBDA([parameter1, parameter2, …,] calculation)
返回一個數組,通過應用LAMBDA將數組中的每個值映射到一個新的值,形成一個數組。
語法:
MAP(array1, lambda_or_array<#>)
MAP函數的語法有以下參數。
- array1
一個要被映射的數組。 - lambdaorarray<#>
一個LAMBDA,它必須是最後一個參數,它必須爲每個傳遞的數組提供一個參數,或者是另一個要被映射的數組。
通過對每個值應用LAMBDA,將一個數組減少爲一個累積值,並返回累積器中的總數值。
語法:
REDUCE(initial_value, array, lambda(accumulator, value))
- initial_value
設置累積器的起始值。 - array
一個要被減少的數組。 - lambda
調用一個LAMBDA來減少數組。該LAMBDA需要兩個參數。- accumulator
數值加起來,作爲最終結果返回。 - value
應用於數組中每個元素的計算。
- accumulator
通過對每個值應用LAMBDA來掃描一個數組,並返回一個擁有每個中間值的數組。
語法:
SCAN([initial_value], array, lambda(accumulator, value))
- initial_value
設置累積器的起始值。 - array
一個要掃描的數組。 - lambda
一個LAMBDA,被調用來掃描數組。該LAMBDA需要兩個參數。- accumulator
數值加起來,作爲最終結果返回。 - value
應用於數組中每個元素的計算。
- accumulator
通過應用LAMBDA,返回一個指定行和列大小的計算數組。
語法:
MAKEARRAY(rows, cols, lambda(row, col))
- rows
陣列中的行數。必須大於零。 - cols
陣列中的列數。必須大於零。 - lambda
調用一個LAMBDA來創建數組。該LAMBDA需要兩個參數。- row
數組的行索引。 - col
數組的列索引。
- row
將LAMBDA應用於每一行,並返回結果的數組。例如,如果原始數組是3列2行,返回的數組是1列2行。
語法:
BYROW(array, lambda(row))
- array
一個要用列來分隔的數組。 - lambda
一個LAMBDA,將一個行作爲單一參數,並計算一個結果。該LAMBDA需要一個單一的參數。- row
陣列中的一行。
- row
將LAMBDA應用於每一列,並返回結果的數組。例如,如果原始數組是3列2行,返回的數組是3列1行。
語法:
- array
一個要用列來分隔的數組。 - lambda
一個LAMBDA,將一個列作爲單一參數,並計算一個結果。該LAMBDA需要一個單一的參數。- column
陣列中的一個列。
- column
檢查LAMBDA中的值是否丟失,並返回TRUE或FALSE。
語法:
ISOMITTED(argument)
- argument
你想測試的值,如LAMBDA參數。
除了上述的計算公式函數之外,還可以在實戰代碼庫中找到更多的在線表格的demo,包括Excel導入導出、數據綁定、打印、複製粘貼、數據校驗等功能模塊,歡迎大家的訪問。
擴展鏈接: