关于Excel自定义TEXTJOIN函数、SWITCH函数

2023-10-30

目录:

TEXTJOIN函数介绍

SWITCH函数介绍

自定义函数方法

源代码


TEXTJOIN函数:

TEXTJOIN函数是Excel在2019版本推出的新函数。

它能将某一区域的单元格值用某一符号拼接成一串文字。

比如:

有 “好久不见” 和 “你还好吗” 两个单元格,想用逗号把它们连接起来组成一句话,就可以这样做:

TEXTJOIN函数的语法:=TEXTJOIN( 连接符, 是否忽略空值, 需要合并的对象)


SWITCH函数:

学过编程的应该都不陌生,它类似于嵌套多层IF函数,但用起来却非常高效。

用法示例如图:

SWITCH函数的语法:=SWITCH( 需要判断的对象,  值1, 结果1, 值2, 结果2, ......... )

SWITCH函数最多可以添加126个供匹配的值


看了上面,你一定觉得这两个函数很方便吧?

但是:

TEXTJOIN函数在Office 365及以上版本才有,也就意味着,绝大部分用户都无法使用这个函数,如果需要使用就得安装Office 365及以上版本。

SWITCH函数是和TEXTJOIN函数一同发布的,同样需要365以上版本才能使用。

但是,为什么不自己写一个类似的函数呢?

我在网上找了许久,东拼西凑,总算找到了类似的代码,但是他们和官方的函数还有一些差别,我修改了一下,使它们基本和官方的函数一模一样。这样,我们就可以在低版本的Excel中使用这两个函数了。


自定义函数方法:

