VBA字典与数组第八讲:数组及数组公式结果的制约性和集合性

2023-12-05

《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以解决大多数工作中遇到的实际问题。

这套字典教程共两册,一共八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA字典与数组第八讲:数组及数组公式结果的制约性和集合性

5f9ad3ae8253eefd55a355212ce9f292.jpeg

【分享成果,随喜正能量】如果想要远离痛苦,就要断除烦恼、停止造业。断除烦恼、停止造业的方法就是佛法。世界上很多宗教、教派提出各种各样的主张,都是停止痛苦、远离轮回的方法,有些正确,有些不正确,有些究竟,有些不究竟。所有这些方法当然有其作用和存在的价值,但唯有佛教的真理可以彻底解决烦恼、让人获得究竟的解脱。。

第九讲 数组及数组公式结果的制约性和集合性(一)

今日继续讲解VBA数组与字典解决方案,今日讲解第9讲,在前面的几篇关于数组的专题中,我先后讲了数组的基本概念,基本的应用,并结合实际的应用的把一些有用的内容讲解给了各位朋友,相信很多朋友对数组的应用已经有了较为深入认识,这对于大家的实际应用是十分有用的。今日给大家讲数组及数组公式结果的制约性和集合性的第一部分。

1数组引用大小的制约性

84234d8e2ecc057f5a43bbaab62a55ae.jpeg

我们先看上面的截图,在C5中的录入公式为“=IF(C2:C3="Mary",ROW(D2:D3))”(数组公式),你知道它的返回值为什么是FALSE吗?这里要理解一个概念,数组的大小的制约性。下面我慢慢的讲解。

对于数组“=IF(C2:C3="Mary",ROW(D2:D3))”聪明的你可能已经想到这种类型的数组公式返回的是一个结果集,这个结果集的大小与操作对象的大小是一致的,在这里操作对象为C2:C3和D2:D3,因此返回值应该为两个元素。

就样结果就出来了,由于C2=”John”,不满足条件,因此应该返回IF()函数的第三个参数值,但这里无第三个参数,所以系统返回FALSE;也就是说上面的截图中C5的返回值为FALSE.

对于数组大小的强制性来说:上面的数组“=IF(C2:C3="Mary",ROW(D2:D3))”返回值应该为两个,那么第二个值应该在哪里呢?我们继续考虑数组的执行过程:由于C3=”Mary”,满足条件,因此返回第二个参数值,即ROW(D2:D3),而C3对应的是D3,所以返回值应该为3。

这个值应该在哪里呢?我们把C6的单元格也选择上录入数组公式:结果如下:

ff53adea399ca9d3c4ddd0b80e49a91d.jpeg

这里需要注意的是C5,和C6的公式是一致的,也就是说C5和C6共同构成了数组的单元,两个元素一个是”FALSE”一个是”3”。

在上面的讲解中,我提到了在C5和C6中录入数组公式,不知道大家是否还知道数组公式的录入方法:请选择C5:C6,输入“=IF(C2:C3="Mary",ROW(D2:D3))”,按“Ctrl+Shift+Enter”。这是数组公式的录入方法,要注意的是此大小要与操作的数组结果大小相一致。

2 数组公式的集合性

在上面的讨论中我们反复的讲了数组的制约性特性,这里再讨论一下数组的集合性。因为数组是多个元素的集合,当然数组具有集合性。我们看下面的截图:在E5中录入下面的公式: “=MIN(IF(C2:C3="Mary",ROW(D2:D3)))”,按“Ctrl+Shift+Enter”,看结果。

bb12608ad0a19bc256fd504f5abf7bb6.jpeg

这个结果当然就是在求MIN(FALSE,3)的值。在运算中FALSE的值是0。0和3的最小值是0,为什么返回的结果是3呢?好了今日的这个问题大家可以先想一想,我在下面的数组专题中讲解。

这里要给大家说明的是数组返回的结果是一个集合,这个集合的元素应该是符合集合特征的元素。

 今日内容回向:

1 什么是数组的制约性?

2 什么是数组的集合性?

3 上面的最小值为什么是3,而不是0呢?读者是如何理解的?

651f2c30d32e5e75525ee4328bb340a7.jpeg

我多年的VBA实践经验,全部浓缩在以下教程中:


0a7570d3734d063671ce0228602ad27f.jpeg

aae34d3b3ebcac39ea5cd65ee2f0e8cf.jpeg

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

