使用在線Excel時,有哪些方法可以引入計算函數?

摘要:本文由葡萄城技術團隊於博客園原創並首發。轉載請註明出處:葡萄城官網,葡萄城爲開發者提供專業的開發工具、解決方案和服務,賦能開發者。

前言

在日常生活和工作中,我們都會或多或少的使用Excel中的計算公式函數,比如求和公式、平均數公式等。今天爲大家整理了一些在線Excel中可以引入的公式函數。

基本函數

Excel中包含450個基本原生函數:比如常見的求和、求差函數,取最大值和最小值函數等。由於篇幅原因,原生函數的詳細解釋可以看這裏

如何在Excel中引入基本函數:

1.基本原生函數的引入。

2.自定義函數的引入。(除了Excel自帶的原生函數之外,用特定的業務用例創建自己的自定義函數,可以像定義任何內置函數一樣定義和調用它們)

3.迭代計算/循環引用(可以通過使用先前的結果反覆運行來幫助找到某些計算的解決方案)

4.異步函數的引入AsyncFunction 函數來計算異步數據,該函數用在不能立刻獲取計算結果的時候使用)

數組公式和動態數組

數組公式是指可以在數組的一項或多項上執行多個計算的公式,你可以將數組視爲一行值、一列值或行值和列值的組合。數組公式可以返回多個結果,也可返回一個結果。動態數組用於替換數組公式。 任何可能返回多個結果的公式都可以稱爲動態數組公式。 當前返回多個結果併成功溢出的公式可以稱爲溢出數組公式。

如何在Excel中引入數組公式和動態數組:

  1. 數組公式的引入

動態數組的引入

2.Filter函數的引入(FILTER函數可以根據定義的條件過濾一系列數據)

FILTER函數基於布爾數組來過濾數組。

語法:

FILTER(array, include, if_empty?)

參數 必需 描述
array 要進行過濾的數組或區域
include 一個布爾數組,其高度或寬度與要進行過濾的數組相同
[if_empty] 如果所包含數組中的所有值均爲空(filter結果爲空)的返回值

3.RANDARRAY 函數的引入

RANDARRAY函數返回一個隨機數數組。用戶可以指定要填充的行和列的數量,最小值和最大值,以及返回整數或十進制值。

語法:

RANDARRAY(rows?, columns?, min?, max?, whole_number?)

參數 必需 描述
[rows] 要返回數據的行數
[columns] 要返回數據的列數
[min] 隨機數的最小值
[max] 隨機數的最大值
[whole_number] 返回整數或浮點數:整數則爲true,浮點數爲false。

4.SEQUENCE 函數的引入

SEQUENCE函數可以生成一個依序組成的數字序列,例如1,2,3,4。

語法:

SEQUENCE(rows, columns?, start?, step?)

參數 必需 描述
rows 要返回數據的行數
[columns] 要返回數據的列數
[start] 序列的第一個數字
[step] 序列中的遞增值

5.UNIQUE函數

UNIQUE函數返回列表或區域中的唯一值列表。

語法:

UNIQUE(array, by_col?, occurs_once?)

參數 必需 描述
array 返回唯一值的區域或數組
[by_col] 指示如何比較的布爾值;省略或爲false爲按行; true時爲按列
[occurs_once] 布爾值,爲true時返回出現一次的唯一值,爲false或省略時返回所有的唯一值

6.SORTBY函數

SORTBY函數根據相應區域或數組中的值對區域或數組的內容進行排序。

語法:

SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], …)

參數 必需 描述
array 要排序的數組或區域
by_array1 要對其進行排序的數組或區域
[sort_order1] 要用於排序的順序。 1表示升序,-1 表示降序。 默認值爲 "升序"。
[by_array2] 要對其進行排序的數組或區域
[sort_order2] 要用於排序的順序。 1表示升序,-1 表示降序。 默認值爲 "升序"。

7.隱式交集運算符: @

