Tag: excel indirect

Excel,间接参考工作表范围

尝试使用INDIRECT来引用一系列工作表,以及这些工作表中的一系列单元格,以查找MAX。 这些都没有工作: =MAX(INDIRECT("1:"&last_sheet&"!G"&ROW()&":K"&ROW())) =MAX(INDIRECT("1:6!G"&ROW()&":K"&ROW())) 但是,这(但只看一张:1): =MAX(INDIRECT("1!G"&ROW()&":K"&ROW())) 这样做(但不使用间接): =MAX('1:6'!G6:K6) 在我看来,INDIRECT根本不能用于一系列的纸张。 请告诉我,我错了,为什么。

Excel下拉菜单基于另一个下拉菜单

我有两个商店和员工,每个员工属于一个商店。 我也使用另一个表,我可以input数据,我想要实现的是当你在第一列中选​​择一个商店,那么只有来自该商店的员工将填充第二个下拉列表。 我GOOGLEsearch,我似乎遇到的是INDIRECT函数,这意味着我必须格式化我的员工/商店表不同。 是否有另一个function(或VB)我可以使用,将看看表和交叉比较商店,并只返回员工的名字。 谢谢你的帮助,很感激。

在Excel表格中移动范围/数组参考

朋友,我希望你能帮助。 我很确定我前一阵子find了解决这个问题的办法,但是我没有把它写下来,现在我不记得我是怎么做到的。 我正在寻找什么空白(谷歌充斥着“dynamic命名范围”的答案,这不是我在这里瞄准的)。 所以,这个问题: 我如何在公式中定义一个范围(比如说RANK),这个范围是随着我进入一个表而移动的? 我试图避免使用INDIRECT,因为当在一张大桌子上重复时,它变成了一个内存/处理器。 很确定有另一种方式,也许与INDEX或MATCH? 数据的简化版本如下所示:列A有一堆参考号,每一个重复几次。 B列有一堆时间戳C列是我要在列B中排列时间戳的地方,与列A中共享相同参考号的所有其他时间戳相比较。 结果集应该是这样的: | A | B | C | | abc123 | 01/01/2014 12:30 | 1 | | abc123 | 01/02/2014 12:30 | 2 | | abc123 | 01/02/2014 13:30 | 3 | | abc123 | 01/03/2014 09:30 | 4 | | def456 | 01/01/2014 12:30 | […]

间接和Vlookup参考错误