VBA字典与数组第八讲:数组及数组公式结果的制约性和集合性 的相关文章

  • 无法关闭打开的 Excel 工作簿

    我正在构建一个带有命令按钮 用户表单等的 Excel 文件 其中包含其他工作簿的链接 对于工作表上的命令按钮 我使用与用户表单中的命令按钮相同的代码 workbooks open path 使用用户表单命令按钮 添加以下内容 unload
  • “是”运算符给我 False,我可以知道原因吗?为什么? [复制]

    这个问题在这里已经有答案了 在编写 MS Excel VBA 代码时 我遇到了一个简单的问题 如下所示 上面的一点问题都没有 下层有问题 它给了我 假 Dim my01 my02 Set my01 Sheets 1 Set my02 She
  • 变量的变化触发事件

    是否可以通过变量的更改来触发事件 例如 这将触发事件 Dim t As Integer Dim Fire As Boolean Private Sub Test t 0 Fire True IIf Fire t 1 t 2 End sub
  • Outlook 宏中的 SenderName 为空

    我想要得到SenderName和和To属性来自于MailItem对象 但它们是空白的 我可以看到有SentOn Subject以及其他不为空的属性 有谁知道为什么这两个是空白的 这是我的代码 Sub TestMacro Dim myOlAp
  • 在 Access 表单上将控件分组在一起

    我有一个 Access2003 表单 我想将多个控件组合在一起并通过 VBA 代码以编程方式更改可见性 这可能吗 我确实知道我可以通过 格式 gt 组 对项目进行分组 但如果这样做 如何在代码中引用整个组 谢谢 您可以将所有控件放置在组框控
  • VBA Excel 大数据操作需要很长时间

    我有两个Excel文件 第一个 Excel 文件包含 人员姓名 和 出席总天数 列 前任 PersonName TotalDays xyz abcd 另一个 Excel 文件包含人员姓名 日期和状态 出席 缺席 PersonName Dat
  • 使用用户定义函数的 VBA 数据验证

    我有一个用户定义的函数 我想在自定义数据验证中使用它 我的函数工作正常 但是当我在数据验证中使用它时 每次都会出错 有代码 Public Function AlphaNumeric pValue As Boolean Dim LPos As
  • 使用 If 语句执行 Do Until 直到达到特定值

    我正在处理一份大数据表 我需要代码从特定单元格中减去 直到该值大于某个数字 如果这个数字没有达到 我希望它变成0 例如如果A3 A2 gt Q5 then E3 A3 A2 if lt Q5 do A3 A1 如果这不起作用E2 0 我需要
  • MS Access 表单按钮,允许用户浏览/选择文件,然后将文件导入到表中

    在我的数据库中 我可以使用以下命令创建命令按钮导入文件 DoCmd TransferText acImportDelim 导入的原始数据 导入规范 导入的原始数据 D Users Denise Griffith Documents Grif
  • 运行代码(而不是查询)时如何在状态栏上显示进度

    我已经发布了有关在 MS Access 2010 中运行查询时更新状态栏的问题 请参阅在 MS Access 中运行一系列查询时如何在状态栏上显示进度 https stackoverflow com questions 27765376 h
  • 无法在我的抓取工具中设置超时选项以防止无限循环

    我已经使用 IE 在 vba 中编写了一个脚本 在其搜索框中的网页中启动搜索 通过点击搜索按钮根据搜索填充结果 网页加载它是searchbox几秒钟后它就会打开 但是 我的下面的脚本可以处理这个障碍并以正确的方式执行搜索 现在 我有一个稍微
  • 如何在VBA编辑器中跳转到行号?

    我在 Office 2010 中使用 VBA 在顶部 有一个带有行号和列号的框 例如 Ln 1480 Col 17 有没有办法在代码编辑中 而不是在执行中 直接跳转到另一个行号 就像我使用的那样Ctrl G在记事本中 这个MSDN答案 ht
  • 在合并的单元格中选择、插入照片并将其居中

    我是一名研发面包师 正在为我的团队制作食谱模板 模板中有照片 但我需要轻松地允许他们单击一个按钮 打开照片的文件选择器 然后将该照片放在合并的单元格中 我其实不太擅长做这个 Sub InsertPhotoMacro Dim photoNam
  • 在Excel中,我可以使用超链接来运行vba宏吗?

    我有一个包含多行数据的电子表格 我希望能够单击一个单元格 该单元格将使用该行中的数据运行宏 由于行数总是在变化 我认为每行的超链接可能是最好的方法 ROW MeterID Lat Long ReadX ReadY ReadZ CoeffA
  • 检查未绑定控件是否具有值的正确方法

    简单场景 一个表单和一个文本框 未绑定 Text1 If lt gt Text1 Then MsgBox Not Empty End If 上面的代码有效 表达方式 lt gt Text1如果文本框包含字符 则计算结果为 True 无论文本
  • 使用 ADODB 连接从关闭的工作簿中检索数据。某些数据被跳过?

    我目前正在编写一些代码 可以通过 ADODB 连接访问单独的工作簿 由于速度的原因 我选择了这种方法而不是其他方法 下面是我的代码 Sub GetWorksheetData strSourceFile As String strSQL As
  • 如何使用 VBA 添加 MS Outlook 提醒事件处理程序

    我想扩展 MS Outlook 以便当弹出日历提醒时 我可以运行一个可以运行外部程序 如批处理脚本 的 VBA 挂钩 就我而言 我想将提醒 转发 到 Linux 桌面 因为我在这两种环境中工作 并且 Windows 桌面并不总是可见 我看到
  • 如何在 Excel 中对“高”字符进行 HTML 编码或音译?

    在 Excel 中 如何将包含重音字符 大引号等的单元格内容转换为相同字符的 HTML 或音译纯文本版本 我们有一个 XLS 文档 其中包含一些 高 字符 数据已通过数据库连接提取 并且 Excel 似乎正确处理不同代码页中的各个单元格 或
  • 使用 VBScript 在日期字段值上选择错误的数据

    我有一张包含以下数据的表 现在 Excel 共有 36 个任务 每个任务有 4 列 第一个任务 即 Task1 名称将始终从 L 列开始 144 列描述了 36 个任务 现在我们需要按行进行检查 并需要检查 TNStart 开始日期 你们能
  • 使用 split 函数到数组中会导致编译错误:无法分配给数组

    我正在尝试使用split 函数根据给定名称字符串中的空格拆分名称 当尝试编译我在下面编写的代码时 出现编译错误 无法分配给数组 我几乎从这里复制了微软的示例 https support microsoft com en us kb 2662

