首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel: 通过Indirect函数和Address函数引用单元格数据

文章背景:公式引用无效单元格时将显示 #REF! 错误。当公式所引用的单元格被删除或被粘贴覆盖时最常发生这种情况。因此,不推荐在函数中使用显式单元格引用。...通过Indirect函数和Address函数,可以实现单元格的间接引用。...如果需要更改公式中对单元格的引用,而不更改公式本身,请使用函数 INDIRECT。 INDIRECT(ref_text, [a1]) Ref_text 必需。...对包含 A1 样式引用、R1C1 样式引用、定义为引用的名称或作为文本字符串对单元格的引用的单元格的引用。如果ref_text不是有效的单元格引用,则 INDIRECT 返回#REF!错误值。...一个数值,指定要在单元格引用中使用的行号。 column_num 必需。一个数值,指定要在单元格引用中使用的列号。 abs_num 可选。一个数值,指定要返回的引用类型。 A1 可选。

6.7K20

如何通过软引用和弱引用提升JVM内存使用性能!

在Java对象里,有强弱软虚四种引用,它们都和垃圾回收流程密切相关,在项目里,我们可以通过合理地使用不同类型的引用来优化代码的内存使用性能。 指向通过new得到的内存空间的引用叫强引用。...三、通过WeakHashMap来了解弱引用的使用场景 WeakHashMap和HashMap很相似,可以存储键值对类型的对象,但我们可以从它的名字上看出,其中的引用是弱引用。...根据上文和这里的描述,我们知道如果当一个对象上只有弱引用时,这个对象会在下次垃圾回收时被回收,下面我们给出一个弱引用的使用场景。...这样的话,一旦当优惠券或用户发生变更,它们的对应关系就能自动地更新,具体表现如下: 1、当某个优惠券(假设对应于coupan2对象)失效时,我们可以从coupanList里去除该对象,coupan2上就没有强引用了...2、假设某个优惠券coupan3用弱引用的方式指向于100个用户,当某个用户(假设user1)注销账号时,它会被从List类型的userList对象中被移除。

