菜鸟科技网

Excel命令参数有哪些常用类型?

我将从三个层面来详细解释 Excel 的命令参数:

Excel命令参数有哪些常用类型?-图1
(图片来源网络,侵删)
  1. Excel 函数参数:最常用、最核心的部分。
  2. Power Query (M 语言) 参数:用于数据清洗和转换的强大工具。
  3. VBA 宏 参数:用于自动化任务的编程。

Excel 函数参数

这是绝大多数用户最常接触的部分,函数的参数是函数括号 内的各个部分,用于告诉函数如何计算。

参数的基本结构

一个典型的函数公式如下: =函数名(参数1, 参数2, ...)

  • 函数名:如 SUM, VLOOKUP, IF 等。
  • 参数:用逗号 分隔。
  • 括号 :所有参数都必须放在括号内。

参数的几种常见类型

参数可以是数字、文本、逻辑值、单元格引用、甚至是另一个函数(嵌套函数)。

参数类型 描述 示例
数值 数字常量。 =SUM(100, 200)
文本 字符串,需要用双引号 括起来。 =IF(A1="完成", "是", "否")
单元格引用 指向单个单元格或一个区域。 =SUM(A1:A10)
逻辑值 TRUE (真) 或 FALSE (假)。 =IF(B1>100, TRUE, FALSE)
数组 一组常量,用大括号 括起来。 =SUM({1,2,3,4,5})
错误值 #N/A, #VALUE! 等,通常作为判断条件。 =IF(ISNA(VLOOKUP(...)), "未找到", VLOOKUP(...))
嵌套函数 一个函数的结果作为另一个函数的参数。 =SUM(AVERAGE(B1:B5), MAX(C1:C10))

函数参数的两大特性:必需与可选

  • 必需参数:函数执行所必须的参数,如果缺少必需参数,Excel 会直接报错。

    Excel命令参数有哪些常用类型?-图2
    (图片来源网络,侵删)
    • 示例: VLOOKUP 函数有三个必需参数:lookup_value, table_array, col_index_num
    • =VLOOKUP(A1, B:D, 3) (缺少 range_lookup,但前三个是必需的,所以不会报错,但 range_lookup 默认为近似匹配)。
  • 可选参数:用户可以根据需要选择的参数,如果省略可选参数,Excel 会使用其默认值。

    • 示例: VLOOKUP 的第四个参数 range_lookup 是可选的。
    • =VLOOKUP(A1, B:D, 3, FALSE) (精确匹配)
    • =VLOOKUP(A1, B:D, 3) (省略 FALSE,默认为 TRUE1,进行近似匹配)

如何查看和理解函数参数?

Excel 提供了非常友好的工具来帮助用户理解参数。

使用“插入函数”对话框(推荐新手)

  1. 点击公式栏左侧的 fx 图标,或者按 Shift + F3
  2. 在弹出的对话框中,选择你需要的函数。
  3. Excel 会清晰地列出每个参数的名称、描述,并提示你当前应该填写哪个参数(已填写的参数会显示为粗体)。