1、下载函数包(CSDN资源  或  百度网盘 提取码: Love

2、得到如图所示的文件:

3、双击打开,这时候会启动Excel,它会提示一个警告:

4、这时候需要点击启用宏(启用宏才能运行自定义函数)

5、启用宏之后,就打开了这个文件。但是看起来什么也没有,因为这是一个加载宏文件。可以试试按下 Alt + F11 键以打开 VB编辑器 ,就可以看到这两个函数的源码了。如图:

6、关闭这个界面

7、现在需要把这个文件添加到启动项,以便你每次打开Excel都会加载这两个函数

8、点击 “文件” => 点击 “选项”(你需要启用 “开发者工具” ):

9、启用开发工具:

10、将自定义宏添加到加载项:

 11、完成,这时已经可以使用这两个函数了:


值得注意的是:添加到启动项后Excel会将宏文件拷贝一份到 “C:\Users\用户名\AppData\Roaming\Microsoft\AddIns” 里面,此时你可以把下载的那个文件删除了,不会影响使用。


源代码:

TEXTJOIN函数:

' 自定义TEXTJOIN函数
Function TEXTJOIN(merger, ignore, ParamArray arr())
    Dim A As Variant, B As Variant, Mstr$
    If IsMissing(merger) Then merger = " "
    If Not IsMissing(arr) Then
        For Each A In arr
            If IsArray(A) Then
                For Each B In A
                    If ignore = 0 Or B <> "" Then Mstr = Mstr & merger & B
                Next
            Else
                If ignore = 0 Or A <> "" Then Mstr = Mstr & merger & A
            End If
        Next
    End If
    If Len(Mstr) Then TEXTJOIN = Mid(Mstr, 1 + Len(merger))
End Function

SWITCH函数:

' 自定义SWITCH函数
Function SWITCH(Obj, ParamArray va())
    Application.Volatile True
    Dim i%
    For i = 0 To UBound(va) Step 2
        If va(i) = Obj Then
            SWITCH = va(i + 1)
            Exit Function
        End If
    Next
    SWITCH = False
End Function

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于Excel自定义TEXTJOIN函数、SWITCH函数 的相关文章

  • 有一个更好的方法吗? VBA脚本

    我这里有一份供料泵的跟踪清单 我们必须考虑库存水平 所以我做了这个 当您将泵输入表中时 什么也没有发生 当您将患者姓名放在上面时 该行会变成粉红色 表明该泵已离开我们的库存 我试图将一个脚本 宏放在一起 可以计算我们仍然拥有的泵 即白色行
  • Excel VBA 组合框识别

    我的用户表单上有 4 个以上的组合框 当他们触发时 他们触发相同的事件 我想做的是找出哪个 ComboBox 触发了该事件 组合框的创建取决于组件的数量 生成组合框的代码如下所示 For j 0 To UBound ComponentLis
  • 如何从有条件的列中获取最新值

    我在 Excel 中有一个表 其中包含以下列 Date 人名 金额 英镑 该表用于记录人们何时付钱给我 通常 我可以让不止一个人在同一天向我付款 而且 随着时间的推移 同一个人会在很多天向我付款 记录添加到表格底部 以便按日期排序 但不再按
  • 如何在 Excel VBA 中仅迭代自动筛选工作表中的行?

    需要仅迭代自动筛选范围中的行 目的是获取行索引 我尝试过这个块 For Each ele In rng RowInd ele Rows Address RowNum Split RowInd 2 Next ele 这会在 rng 中的所有
  • 我怎样才能优化这个vba循环代码?

    嗨 我写了这段代码 但这段代码非常慢 我该如何优化这段代码 Private Sub printItem r lastCol objStream FirstCol 1 Dim strFirst As String strFirst CStr
  • VB.NET 中的 Excel 自动调整列

    我这里有我的 VB6 代码并且运行良好 For CLms 1 To 10 ws Columns CLms AutoFit lt Autofilt data on XL sheet Next CLms 我已经搜索了如何在 VB NET 中使
  • 如何在vba中查找命名形状的索引号

    我运行了以下代码 for i 1 to activedocument Shapes count debug Print activedocument shapes i name next 并获得了形状列表 但是缺少一个形状 我选择了一个未包
  • Excel 仅粘贴特殊使用值,还将值的数据类型与值一起复制到目标单元格中

    我一直在尝试更多地了解 Excel 单元格 特别是它们的数据类型 如果有人对细节感兴趣 我的调查位于下面的编号点中 我的结论被标记为 A 到 D 我真的很感兴趣是否有人有什么可以补充的 答 每个 Excel 单元格都有一个属性 用于定义它将
  • 从 Rest API 响应内容处置输出中下载 javascript 中的 excel 文件 [对象,对象]

    我想从我的 angularJs 代码下载一个 excel 文件 我向 Java Rest API 发出 http post 请求并返回带有标头的文件 Content Disposition 附件 文件名 new excel file xls
  • MS Access:将组合框中选定的条目插入表中

    这是我使用 MS Access 所做的一个示例 我有一个包含人名的表格和两个用于添加电话号码的文本字段 我创建了一个包含名称的列表框 我设法将列表框中选定的姓名和文本字段 Tel1 和 Tel2 中的电话号码插入表 ContactTable
  • 是否可以编写自定义 Power Query 连接器?

    在 来自其他来源 下的 Power Query 中 我们看到许多专业提供商 Facebook SAP SalesForce 等 我有兴趣编写一个自定义提供程序来访问无法通过任何内置连接器使用的本地专有数据存储 我知道 访问没有支持连接器的数
  • 在c#中使用OleDB读取excel文件?

    我正在构建一个程序来将 excel 文件读取到 dataGridView 中 using System using System Collections Generic using System ComponentModel using S
  • 使用字符串数组作为子字符串参数的 VBA InStr 函数 (Excel)

    找了很久了 第一次提问 目标 循环遍历包含地址的列 根据单元格包含的邮政编码为单元格偏移 0 6 分配一个值 城市名称 这是我到目前为止所得到的 缩短的数组长度 Sub LabelCell Dim SrchRng As Range cel
  • 如何使用 Office.js 获取单元格的格式

    我正在开发一个 Excel 加载项 它提取单元格 A1 的文本 包括其格式 并在其自己的区域中显示文本 所以添加包含这个 见下面的截图 显示格式化文本的区域 开始提取的按钮请点击查看图片 https i stack imgur com oy
  • VBA半正矢公式

    我正在尝试将半正矢公式应用到Excel函数中 它看起来像这样 Public Function Haversine Lat1 As Variant Lon1 As Variant Lat2 As Variant Lon2 As Variant
  • 自动创建 Outlook 约会

    我有一个跟踪到期日期的电子表格 excel 2003 我想知道是否有办法让这些到期日期在 Outlook 中创建约会 提醒 到期日期位于电子表格的一个字段中 实体名称位于另一列中 理想情况下 我希望 Outlook 2003 能够获取日期
  • 使用 python 只读取 Excel 中的可见行

    我想只读取 python 中 Excel 工作表中的可见行 输入 Excel表 所以当我过滤时 作为 python 中的输出 在本例中我将仅获得可见数据 1 行 这是我的代码 from openpyxl import load workbo
  • 使用 php 和 symfony 从数组创建 Excel 文件

    我正在尝试使用 PHP 和 symfony 将数组导出为 XLS 文件 如下面的代码所示 创建 XLS 文件后 我只能获取数组的最后一行 并且它显示在文件的第一行中 似乎 lignes 变量没有增加 我不明白出了什么问题 有人可以帮忙吗 f
  • 将 Excel 导入到 Datagridview

    我使用此代码打开 Excel 文件并将其保存在 DataGridView 中 string name Items string constr Provider Microsoft Jet OLEDB 4 0 Data Source Dial
  • Excel VBA 自动过滤子字符串

    我的 Excel 中有多行 其中 D 列为 TDM 02 Bundle Rehoming 5 NE TDM 02 Bundle Rehoming 23 NE IP 02 Bundle Rehoming 7 NE 等 请注意 大多数情况下 N

随机推荐

  • pytorch下载与安装(离线包版本)

    笔者因为实验需要 不同的模型需要不同版本版本的pytorch 于是安装pytorch就总是出现一个问题 那就是断 比如需要安装torch1 4版本 使用Anaconda Prompt尝试了几次 pip install torch 1 4 0
  • python中eoferror是啥错误,python怎么看错误类型是什么

    以下是python的错误类型的总结 希望能帮助到有需要的小伙伴 Python全部的错误类型 错误类型 说明 ZeroDivisionError 除 或取模 零 所有数据类型 ValueError 传入无效的参数 AssertionError
  • 【精华】详解Qt中的内存管理机制

    前言 内存管理 是对软件中内存资源的分配与释放进行有效管理的方法和理论 众所周知 内存管理是软件开发的一个重要的内容 软件规模越大 内存管理可能出现的问题越多 如果像C语言一样手动地管理内存 一会给开发人员带来巨大的负担 二是手动管理内存的
  • 人生百味-7:一个人干活,一群人催进度,谁之过?

    如果你曾经是程序员 我相信你会深有体会 如果你曾经是项目管理 我相信你会有感受 旁观的说 那是专业活 只有他能做得来 干活的说 对不起大家 还还需要一段时间查
  • 论文阅读-Attention Bottlenecks for Multimodal Fusion(多模态特征融合)

    一 论文信息 论文题目 Attention Bottlenecks for Multimodal Fusion paperwithcode https paperswithcode com paper attention bottlenec
  • 分组密码算法与DES算法

    目录 1 分组密码的含义 1 1 分组密码介绍 1 2 分组密码的含义 1 3 分组密码的要求 2 分组密码的设计思想 2 1 分组密码的设计思想 3 分组密码的基本特点 3 1 分组密码的基本特点 3 2 分组密码的迭代结构 3 3 子密
  • 网关ping不通

    一 ping 网关 ping 10 0 0 254 ping sendto Host is down ping sendto Host is down Request timeout for icmp seq 0 ping sendto H
  • windows批处理:路径以\结尾 + unix换行 + rem + %~dp0时会导致报错

    windows对unix和windows换行符都支持的 但是遇到一种情况对unix不支持 之前遇到过window10执行没问题 但到了win7却有问题 代码如下 set project dir name Lua515 rem dp0 aaa
  • 轻松穿戴 IMU嵌入宽松衣服里做动作捕捉

    在日常生活中 保持正确姿势能够有效促进血液循环并降低慢性疾病的患病风险 在康复环境中 姿势监测可以帮助医护人员评估病情和治疗手段的效果 从而改善患者的身体状况 在以往的研究中 往往要求IMU牢固固定在穿戴者的特定身体部位 对穿戴要求较高 操
  • codeblocks安装、使用、调试教程

    一 下载 官方下载地址 二 安装 运行codeblocks 20 03mingw setup exe或FossHUB 界面如下 点击 Next gt 点击 I Agree 如上图所示的选择组件界面 这时一定要勾选 MinGW Compile
  • Python实现某网站爬取小说(爬虫)

    该代码仅供学习交流 爬虫 爬虫是一种自动化程序 用于从互联网上获取和提取数据 它模拟人类用户的行为 在网页上浏览和抓取信息 并将所需数据保存或处理 下面演示的代码是爬取小说的 先看运行效果图 下载完成后 直接合并为一个文件 超方便好吧 不是
  • 无法访问GitHub,原因以及快速解决办法

    访问GitHub时 总是无法访问 例如出现如下情况 原因分析 一 首先 需要明确的是GitHub本身并没有封锁某些地区的访问 如果无法访问GitHub 很有可能是由于网络层面的问题 可能存在以下问题 DNS是一种用于将网址转换为IP地址的工
  • python 点击run 报错 @NotNull method

    问题 Error running test NotNull method com intellij execution configurations GeneralCommandLine getExePath must not return
  • 基于Qt的在线音乐播放器

    1 了解音乐播放器应该有哪些功能 音乐播放器的各种控制 上下曲 单曲循环 随机播放 顺序播放 歌曲列表 歌词显示 本地音乐保存 在线音乐搜索 在线音乐播放 2 制作Qt音乐播放器一定要了解QmediaPlayer和QmediaPlaylis
  • MongoDB怎么去除大量重复的数据

    本文虽然不是完全转载 但是思路及代码均是借鉴于 不会编程的小猿 博主的csdn博客 传送门如下 不会编程的小猿的博客 使用python爬虫采集数据通常会存放到MongoDB数据库中 那采集到的数据可能就会有大量的重复 那么有什么思路能够去重
  • 找出n个数里最小的k个

    找出n个数里最小的k个 链接 https www nowcoder com questionTerminal cc727473d1e248ccb674eb31bd8683dc 来源 牛客网 输入描述 每个测试输入包含空格分割的n 1个整数
  • 【ML on Kubernetes】第 5 章:数据工程

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • QT控件edit内容居中显示

    ui gt edit word gt setAlignment Qt AlignHCenter 设置edit文字居中显示
  • FPGA-(Win11)USB-Blaster无法在此设备上加载驱动解决

    在电脑上连接FPGA的USB Blaster下载器的时候 可能会出现无法在此设备上加载驱动问题 可以通过以下方式解决 首先这里如果驱动没有安装好 会有感叹号标志 可以在桌面底部搜索windows 安全中心 选择设备安全性 单击顶部的核心隔离
  • 关于Excel自定义TEXTJOIN函数、SWITCH函数

    目录 TEXTJOIN函数介绍 SWITCH函数介绍 自定义函数方法 源代码 TEXTJOIN函数 TEXTJOIN函数是Excel在2019版本推出的新函数 它能将某一区域的单元格值用某一符号拼接成一串文字 比如 有 好久不见 和 你还好