随机推荐

  • 美国国防部采办中的ChatGPT:高级语言模型的机遇和风险

    随着人工智能的不断进步 像 ChatGPT 这样的大型语言模型有可能彻底改变国防采购和合同签订的方式 由于语言模型能够生成类似人类的文本 因此可以自动完成采购中的许多重复而耗时的任务 如文件准备 研究和沟通 与任何新技术一样 国防工业采用大
  • MySQL 8.0 压缩版安装教程

    1 下载mysql压缩包 2 解压文件 我这里把压缩包解压到E盘的根目录 3 配置系统环境变量 为了让Windows系统可以识别我们这里后面会用到的MySQL命令 需要给当前系统添加环境变量 我的电脑 右键 gt 属性 gt 高级系统设置
  • 轻量应用服务器小程序部署可以吗?

    轻量应用服务器是指提供了一定的并发能力 等功能的云服务器 它可以实现对网站 小程序提供高效 安全的技术支持 而小程序则是一种新的开放能力 不仅具有出色的使用体验 还可以在微信内被便捷地获取 为用户提供便利的服务 原文地址 轻量应用服务器小程
  • 浅析Hotspot的经典7种垃圾收集器原理特点与组合搭配

    浅析Hotspot的经典7种垃圾收集器原理特点与组合搭配 HotSpot共有7种垃圾收集器 3个新生代垃圾收集器 3个老年代垃圾收集器 以及G1 一共构成7种可供选择的垃圾收集器组合 新生代与老年代垃圾收集器之间形成6种组合 每个新生代垃圾
  • WebGL笔记:图形缩放的原理和实现

    缩放 1 原理 缩放可以理解为对向量长度的改变 或者对向量坐标分量的同步缩放 如下图 比如 让向量OA 收缩到点B的位置 也就是从OA变成OB 缩放了一半 2 公式 已知 点A的位置是 ax ay az 点A基于原点內缩了一半 求 点A內缩
  • Tomcat 配合虚拟线程,一种新的编程体验

    Java 21 在今年早些时候的 9 月 19 日就正式发布 并开始正式引入虚拟线程 但是作为 Java 开发生态中老大哥 Spring 并没有立即跟进 而是在等待了两个月后的 11 月 29 日 伴随着 Spring Boot 3 2 版
  • leetcode:468. 验证IP地址

    验证IP地址 中等 249 相关企业 给定一个字符串 queryIP 如果是有效的 IPv4 地址 返回 IPv4 如果是有效的 IPv6 地址 返回 IPv6 如果不是上述类型的 IP 地址 返回 Neither 有效的IPv4地址 是
  • 《许犁庭与柔性世界》第三十章 出云,乘雷与君影

    再次回到校园 伴随着老师舒缓的节奏 徜徉在大大小小 深浅不一的草垛间 头顶碧空如洗 脚底金蕊盖霜 四周稻色黄莽 远处绿黛青芒 境与心会 便欲驭风跨蜿虹 1 若不是老师一把拉住 许犁庭估计会一头撞到前方那澹烟笼罩的巨树上 呵呵 第一次进入伊拉
  • 如何更好地平衡工作和生活?从实际出发

    在当今快节奏的生活中 平衡工作和生活的重要性越来越受到人们的关注 工作和生活是相辅相成的 只有通过良好的平衡 我们才能在工作和生活中获得最佳的状态和体验 然而 如何更好地平衡工作和生活呢 下面将介绍一些实用的方法 一 制定合理的时间表 制定
  • 某音订单接口在电商行业中的重要性及实践应用

    一 引言 随着移动互联网的快速发展 短视频平台抖音已经成为人们日常生活中不可或缺的一部分 越来越多的商家开始利用抖音平台推广和销售商品 从而实现商业变现 在这个过程中 抖音订单接口起到了至关重要的作用 本文将详细探讨抖音订单接口在电商行业中
  • 利用FileZilla下载PHOENIX高分辨率光谱

    下载PHOENIX光谱 在诸如CCF SED拟合中经常需要下载模板光谱 因此有一些大牛提供了相关的光谱库供大家使用 例如 Gottingen Spectral Libary by PHOENIX 论文 A new extensive lib
  • Node.js爬虫实战:搜狗图片爬取

    说在前面 当我们在网上寻找图片时 经常会遇到需要批量下载搜索结果中的图片的情况 而搜狗作为中国颇具影响力的搜索引擎之一 其图片搜索功能提供了丰富多样的图片资源 在这种情况下 我们希望能够通过编程的方式 批量下载搜狗图片搜索结果中的图片 以便
  • 数字化转型的引擎:企业与消费者同步变革

    数字化转型的引擎 企业与消费者同步变革 随着科技的飞速发展 数字化转型已成为企业生存和发展的必然选择 在这个过程中 企业和消费者都面临着巨大的变革和挑战 本文将探讨数字化转型的推动力 以及企业和消费者如何应对这些变革 一 数字化转型的推动力
  • VLAN实验

    题目要求 1 PC1和PC3所在接口为Access接口 2 PC2 4 5 6处于同一网段 其中PC2可以访问PC4 5 6 PC4可以访问PC5 但不能访问PC6 PC5不能访问PC6 3 PC1 3与PC2 4 5 6不在同一网段 4
  • 编译tzdata提示内存越界 malloc(): memory corruption /bin/sh: line 1: 32317 Aborted

    编译tzdata时 遇到如下所示的错误提示 awk v outfile main zi f ziguard awk africa antarctica asia australasia europe northamerica southam
  • 图片转表格软件有哪些?进来马上给你揭晓

    在整理资料的时候 你或多或少都会遇到一些图片格式的表格 需要你手动输入文字信息进行整理 然而 如果数据多的话 很容易出错 并且很浪费时间和精力 为了解决这个问题 你可以借助一些工具 来帮助你更高效地处理这种情况 这些工具通常可以将图片中的表
  • Ubuntu20.04使用SVN(Rabbitvcs)

    原文 https blog csdn net u014552102 article details 129914787 1 安装Rabbitvcs sudo apt get install rabbitvcs nautilus sudo r
  • WebGL笔记:js中矩阵库的使用

    矩阵库 手写矩阵 其实很麻烦 可以将其模块化 市面上已经有许多开源的矩阵库 比如 WebGL 编程指南 里的 cuon matrix js three js 的 Matrix3 和 Matrix4 对象 three js的 Matrix4
  • WebGL笔记:矩阵缩放的数学原理和实现

    矩阵缩放的数学原理 和平移一样 以同样的原理 也可以理解缩放矩阵 让向量OA基于原点进行缩放 x方向上缩放 sx y方向上缩放 sy z方向上缩放 sz 最终得到向量OB 矩阵缩放的应用 比如我要让顶点在x轴向缩放2 y轴向缩放3 轴向缩放
  • VBA字典与数组第八讲:数组及数组公式结果的制约性和集合性

    VBA数组与字典方案 教程 10144533 是我推出的第三套教程 目前已经是第二版修订了 这套教程定位于中级 字典是VBA的精华 我要求学员必学 7 1 3 9教程和手册掌握后 可以解决大多数工作中遇到的实际问题 这套字典教程共两册 一共