99931
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VBA实战技巧26:使用递归确定所有的引用单元格

    在Excel中,经常存在一个单元格引用另一个单元格中,而另一个单元格又引用其他单元格的情形。如何使用VBA代码编程确定指定单元格的所有引用单元格呢?...引用单元格是由公式引用并在 Excel 的计算树中识别的单元格。...例如,如果在单元格A1中有公式=B2,那么单元格B2是单元格A1的引用单元格;如果在单元格B2中也有公式=C3,那么单元格B2(第一级)和单元格C3(第二级)都是单元格A1的引用单元格。...GetAllPrecedents函数可能会返回重叠的地址,例如B2:B10和B4,因为它使用联合单元格区域地址以提高效率。当代码沿引用单元格树导航时,如果它遇到之前导航过的单元格,将忽略它。...该函数不能作为自定义函数工作,因为当调用者是Range时,Range.ShowPrecedents和Range.NavigateArrows方法被禁用。

    1.5K10

    一起学Excel专业开发13:Excel工时报表与分析系统开发(1)

    通过前面的学习,我们已经了解了Excel专业开发的一些原则、应用程序结构、以及一些常用技巧,下面我们以开发一个Excel应用程序着手,来加深对Excel专业开发的理解。...单元格批注 单元格批注帮助用户了解该单元格和相关单元格的作用,提示用户正确的操作,上图2中右上方有红色小三角形的即为含有批注的单元格,当光标移动到该单元格上时会自动显示批注信息,其中一个单元格批注如下图...$K7 可以看出,这些定义名称的行引用是相对引用,而列引用是绝对引用。 2.公式表明,如果当前行中输入的数据少于6个,则返回空字符串,即当前行中的数据未全部输入时,不允许计算总时间。...当前行中所需数据全部输入完成后,还需要对开始时间和结束时间进行比较;当结束时间大于开始时间时,表明这两个时间在同一天,直接用结束时间减去开始时间得到工作时间;如果结束时间小于开始时间,则表明工作开始于前一天...数据验证 在PETRAS中,每个输入单元格都使用了数据验证。其大多数用于数据验证列表内容都存储在隐藏的工作表wksProgramData中,如下图5所示。 ?

    1.8K40

    学习用Excel数据分析?恐怕还缺一本圣经。

    01 单元格和智能表格 Excel对单元格执行计算,单元格通过坐标引用。因此,你可以这样编写公式: = (A1 * 1.25) - B2 DAX则不同,单元格和坐标的概念在DAX中不存在。...在Excel中,你可以使用[@ColumnName]格式引用表中的列,其中ColumnName是要引用的列的名称,@符号表示“获取当前行的值”。...你可能认为Excel有两种不同的计算方式:使用标准单元格引用(在这种情况下,单元格F4中的公式应该是E4*D4),或者使用列引用(如果在智能表格中计算)。...使用列引用的优点是,可以在列的所有单元格中使用相同的表达式,而Excel为每行使用不同的值来计算公式。 与Excel不同,DAX只适用于表结构,所有表达式都必须引用表中的列。...你可能已经注意到,[@ ProductQuantity]中的@表示“当前行中的值”。 当使用DAX时,你不需要刻意指定当前行,DAX的默认行为是获取当前行中的值。

    2.4K20

    Excel用户如何学习数据分析语言DAX?

    01 单元格和智能表格 Excel对单元格执行计算,单元格通过坐标引用。因此,你可以这样编写公式: = (A1 * 1.25) - B2 DAX则不同,单元格和坐标的概念在DAX中不存在。...在Excel中,你可以使用[@ColumnName]格式引用表中的列,其中ColumnName是要引用的列的名称,@符号表示“获取当前行的值”。...你可能认为Excel有两种不同的计算方式:使用标准单元格引用(在这种情况下,单元格F4中的公式应该是E4*D4),或者使用列引用(如果在智能表格中计算)。...使用列引用的优点是,可以在列的所有单元格中使用相同的表达式,而Excel为每行使用不同的值来计算公式。 与Excel不同,DAX只适用于表结构,所有表达式都必须引用表中的列。...你可能已经注意到,[@ ProductQuantity]中的@表示“当前行中的值”。 当使用DAX时,你不需要刻意指定当前行,DAX的默认行为是获取当前行中的值。

    1.4K10

    理解PQ里的数据结构(二、行列引用)

    小勤:前面对PQ的数据结构做了一个总体的介绍,那在PQ里怎样取到一行、一列,甚至一个“单元格”里的值呢?...: 那么,要取某一“单元格”的内容呢?...比如我要取当前行的内容。 大海:PQ里有一个很特殊的字符——英文下划线(_),表示当前内容,比如要引用当前行=_: 结果就是当前行的内容: 小勤:啊!原来这样!这下划线也太神奇了吧! 大海:是啊!...这个下划线的应用十分灵活,很难通过几句话来简单解析清楚,后面我们会结合更多的实际案例去慢慢体会。 小勤:好的。那引用当前行某列里的内容呢?...大海:这个用直接用列名就行了,以前很多公式里其实都是这么直接用的,比如取当前行的单价=[单价]: 前面咱们说了下划线表示当前行,所以,取当前行的单价,也可以用=_[单价]: 其结果都是一样的: 小勤

    1.1K20

    理解PQ里的数据结构(二、行列引用)

    小勤:上次对PQ的数据结构做了一个总体的介绍,那在PQ里怎样取到一行、一列,甚至一个“单元格”里的值呢?...: 那么,要取某一“单元格”的内容呢?...比如我要取当前行的内容。 大海:PQ里有一个很特殊的字符——英文下划线(_),表示当前内容,比如要引用当前行=_: 结果就是当前行的内容: 小勤:啊!原来这样!这下划线也太神奇了吧! 大海:是啊!...这个下划线的应用十分灵活,很难通过几句话来简单解析清楚,后面我们会结合更多的实际案例去慢慢体会。 小勤:好的。那引用当前行某列里的内容呢?...大海:这个用直接用列名就行了,以前很多公式里其实都是这么直接用的,比如取当前行的单价=[单价]: 前面咱们说了下划线表示当前行,所以,取当前行的单价,也可以用=_[单价]: 其结果都是一样的: 小勤

    87740

    从Excel角度理解Power Pivot中的行上下文

    这种就代表绝对引用,我们把相对引用的公式下拉后,他会自动根据移动的情况来进行转换;而绝对引用给的公式在下拉后就不会进行变化。 2. 超级表中的列引用及列的当前行引用 ?...我们可以看到公式提示@代表的是此行,也就是列1当前行的值,正常来说这个可以理解,也就是B2单元格是1,B3是2以此类推。那C2呢?[列1]代表的是整列数据,那直接写[列1]会返回什么结果呢?...如果[列1]代表整列,那C2是个单元格,怎么返回整列的数据呢? 那我们就要看数组在Excel中的返回结果了。我们可以通过F9来查看[列1]代表什么值。 ? 实际上[列1]返回的是单列多行的数组。...我们看下最终各个单元格返回的结果。 ? 3. Power Pivot中的引用 我们知道Power Pivot是以超级表为基础,所以在某些方面还是比较类似。 ? ?...这样我们就知道为什么有些时候上下文引用是整列,有些时候是引用当前行。了解了其基本原理,对于我们以后的实际操作中也会起到非常重要的作用。

    1.1K20

    理解PQ里的数据结构(三、跨行引用)

    小勤:上次在《理解PQ里的数据结构(二)》里大概了解了行、列、“单元格”的基本引用方法,但只能引用当前行,实际上在做数据处理时经常要取其他行的内容和当前行做对比,怎么做呢?...大海:嗯,这在Excel里处理数据的时候的确是个常见的内容,比如当前行和上一行内容的比较等,经常出现。这里我们举个例子来说明一下怎么灵活地实现引用其他行来与当前行的内容进行比较。...假设我们要判断姓名列当前行是否与上一行的内容一致,这时就需要在当前行引用上一行的内容。在Excel里只要直接选择单元格就行了,但PQ里需要借助索引列来定位。...我们首先添加索引列: 有了索引列,我们就可以根据索引来获得不同位置的行了,比如我们要取上一行的姓名,添加自定义列,公式=已添加索引{[索引]-1}[姓名]: 这样,我们通过{[索引]-1}的方式取得了上一行的内容...理解了,实际就是加个索引列,然后就可以通过索引列增加或减少一定的量作为行标实现动态的引用。 大海:对的。

    77430

    个人永久性免费-Excel催化剂功能第110波-当前行占位符替换

    在过往的功能开发中,已经对查找替换功能做了一些增强,特别是引用了正则表达式的操作,但其替换的操作是批量性的替换,而非当前行的范围内替换,在大量的使用占位符替换某些内容时,多数是对当前行的替换,故重新开发一个对当前行的占位符的替换操作...无比低效的普通字符串连接法实现占位符替换 在我们需要将某几个单元格的内容串起来成为一个单元格内容时,无论使用CONCATENATE还是用&连接符,都是非常低效的,特别是在非占位符中有英文双引号时,更为如此...经过抽象提取其逻辑后,其实我们更想要的效果是只需构造一个占位符的方式,然后有方法自动将占位符替换为对应的单元格内容即可,这将比使用公式的方式,不断地需要考虑双引号冲突了&符号两边都要加上双引号等操作方便得多...当然这个对应关系是仅对当前行处理,而不是多行引用同一个内容。 后面视频里的演示效果不是最精简的,如下图,我们可以对替换的内容进行复用。...最后根据需要生成的是值还是公式,选择不同的按钮即可完成,公式的话,当然后期引用列的内容更新了,可同步更新,某些场景上更有优势。

    1.3K20

    上下文系列小讲堂(二)

    错就错在,我们把EXCEL的思维方式套在了DAX身上 在EXCEL里,对于列的计算,我们都是在首行单元格输入公式,通过下拉填充,得出全列结果。每个单元格的公式,除了运算符号不变,单元格引用都不同。...该列的每一行,只使用当前行单元格来参与运算 ? ? 而DAX是以列运算为主,整列就一个公式,怎样确保参与运算的都是当前行,而不会出现第三行销量第五行单价第八行成本算到一块儿去?...计算动作发生之前,行上下文已锁定当前行,因此整列计算才不会出错 那要如何通过度量值来建立“行上下文”?...行上下文只用来决定引用目标列的哪个值(即确定计算发生在哪一行) 5....表格的列并没有某个确定的值,列在表格每一行都有一个值,如果你想让列取得某个值,需要确定这个值所在的行,而确定行的唯一方式是使用行上下文 6. 要使用“行上下文”,要么通过计算列、要么通过迭代函数 ?

    1.3K20

    对比Excel学PBI:减去上一行,DAX公式原来是这么想出来的!|DAX实战

    大海:Excel里减去上一行的公式比较简单,只要判断一下当前行的名字是否等于上一行的,如果等于,即可以用当前行的数量减去上一行的,否则等于当前行的数量。 Why?...Excel公式之所以比较简单,是因为Excel的数据是以单元格的方式存储的,并且可以通过公式对单元格的相对引用和自动填充特性来快速实现。...但DAX里只有表的概念,需要通过上行索引或上下文的特性才能支持对数据进行行的定位和筛选,而不像Excel里可以直接通过动态引用到“上一行”(关于窗口函数的使用另文再讲)。...小勤:理解了,我先去熟悉一下SELECTCOLOUMNS、TOPN、FILTER这些基础函数的使用方法。...大海:好,后面我也继续通过类似对比Excel的方式进行更多内容的讲解,让大家可以基于自身已有的Excel知识,更好地理解Power BI的异同之处,更快地掌握Power BI的核心原理和使用方法。

    28310

    超级“表格”的妙用之2:那些你曾经看不懂的公式,原来是这么有用!

    很多时候,我们在写公式时,都需要进行跨表的数据引用,比如要通过函数引用其他表的数据参与计算,或做匹配等,经常要拿着鼠标到处找需要引用的那一列或那个区域,尤其当数据表很大、列数很多的时候,...此时,同样地,如果列很多的话,我们可以直接输列名,或者可以通过键盘的上下箭头进行列的选择,当选到我们需要的列时,按Tab键即选中该列进入公式,然后输入"]"完成列的引用。...Step04-在公式中仅引用某列的当前行 为完成"学生姓名"的提取,我们继续,到match的时候,我们的lookup_value可是要用当前行的值,怎么办?...是的,在Excel的"表格"中,对"[列名]"表示对整列的引用,"[@列名]"表示对该列当前行的引用,如下图所示: Step05-公式的自动填充 公式全部输入完毕后,回车,该公式将自动填充到该列的所有单元格中...如下图所示: 至此,通过在公式输入时得到的提示,快速地实现了跨表的引用,当你开始习惯了这种输入的方法后,你将会发现原来通过鼠标到处找数据的过程是多么的痛苦,尤其是表很多、列很多的时候!

    52320

    报表的性能优化

    可以从以下几个方面来考虑优化:1.对数据集的sql语句进行优化,利用参数控制取出数据的数量,还可以使用视图或存储过程优化数据的获取。...2.在制表的过程过程中进行函数的优化,使用select函数时,相当于从数据集中取出一组符合条件的记录集合,在单元格中进行扩展,此时每个扩展出来的单元格都保留一个指针,指向当前记录,即当前行,因此在这些单元格的附属单元格中...,应当直接用“数据集名.列名”来引用同一个数据集同一条记录的值,此时报表引擎不需要对数据集进行检索遍历了,而是直接从当前行中取值。...最后还可以通过硬件来保证,如增加服务器内存,使用集群均衡负载等措施。6.表中设计函数时,选取最优解的函数来取数据。​

    39320

    【工具】一个投行工作十年MM的Excel操作大全

    :END, HOME 在当前行中向右移动到最后一个非空白单元格。...:箭头键 当缩小显示时,在文档中每次滚动一页:PAGE UP 当缩小显示时,滚动到第一页:CTRL+上箭头键 当缩小显示时,滚动到最后一页:CTRL+下箭头键 5>Excel快捷键之用于工作表、图表和宏...:END, SHIFT+HOME 将选定区域扩展到当前行中的最后一个单元格:END, SHIFT+ENTER 14>Excel快捷键之选择含有特殊字符单元格 选中活动单元格周围的当前区域:CTRL+SHIFT...:CTRL+SHIFT+| 选定当前选定区域中公式的直接引用单元格:CTRL+[ (左方括号) 选定当前选定区域中公式直接或间接引用的所有单元格:CTRL+SHIFT+{ 左大括号 只选定直接引用当前单元格的公式所在的单元格...:CTRL+] (右方括号) 选定所有带有公式的单元格,这些公式直接或间接引用当前单元格:CTRL+SHIFT+}右大括号

    3.7K40

    Excel实战技巧82: 排序的数据有效性列表

    学习Excel技术,关注微信公众号: excelperfect 如下图1所示,是一个水果名称列表,我们想让其列表项作为数据有效性下拉列表的内容,且按顺序排列,并且当列表中添加或修改项目时,数据有效性列表会自动更新...在步骤2对应的列中,使用公式: =ROW([@水果])-ROW(水果表[[#标题],[水果]]) 生成顺序号,即当前行相对于标题行的位置。...B$1:B1,fruits)=0),0))),fruits) 下拉至单元格B7。...其中,使用了定义的名称fruits,即: 名称:fruits 引用位置:=$A$2:INDEX($A:$A,COUNTA($A:$A)) 为确保在添加水果名后,数据有效性列能自动更新,定义名称fruitsbyalpha...,即: 名称:fruitsbyalpha 引用位置:=$B$2:INDEX($B:$B,COUNTA($B:$B)) 与方法1一样,选择要设置数据有效性的单元格,设置如下图6所示。

    1.2K20

    Excel实战技巧91: 安排工作时间进度计划表(又一种形式)

    学习Excel技术,关注微信公众号: excelperfect 导言:在《Excel实战技巧90:安排工作时间进度计划表》中,以类似甘特图的形式使用公式计算每天各项任务的时间,从而形成一个时间进度计划表...图3 下面是公式中要用到的几个定义的名称: 名称:MaxHrsPerDay 引用位置:=24 名称:WorkList 引用位置:=源数据!...$A$2:$A$5 名称:WorkDuration 引用位置:=源数据!$B$2:$B$5 名称:CumulativeDuration 引用位置:=源数据!...,再使用MaxHrsPerDay减去求得的时间,即为该天还剩余的时间。...公式中的: SUMIFS(C$1:C1, B$1:B1,B2) 计算当前行所在的工作任务已经用去的时间。 公式中的: SUM(C$1:C1) 计算直到当前行的前一行为止所累积的时间。

    2K10

    常用快捷键大全

    AERO FLIP 3-D循环切换任务栏上程序 WIN+CTRL+TAB 通过AERO FLIP 3-D 使用箭头键循环切换任务栏上程序 WIN+CTRL+B 切换到在通知区域中显示消息的程序 WIN...选取由选定区域中的公式直接引用的所有单元格 Ctrl+Shift+{ 选取由选定区域中的公式直接或间接引用的所有单元格 Ctrl+] 选取包含直接引用活动单元格的公式单元格...Ctrl+Shift+} 选取包含直接或间接引用活动单元格的公式单元格 Alt+; 选取当前选定区域中的可见单元格 6.12.选区扩展快捷键 F8...将选定区域扩展到工作表的最后一个使用的单元格(右下角) End+Shift+Enter 将选定区域扩展到当前行中的最后一个单元格。...Esc 取消单元格或编辑栏中的输入 Shift+F3 在公式中,显示“插入函数”对话框 Ctrl+A 当插入点位于公式中公式名称的右侧时,显示“函数参数

    4.4K11

    visual studio运行程序的快捷键_visual studio快捷方式在哪

    AERO FLIP 3-D循环切换任务栏上程序 WIN+CTRL+TAB 通过AERO FLIP 3-D 使用箭头键循环切换任务栏上程序 WIN+CTRL+B 切换到在通知区域中显示消息的程序...+| 在选定的列中,选取与活动单元格中的值不匹配的单元格 Ctrl+[ 选取由选定区域中的公式直接引用的所有单元格 Ctrl+Shift+{ 选取由选定区域中的公式直接或间接引用的所有单元格 Ctrl...+] 选取包含直接引用活动单元格的公式单元格 Ctrl+Shift+} 选取包含直接或间接引用活动单元格的公式单元格 Alt+; 选取当前选定区域中的可见单元格 6.12.选区扩展快捷键 F8 打开或关闭扩展模式...End+Shift+Home 将选定区域扩展到工作表的最后一个使用的单元格(右下角) End+Shift+Enter 将选定区域扩展到当前行中的最后一个单元格。...Ctrl+Shift+Enter 将公式作为数组公式输入 Esc 取消单元格或编辑栏中的输入 Shift+F3 在公式中,显示“插入函数”对话框 Ctrl+A 当插入点位于公式中公式名称的右侧时

    4.8K10
    领券