本章主要内容: 1)bool类型 2)三目运算符 3)引用 ---- 1.布尔型bool 在C++中,bool类型只有true(非0)和flase(0)两个值,且bool类型只占用了一个字节....& b = c; //定义const引用b,指定b的初始化是个变量c int *p =(int *)&a; //b=2; //错误,不能直接修改const引用的内容...,说明const引用b和变量c的存储空间是一起的 所以,在C++中,const修饰的是常量,而const & 修饰的是只读变量(可以通过指针修改值) 注意:在初始化时,比如变量c和const引用b定义的类型不同...c'\n",b,c); 输出结果: b='c' c='b' 3.4 引用数组 C++不支持引用数组,因为在C中,数组存放的是连续相邻的一串数据,所以C++也要兼容该特性。...a, b, *pc这3个变量的定义位置都不同,分配的存储空间地址也是不连续的,然后又使: array[0]的地址=a地址 array[1]的地址=b地址 array[2]的地址=pc地址 所以导致数组存放的数据不是连续相邻的
最相关的是,一次只能使用它引用单个Excel工作表,要引用不同工作表中的单元格区域,必须对每个工作表使用单独的引用。...(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“B1:B10A5:C5”) 这样的引用返回两个区域共用的单元格。...在本例中的两个区域共用的唯一单元格是B5。 使用Worksheet.Range属性引用命名区域 如果引用的区域具有名称,则其语法与引用单个单元格非常相似,只需将用于引用区域的地址替换为适当的名称。...假设正在处理的Excel电子表格中合并了A1到C5的单元格区域,这包括单元格A1、A2、A3、A4、A5、B1、B2、B3、B4、B5、C1、C2、C3、C4和C5。...使用Range属性的快捷方式引用Range对象 可以使用方括号([])缩短使用Range属性对Range对象的引用。可以像下面这样使用这种快捷方式: 1.不使用关键字Range。
使用Worksheet.Cells引用单个单元格 Cells属性最基本的使用情形是引用单个单元格。...一旦第一行中的所有单元格都分配了一个编号,该过程将继续进行第二行: 单元格A2被分配数字编号16385。 单元格B2被分配数字编号16386。 单元格C2被分配数字编号16387。...使用Range.Cells属性相对于单元格区域引用单个单元格 假设当前选择区域覆盖了活动工作表的单元格C3至D5(单元格C3、C4、C5、D3、D4和D5)。你已经知道这是一个Range对象。...中的单元格区域包含单元格A1至B5(A1、A2、A3、A4、A5、B1、B2、B3、B4和B5),可以输入: Range(Cells(1,1),Cells(5,2)) 相应的完全限定引用如下所示: Application.Workbooks...2.移动该区域,向右3个单元格,向下3个单元格。 返回从单元格D4到E8的区域(D4、D5、D6、D7、D8、E4、E5、E6、E7和E8)。
例如: B2:D5 单元格区域运算符合并所有的单元格成单个引用,如下图1所示。 图1 联合运算符 联合运算符是,(逗号)。例如下图2所示。...图4 图4单元格E2中的公式查找:如果下一个值是9,平均值是多少? 交叉运算符 交叉运算符是空格符,如下图5所示。 图5 结果为10,因为这两个单元格区域在单元格C4相交,所以返回其值10。...INDIRECT INDIRECT函数接受文本字符串并将其转换成单元格区域,例如: =INDIRECT(“A” & F2) 公式中,单元格F2中是一个代表行号的数字,如果F2中的值是3,那么单元格引用就是...图9 示例中,OFFSET函数从单元格D5开始,向上移动3行至单元格D2,然后向左移动2列至单元格B2,接着从B2开始的2行和4列的单元格区域,即单元格区域B2:E3。...图11 实际上,这个公式就是求单元格区域B2:E5中的值之和,即: =SUM(B2:E5) CHOOSE CHOOSE可用于基于索引值选择不同的单元格区域,如下图12所示。
引用数组,包含一个以上的单元格引用,例如单元格区域、工作表引用和定义的名称。 2. 由公式元素创建的数组,也称作结果数组,是通过数组操作创建的一组项目。 3. 数组常量,一组硬编码到公式中的值。...结果数组可用于大公式中的公式元素,也可以是公式传递到单元格区域中的最终结果。数组公式的结果可以是单个项目,也可以是一组项目。...图1 图1所示的工作表中的计算过程如下: 1. 在单元格E3中使用公式=D3-C3计算该天的变化值,这只是一个简单的单个值之间的减法运算。 2. 同样,使用减法运算计算出其它3天的变化值。 3....在单元格E8中,使用公式=MAX(E3:E6)求出这4天变化值中的最大值。 很显然,这些公式都不是数组公式,因为它们只是在单个项目上执行运算,得到的结果也是单个项目。...单元格D8中包含从单元格区域D3:D6中的值减去单元格区域C3:C6中的值的公式,执行着两组数值的减法运算:D3:D6-C3:C6。 2. 减法运算的结果是一组数值。
如下图2所示,简单地使用逗号分隔一系列单元格,将这些单元格合并成单个单元格区域。 图2 将合并运算符与单元格区域运算符组合使用,会更加强大。如下图3所示,对两个单元格区域的值求和。...如下图5所示,将返回结果值6,因为单元格区域C2:C8与B5:E5交叉于单元格C5,所以在单元格F2中返回的值等于单元格C5中的值。...如下图8所示,单元格F2中返回的值是5(即2+3)。 图8 返回单元格区域的函数 处理单元格区域的一个挑战在于不知道要包含在区域中的单元格地址。幸运的是,可以使用许多函数来返回单元格的地址。...CHOOSE函数 CHOOSE函数用于基于索引号选择不同的单元格区域,例如: =SUM(CHOOSE(2,B2:B7,C2:C7,D2:D7,E2:E7)) CHOOSE函数的第一个参数是索引号,之后的参数是可能结果列表...=SUM(SWITCH(F2,"北区",B2:B7,"南区",C2:C7,"东区",D2:D7,"西区",E2:E7)) 如果单元格F2中的值是“东区”,则SWITCH函数返回单元格区域D2:D7,那么上面的公式变为
当Excel希望获得单个单元格引用但却提供给它单元格区域时,Excel会自动计算出单元格区域与当前单元格的行或列相交的区域并使用。例如下图1所示: ?...如果在单元格C2中输入数组公式: =A:A 即输入后按Ctrl+Shift+Enter完成输入,会获取列A中的第1个数据,如下图3所示。 ?...例如,VLOOKUP函数通常使用单个值或引用作为要查找的值,使用单元格区域作为查找表。...例如,公式: =VLOOKUP(A4,$A:$C,3,false) 在列A至列C组成的区域中精确查找单元格A4中的内容,并返回列C中相应的值。...2.+号技巧非常好,但容易忘记使用! 3.像fImplicit这样的通用辅助函数比+号更快且更友好。
(2)选中需要的单元格区域(C3:C13),设置一级菜单。...B2,0,MATCH(C3,省份,0),1000,1)),1) (1) 上面的数据源中,用到了两个OFFSET函数,这样做的好处是,后期如果添加了新的城市,二级菜单的内容也会动态更新。...=0&mmversion=false 4 几点补充 (1)offset函数 返回对单元格或单元格区域中指定行数和列数的区域的引用。...返回的引用可以是单个单元格或单元格区域。可以指定要返回的行数和列数。...(3) COUNTA函数 COUNTA 函数计算范围中不为空的单元格的个数。 (4) INDEX函数 INDEX 函数返回表格或区域中的值或值的引用。
第一个参数range:是要对其进行计数、统计的区域; 第二个参数criteria:是进行计数的条件。可以是数字、表达式、单元格引用或文本字符串。...第二个参数是表达式 =countif(A:A,">10") 统计在A列中大于10的有多少个。 第二个参数是单元格引用 =countifA:A,C1) 统计在A列中,与C1内容相同的有多少个。...=countif(A:A,">"&C1) 统计在A列中大于C1单元格的有多少个。...第一个参数为单元格B2:B30,也就是对“所属部门”这一列进行统计。 那我们统计什么呢? 第二个参数就是统计的条件。第二个参数是单元格H2,也就是要统计指定区域里,以H2单元格内容为条件的计数。...比如,要统计薪水列里,薪水大于15000的,统计公式如下: =countif($E$2:$E$30,">15000") 也就是说,对“薪水”列,即案例中的“E2:E30”区域里的薪水进行判断,判断的条件是
因此,我们有一个相对简单的方法,可以从连续的列中获得条件和。 但是,如果我们希望增加的单元格区域是间接引用的,那该怎么办?...B:B"),"Y") 其中,A1包含要引用的工作表名称(例如“Sheet1”)。 当我们向右拖动此公式时,间接引用的单元格区域不会改变。...当然,这是完全可以预料的,因为那些“单元格区域”根本不是真正的单元格区域,而只是伪装成单元格区域的文本字符串,只有通过将它们传递给INDIRECT函数才能将其解释为实际的单元格区域。...如果A1中的值是“Sheet2”,则: INDEX(INDIRECT("'"&$A$1&"'!A:XFD"),,COLUMNS($A:C)) 转换为: =INDEX(Sheet2!...C:C 然而,如果间接引用的不是一个工作表,而是多个工作表,如何处理?例如公式: =SUMPRODUCT(SUMIFS(INDIRECT("'"&Sheets&"'!
现在,想从该区域中提取单词并创建唯一值列表,如列B中的数据所示。 ? 图1 可以在单元格B1中编写一个公式,向下拖拉以创建该唯一值列表。如何编写这个公式呢? 先不看答案,自已动手试一试。...^0)) 计算单元格区域A1:A10中不重复的单个单词的数量。...其实,只要单词不长且我们选择的类似99这样的数字够大,都可以保证能够有效拆分单词。 实际上,可以保证有效获取分隔区域的数值的长度应该始终大于字符串中任何单个单词的长度。...4;4;1;1} 即单元格区域Data中每个单元格内单个单词的数量,除了其中第3行和第9行为空但仍返回不正确的数字1外。...使用Arry3替换掉上文中使用FREQUENCY函数求唯一值的公式中的单元格区域,并进行适当的调整,得到单元格B2中的公式: =IF(ROWS($1:1)>$C$1,"",INDEX(Arry3,SMALL
三、应用案例——查询多列结果 以我们常用的vlookup为例。在下图这种场景中,需要查询不同产品,三个地区的售价。常规做法,我们需要在I2:K2三个单元格中,各写一个相似的vlookup公式。...如果使用数组运算,我们只需要在I3单元格输入一个公式,即可自动填充到J和K中。注意,此时的数组是通过大括号来触发的。公式中第三个参数,用大括号引用了3、4、5列,即要查询第3、4、5列的值。...=VLOOKUP(H2,$A:$E,{3,4,5},0) 三、隐式交集运算符@ 隐式交集逻辑将多个值减少为单个值。上文两个例子中,我们一个公式产生的结果,会自动填充到相邻的范围。...比如第一例把公式改为: =@B3:B5*@C2:E2 则仅C3单元格会显示结果,其他区域不填充,如下图所示。 四、优点 1. 简单高效 通过数组计算,以往一些麻烦的运算,可以更简便地实现。...2. 无法删除结果数列中的任意值 动态数组生成的结果,是一个整体,无法像平常excel列那样,删除其中任意的值。 3. 不支持超级表和Power Query 预告:下期将会逐步介绍动态数组函数的应用
每当Excel重新计算电子表格时,无论其引用的单元格有无变化,易失性函数都会重新计算。许多操作都会触发重新计算,例如在单元格中输入数据、插入行等。这样,易失性函数会增加公式的计算时间。...图4:当有6条记录时查找单元格区域中的最后一项 使用INDEX和MATCH函数创建可以扩展和缩小的动态单元格区域 如下图5所示,在单元格E2中是一个数据有效性下拉列表,其内容来源于单元格区域A2:A5,...静态的单元格区域如下: A2:C5 创建的动态单元格区域如下: A2:INDEX(C2:C8,MATCH(9.99E+307,C2:C8)) 注意,由于INDEX函数位于一个起始单元格引用和冒号之后,因此不再获取该区域中的最后一项...,而是获取该区域中最后一项的单元格地址(单元格引用)。...(1)如果含有数字的数据集在列C中并决不会超过50条记录,可使用: =A2:INDEX(C2:C51,MATCH(9.99E+307,C2:C51)) (2)如果含有数字的数据集在列C中并决不会超过500
应 用 示 例 1、结合indirect函数 上节介绍过数值调节钮可以让数值依次的变化,可以联想到单元格地址中的“行”是数字,所以如果数字随着数值调节钮变动,单元格的地址也可以变动,那么可以引用的单元格的值就可以随着变动...首先看姓名所在的单元格区域是A2:A7区域,即单元格地址中数值的变动区域是从2到7,步长变化为1。以此来设置数组调节钮的控件格式,设置最小值和最大值以及步长,单元格引用区域暂时放在F2单元格。...那么在单元格中"A"&F2就可以表示单元格地址,随着数值调节钮的变动从A2至A7,然后借助indirect函数公式 =indirect("A"&F2)来引用对应单元格的值。即得到需要的文本。...示例中在E5单元格中输入vlookup公式,=VLOOKUP(E2,A2:C7,F5,0),公式中E2查找值在上个示例中已经设置可以变动,查找区域固定,第三参数返回值所在列为F5可以变动。...这样通过调节两个数值调节钮就可以实现查找不同的值。 那么以同样的原理,在E4单元格中显示返回的列的表头,即随着数值变化文本横向变动。就是通过改变vlookup函数的第三参数,改变返回值。
情形2:统计某单元格区域中有效的电话号码 在COUNTIF函数中使用运算符“”,可以在某单元格区域内统计有效电话号码的数量。...例如,当复制一组客户的地址数据,并且需要知道“北京”有多少客户时,可以这样使用COUNTIF函数:COUNTIF(“数据区域”,”*北京*”),符号*告诉excel将其中含有”北京”的任意单元格相匹配,...情形7:对文本排序 假设单元格区域A1:A10中有c、b、d、f、h、j、e、a、i、g,当输入公式:=COUNTIF(A1:A10,”c”),返回结果2。...有2个单元格的值小于“c”,换句话说,给定单元格中“c”的排序顺序是3(因为有2个单元格小于“c”)。...情形8:查找工作表中的错误数 COUNTIF函数的妙处在于,你甚至可以统计错误单元格。例如,可以像这样使用:=COUNTIF(1:33,”#VALUE!”)
end属性 value属性——单元格中的内容 count属性,获得区域中包含的单元格个数 通过address属性获取单元格地址 用activate和select方法选中单元格 copy方法复制单元格区域...worksheets.count range对象 用range属性引用单元格 引用单个固定的单元格区域:这种方法实际上就是通过单元格地址来引用单元格 引用多个不连续的单元格:将range属性的参数设置为一个用逗号分成多个单元格地址组成的字符串...引用多个区域的公共区域:将range属性设置成为一个用空格分割的多个单元格地址组成的字符串 引用两个区域围成的矩形区域 range("A1:C1") range("A1:A10,E6,E7:C12")....select range("B1:B10 A4:D6").value range("B6:B10","D2:D8") 用cell属性引用单元格 引用工作表中指定行列交叉的单元格 引用单元格区域中的某个单元格...(2).value=200 '指定工作表的第二个单元格为200' 引用整行单元格 在VBA中,rows表示工作表或某个区域中所有行组成的集合,要引用工作表汇总指定的行,可以使用行号或者索引号两种方式 activesheet.rows
文章背景:在Excel中,公式引用无效单元格时将显示 #REF! 错误。当公式所引用的单元格被删除或被粘贴覆盖时最常发生这种情况。...在编写单元格公式时,不推荐在函数中使用显式单元格的引用(如:"=A2","=A3"等)。当引用的数据源发生移动时,为了确保引用的单元格地址不变,可以配合使用indirect函数和address函数。...语法:INDIRECT(ref_text, [a1]) (2)ADDRESS 函数 可以使用 ADDRESS 函数,根据指定行号和列号获得工作表中的某个单元格的地址。...需要得到其行号的单元格或单元格区域。 如果省略 reference,则假定是对函数 ROW 所在单元格的引用。 参考资料: [1] 如何更正 #REF!...%AF-822c8e46-e610-4d02-bf29-ec4b8c5ff4be) [2] 引用数据源发生移动时,如何使引用的单元格不变(https://club.excelhome.net/thread
如何把文本型数字转换为数值型数字呢? 可以用“分列”的方法,直接把文本型数字转换为数值,然后在求和。还有一种办法是像案例中的1*(E2:E11)的形式强制转换为数值格式。 ...B2) 公式说明: (1)要对不同的表的相同区域进行求和,可以用sum进行跨表求和 (2)当跨表引用多个相邻的工作表中相同的数据区域进行汇总时,无须逐个工作表对数据区域进行引用,可以按工作表的排列顺序,...注意:sum的跨表求和,是对多张工作表上的相同单元格区域进行引用求和。所以在案例演示中,我们也可以看到,销售1-5部的销售表,其表结构是完全一致的。...在目标单元格输入公式: =sumifs(E2:E11,B2:B11,G2,C2:C11,H2) 公式说明:sumifs函数与sumif函数的参数位置是有区别的: 除了参数顺序不一致之外,sumifs...对于案例演示中的公式,如上,sumifs函数将条件区域B2:B11(月份列)中的每一个单元格都与条件值G2(月份)单元格进行比对;将条件区域C2:C11(产品列)中的每一个单元格都与条件值H2(产品)单元格进行比对
97%E7%AC%A6%E5%92%8C%E4%BC%98%E5%85%88%E9%A1%BA%E5%BA%8F-48be406d-4975-4d31-b2b8-7af9e0e2878a 运算符指定要针对公式中的元素...="North"&"wind" 引用运算符 使用这些运算符合并单元格区域进行计算。 引用运算符 含义 示例 :(冒号) 区域运算符,生成一个对两个引用之间所有单元格的引用(包括这两个引用)。...溢出区域运算符,用于引用动态数组公式 中的整个范围。 引用文本而非数字引起的 #VALUE!#####=SUM (A2#) @ (@) 引用运算符,用于指示公式中的隐式交集。...溢出区域运算符,用于引用动态数组公式 中的整个范围。 引用文本而非数字引起的 #VALUE! ##### =SUM (A2#) @ (@)引用运算符,用于指示公式中的隐式交集。 ...=(5+2)*3 在下面的示例中,将公式第一部分括起来括号将强制 Excel 先计算 B4+25,然后将结果除以单元格 D5、E5 和 F5 中值的总和。
本文给出了一种根据单元格背景色汇总单元格数据的方法:使用VBA创建一个自定义函数来实现该目的。...我们希望这个函数工作的方式是,填充了颜色的单元格来表示额外的信息,例如代表诸如“目标已实现”或“目标未达到”等内容。单元格颜色可以表示任何字面意思。 示例数据如下图1所示。 ?...图1 我们的函数名为SUMCOLOR,包含两个参数,语法为: SUMCOLOR(MatchColor, SumRange) 其中: 参数MatchColor,代表正在搜索的包含有颜色的单元格地址,示例中是单元格...参数SumRange,代表想要汇总的单元格区域(有颜色或没颜色)。示例中,单元格区域是A4:C11。(注:需要定义为绝对引用,以便每个搜索颜色的SumRange保持相同。)...这样,在单元格G4中,我们的公式应该像下面: =SUMCOLOR(F4, A4:C11) 当按下回车键后,应该看到结果为40。 如果将公式向下复制到单元格G6,其结果应该如下图2所示。 ?
领取专属 10元无门槛券
手把手带您无忧上云