我用下面的代码构build了以下path: 'I:\Capital Markets\Post Closing\Audit\Team Reports\Audit Time\2017\February\[feb12017.xlsm]TimeInOffice'!A:C 使用这个代码 =("'I:\Capital Markets\Post Closing\Audit\Team Reports\Audit Time\" & TEXT(Sheet2!$B$2,"yyyy") & "\" & TEXT(Sheet2!$B$2,"mmmmmmmmmmmmmmmmm") & "\" & "[" & AuditorCalcSheet!$CB4 & ".xlsm]TimeInOffice'!A:C") AuditorCalcSheet!$ CB4引用这个数据透视表来标识唯一的date并提供vlookup的文件名信息。 $ B $ 2 =插入数据中包含年份和月份的单元格A:C是我们查找的表格范围 它成功构build的代码,但是当我试图将其插入到一个vlookup函数: =VLOOKUP(A2,INDIRECT("D1"),2,FALSE) A2 =名称D1 =构造的文件path 这个公式只给出一个#N / A错误或者一个ref错误,我尝试过每一个我能想到的变化,我似乎正在给出答案。 如果间接不起作用,还有其他方法可以将另一个单元格的文本转换为公式吗?

修正插入行时的公式

我在Excel工作表中使用以下公式,它在另一个工作表(ITEMS CONTROL)的单元格范围内执行SUM: =SUMIF('ITEMS CONTROL'!$B$2:$B$20000,B$1,'ITEMS CONTROL'!$C$2:$C$20000) 我的问题是,在工作表ITEMS CONTROL中插入行时,公式更改如下: 插入18行后: =SUMIF('ITEMS CONTROL'!$B$20:$B$20018,B$1,'ITEMS CONTROL'!$C$20:$C$20018) 插入另外18行后: =SUMIF('ITEMS CONTROL'!$B$38:$B$20036,B$1,'ITEMS CONTROL'!$C$38:$C$20036) 我应该改变什么来始终保持原来的公式?

间接行excel地址

我有一个数值在C20:G30的表格。 我想通过MAX(LARGE($BG$26:$BT$69;1)) MAX(LARGE($BG$26:$BT$69;2))等提取前十个值。 我设法做的。 然后,我想检索这些前十个值的地址。 它的工作,如果我这样做 INDIRECT(ADDRESS(ROW(E25); COLUMN(E25)) 但是如果我用单元格坐标E25replace它不会 MAX(LARGE($BG$26:$BT$69;1)) 。 我怎么能直接做这一切工作? 很明显, INDIRECT(ADDRESS(ROW(MAX(LARGE($BG$26:$BT$69;1))); COLUMN(MAX(LARGE($BG$26:$BT$69;1))))似乎不正确,告诉我公式是错误的?让我知道如果我不清楚是否应该重新解释这个问题。

间接函数返回#REF

我正在尝试使用匹配/间接函数来查找excel中单独表单上一组单元格的特定值。 A3值是该函数所引用的图纸编号,再次是它所引用的图纸的“1”。 F1:F4000是从另一个表中的范围,> 7.5是因为我正在寻找在该范围以上的第一个值7.5以上。 这是我到目前为止: =MATCH(TRUE,INDIRECT($A3&"!'1'!F1:F4000">7.5,0), 任何帮助将不胜感激

如何编写Excel VBA相当于INDIRECT函数?

在我的工作簿中,我有很多使用INDIRECT函数的方法,并且导致性能问题。 我需要用能够给我相同结果的东西来代替它们。 所有的INDIRECTS在任何时候都会重新计算,导致工作簿滞后。 我想知道是否有一种方法可以在不使用INDIRECT函数的情况下在VBA中编写INDIRECT,并在代码中消除函数的波动性。 =INDIRECT("'" & $AC$9 & "'!" & AC26) 这是一个例子。 我需要删除INDIRECT,但获得相同的结果,为这个单元格。 有没有办法在VBA中做到这一点?

C#Excel依赖select与validation和间接

下面是从C#中dynamic创build依赖选项列表的一般性尝试。 当从pick1中select值“A”时,pick2应该显示来自SecondaryRangeA的值。 这个代码几乎可以工作,但不是显示SecondaryRangeA,而是显示文字值“A”。 pick2.Validation.Add(XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertStop, XlFormatConditionOperator.xlBetween, "=INDIRECT(\"A5\")"); 当我打开excel后,它出口并修改数据validation它显示公式。 =INDIRECT("A5") 如果我在Excel中手动修改公式以排除引号,它按预期工作。 =INDIRECT(A5) 当我修改代码到以下我得到一个exception。 有任何想法吗? pick2.Validation.Add(XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertStop, XlFormatConditionOperator.xlBetween, "=INDIRECT(A5)"); 例外: System.Runtime.InteropServices.COMException was unhandled ErrorCode=-2146827284 Message=Exception from HRESULT: 0x800A03EC Source="" StackTrace: at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) at Microsoft.Office.Interop.Excel.Validation.Add(XlDVType Type, Object AlertStyle, Object Operator, Object Formula1, Object Formula2) at TestExcelValidation.Program.Main(String[] args) in C:\TFS\ExcelInterop\TestExcelValidation\Program.cs:line […]

拖动公式时自动增加工作表参考

我有一个公式与以下语法: =SheetName!E10 并需要一些方法来拖动公式,并改变表名称,因为它向右移动。 所以E10部分需要保持与我拖动公式一样的纸张数量递增。 我们有很多行和列要做,这肯定会加速我们。 这可能吗? 所以结果如下所示: =Sheet1!E10 =Sheet2!E10 =Sheet3!E10 这是结果: 从应用这个公式: =INDIRECT("mo"&COLUMN()+0&"!B4")