使用函数屏幕提示

  1. 在单元格中输入函数名和左括号,=IF(
  2. Excel 会在函数旁边自动出现一个提示框,显示所有参数的名称和顺序。

常用函数及其参数示例

函数名 功能 参数说明 示例
IF 逻辑判断 logical_test (条件), [value_if_true] (条件为真时返回值), [value_if_false] (条件为假时返回值) =IF(A1>60, "及格", "不及格")
VLOOKUP 垂直查找 lookup_value (要查找的值), table_array (查找区域), col_index_num (返回值所在列), [range_lookup] (匹配方式) =VLOOKUP("张三", A2:C100, 3, FALSE)
SUMIF/SUMIFS 条件求和 SUMIF(range, criteria, [sum_range])
SUMIFS(sum_range, criteria_range1, criteria1, ...)
=SUMIF(A:A, "销售部", C:C)
COUNTIF/COUNTIFS 条件计数 COUNTIF(range, criteria)
COUNTIFS(criteria_range1, criteria1, ...)
=COUNTIF(B:B, ">100")
INDEX 返回指定行列的值 array (数组或区域), row_num (行号), [column_num] (列号) =INDEX(A1:C10, 5, 2) 返回第5行第2列的值
MATCH 返回查找值在区域中的位置 lookup_value (查找值), lookup_array (查找区域), [match_type] (匹配方式) =MATCH("苹果", A1:A10, 0) 返回 "苹果" 在 A1:A10 中的行号

Power Query (M 语言) 参数

当你在 Excel 中使用 “获取和转换数据” (Get & Transform Data) 功能时,你实际上是在使用一种叫做 Power Query 的技术,其背后是 M 语言,这里的参数更加结构化,通常以“步骤”的形式记录在“高级编辑器”中。

M 语言函数的基本结构

函数名(参数名1 = 值1, 参数名2 = 值2)

与 Excel 函数不同,M 语言的参数通常采用命名参数的形式,即 参数名 = 值,这使得代码更易读。

M 语言参数示例

假设你有一个 Excel 表格,你想筛选出“销售部”且“销售额”大于 10000 的记录。

  1. 在 Power Query 编辑器中,你可以通过界面操作完成。
  2. 每一步操作都会在右侧的“应用的步骤”窗格中生成一个 M 代码步骤。
  3. 你可以点击“高级编辑器”查看完整的 M 代码。

一个典型的 M 代码片段可能如下:

let
    // 从 Excel 工作表加载数据
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    // 筛选“部门”列为“销售部”的行
    #"Filtered Rows" = Table.SelectRows(Source, each ([部门] = "销售部")),
    // 再筛选“销售额”大于10000的行
    #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each ([销售额] > 10000))
in
    #"Filtered Rows1"

参数解析:

  • Excel.CurrentWorkbook(): 这是一个函数,它的参数是可选的,但通常通过界面操作,你不需要直接写参数。
  • Table.SelectRows: 这是一个函数,用于筛选表格的行。
    • 第一个参数 table: Source#"Filtered Rows",表示要操作的表格。
    • 第二个参数 selection: each ([部门] = "销售部"),这是一个筛选条件。each 是 M 语言中创建函数的简写,[部门] 是列名。

VBA 宏 参数

VBA (Visual Basic for Applications) 是 Excel 的编程语言。“命令”就是过程函数,“参数”则是传递给它们的值。

VBA 过程/函数的基本结构

Sub 过程名(参数1 As 数据类型, 参数2 As 数据类型)
    ' ... 代码 ...
End Sub
Function 函数名(参数1 As 数据类型) As 返回值类型
    ' ... 代码 ...
    函数名 = 计算结果
End Function

VBA 参数类型

  • 按值传递:使用 ByVal 关键字,过程内部对参数的修改不会影响原始变量。
  • 按引用传递:使用 ByRef 关键字(默认),过程内部对参数的修改会影响原始变量。

VBA 参数示例

示例 1:无参数的宏

这是一个简单的宏,用于在活动单元格写入 "Hello World"。

Sub SayHello()
    ActiveCell.Value = "Hello World"
End Sub

示例 2:带参数的宏

这个宏接受一个文本作为参数,并将其写入活动单元格。

Sub WriteToCell(ByVal textToWrite As String)
    ' ByVal 表示按值传递,textToWrite 是一个字符串类型的参数
    ActiveCell.Value = textToWrite
End Sub

如何调用这个带参数的宏?

你可以通过 Alt + F8 打开宏对话框,选择 WriteToCell,然后点击“执行”,这时,Excel 会弹出一个对话框,让你输入 textToWrite 参数的值。

或者,你可以在另一个 VBA 过程中这样调用:

Sub CallMyMacro()
    WriteToCell "你好,VBA!" ' 直接传入字符串常量
    WriteToCell Range("A1").Value ' 传入单元格的值作为参数
End Sub
类别 命令/函数 参数特点 使用场景
Excel 函数 SUM, IF, VLOOKUP 位置参数为主,用逗号分隔;有必需和可选参数,单元格内公式计算。 日常数据计算、逻辑判断、查找引用。
Power Query (M) Table.SelectRows, Excel.CurrentWorkbook 命名参数为主,格式为 参数名 = 值;步骤式、链式调用。 复杂、可重复的数据清洗、转换和整合。
VBA 宏 Sub, Function 过程 可以定义数据类型 (As String) 和传递方式 (ByVal, ByRef)。 高度定制化的自动化任务、复杂交互、开发插件。

理解不同场景下命令参数的规则和用法,是精通 Excel 的关键一步,希望这份详细的梳理能对你有所帮助!

分享:
扫描分享到社交APP
上一篇
下一篇