隱式交集邏輯將多個值減少爲一個值。 用戶可以在公式之前添加 @ 來強制公式返回單個值,因爲單元格只能包含一個值。 如果公式返回一個值,則隱式交集不會執行任何操作(即使是在後臺完成的)。 邏輯工作方式如下:

  • 如果該值是單個項, 則返回該項。
  • 如果該值爲一個區域, 則從與公式位於同一行或列的單元格中返回值。
  • 如果該值爲數組, 則選擇左上角的值。

LAMBDA函數集

1.LAMBDA函數

LAMBDA函數使您能夠使用 Excel 自己的公式語言定義自定義函數。

語法:

LAMBDA([parameter1, parameter2, …,] calculation)

  1. MAP函數

返回一個數組,通過應用LAMBDA將數組中的每個值映射到一個新的值,形成一個數組。

語法:

MAP(array1, lambda_or_array<#>)

MAP函數的語法有以下參數。

  • array1
    一個要被映射的數組。
  • lambdaorarray<#>
    一個LAMBDA,它必須是最後一個參數,它必須爲每個傳遞的數組提供一個參數,或者是另一個要被映射的數組。

  1. REDUCE函數

通過對每個值應用LAMBDA,將一個數組減少爲一個累積值,並返回累積器中的總數值。

語法:

REDUCE(initial_value, array, lambda(accumulator, value))

  • initial_value
    設置累積器的起始值。
  • array
    一個要被減少的數組。
  • lambda
    調用一個LAMBDA來減少數組。該LAMBDA需要兩個參數。
    • accumulator
      數值加起來,作爲最終結果返回。
    • value
      應用於數組中每個元素的計算。

4. SCAN函數

通過對每個值應用LAMBDA來掃描一個數組,並返回一個擁有每個中間值的數組。

語法:

SCAN([initial_value], array, lambda(accumulator, value))

  • initial_value
    設置累積器的起始值。
  • array
    一個要掃描的數組。
  • lambda
    一個LAMBDA,被調用來掃描數組。該LAMBDA需要兩個參數。
    • accumulator
      數值加起來,作爲最終結果返回。
    • value
      應用於數組中每個元素的計算。

5. MAKEARRAY函數

通過應用LAMBDA,返回一個指定行和列大小的計算數組。

語法:

MAKEARRAY(rows, cols, lambda(row, col))

  • rows
    陣列中的行數。必須大於零。
  • cols
    陣列中的列數。必須大於零。
  • lambda
    調用一個LAMBDA來創建數組。該LAMBDA需要兩個參數。
    • row
      數組的行索引。
    • col
      數組的列索引。

6. BYROW函數

將LAMBDA應用於每一行,並返回結果的數組。例如,如果原始數組是3列2行,返回的數組是1列2行。

語法:

BYROW(array, lambda(row))

  • array
    一個要用列來分隔的數組。
  • lambda
    一個LAMBDA,將一個行作爲單一參數,並計算一個結果。該LAMBDA需要一個單一的參數。
    • row
      陣列中的一行。

7. BYCOL函數

將LAMBDA應用於每一列,並返回結果的數組。例如,如果原始數組是3列2行,返回的數組是3列1行。

語法:

  • array
    一個要用列來分隔的數組。
  • lambda
    一個LAMBDA,將一個列作爲單一參數,並計算一個結果。該LAMBDA需要一個單一的參數。
    • column
      陣列中的一個列。

8. ISOMITTED函數

檢查LAMBDA中的值是否丟失,並返回TRUE或FALSE。

語法:

ISOMITTED(argument)

  • argument
    你想測試的值,如LAMBDA參數。

除了上述的計算公式函數之外,還可以在實戰代碼庫中找到更多的在線表格的demo,包括Excel導入導出數據綁定打印複製粘貼數據校驗等功能模塊,歡迎大家的訪問。

擴展鏈接:

Spring Boot框架下實現Excel服務端導入導出

項目實戰:在線報價採購系統(React +SpreadJS+Echarts)

Svelte 框架結合 SpreadJS 實現純前端類 Excel 在線報表設計

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章