标签: excel-indirect

使用INDIRECT的动态图表范围:该功能无效(尽管范围突出显示)

我正在尝试创建一个使用该INDIRECT函数动态构建的范围的图表.Excel确实识别我正在创建的范围,INDIRECT因为它突出显示工作表上的相应范围:

在此输入图像描述

但是在保存图表时,我收到一条错误消息,指出该函数无效:

在此输入图像描述

有人知道问题是什么/如何创建从特定开始到特定终点的动态图表范围?

PS:你可以在这里下载上面的电子表格.我使用的公式:
=INDIRECT("sheet!"&E2&":"&E3)

excel dynamic range excel-formula excel-indirect

28
推荐指数
2
解决办法
9万
查看次数

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

我有一个使用以下语法的公式:

=SheetName!E10  
Run Code Online (Sandbox Code Playgroud)

并且需要一些方法来拖动公式并在向右移动时更改工作表名称.因此,E10当拖动公式时,零件需要保持相同的纸张编号递增.我们有很多行和列要做,这肯定会加快我们的速度.

这可能吗?

所以结果看起来像这样:

=Sheet1!E10    =Sheet2!E10    =Sheet3!E10
Run Code Online (Sandbox Code Playgroud)

这是结果:

SO26599056问题的例子

从应用这个公式:

=INDIRECT("mo"&COLUMN()+0&"!B4")  
Run Code Online (Sandbox Code Playgroud)

excel worksheet-function excel-formula excel-indirect

7
推荐指数
1
解决办法
2万
查看次数

具有验证和间接的C#Excel依赖选项列表

以下是从C#动态创建依赖选项列表的一般尝试.当从pick1中选择值'A'时,pick2应该显示来自SecondaryRangeA的值.

此代码几乎可以工作,但它不显示SecondaryRangeA,而是显示文字值"A".

pick2.Validation.Add(XlDVType.xlValidateList, 
                     XlDVAlertStyle.xlValidAlertStop, 
                     XlFormatConditionOperator.xlBetween, 
                     "=INDIRECT(\"A5\")");
Run Code Online (Sandbox Code Playgroud)

当我在导出和修改数据验证后打开excel时,它会显示公式.

=INDIRECT("A5")
Run Code Online (Sandbox Code Playgroud)

如果我在Excel中手动修改公式以排除引号,它按预期工作.

=INDIRECT(A5)
Run Code Online (Sandbox Code Playgroud)

当我将代码修改为以下内容时,我得到一个例外.有任何想法吗?

pick2.Validation.Add(XlDVType.xlValidateList, 
                     XlDVAlertStyle.xlValidAlertStop, 
                     XlFormatConditionOperator.xlBetween, 
                     "=INDIRECT(A5)");
Run Code Online (Sandbox Code Playgroud)

例外:

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 44
   at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 
Run Code Online (Sandbox Code Playgroud)

完整示例:

using System.Collections.Generic;
using System.IO;
using System.Linq;
using Microsoft.Office.Interop.Excel; …
Run Code Online (Sandbox Code Playgroud)

.net c# excel excel-indirect

5
推荐指数
1
解决办法
987
查看次数

通过引用列表中的工作表名称从其他工作表返回单元格值

我有一个电子表格,大约有20种不同的纸张,由股票代码命名.因为这些是模板,所以每个工作表中的信息都在相同的单元格中找到.例如,无论工作表如何,当前年份的EPS始终位于单元格A55中.

我想构建一个摘要表,它将根据代码从模板中提取数据.因此,设想一个摘要表,其中包含A列中的代码(也是工作表名称)和B列中的公式,以引用列表中每个不同工作表中的相同位置.

我知道我可以构建一行,然后简单地将其复制并为每个工作表名称/自动收报机执行查找/替换,但似乎我应该能够自动化公式,以便这些知道查看A列,然后转到具有该名称的工作表,然后返回公式中引用的数据.这会使随着时间的推移更容易添加床单/代码.我试过= INDIRECT没有成功.

如何让公式引用摘要表中的A列,以便知道在哪个模板/表中查找信息?

excel formula worksheet-function excel-formula excel-indirect

5
推荐指数
1
解决办法
5万
查看次数

间接的替代方案

我正在使用 INDIRECT 函数从另一个表中获取数据。直接的方式是“sheetname!A5”。我动态需要它,因此工作表名称也是表的一部分,使用间接“indirect("'"&G$1&"'!A5"),而 G1 包含工作表名称工作正常。

间接速度非常慢,这优于我的项目,因为我需要大量的获取。

是否有一个不太强大/性能更高的函数来从变量表中获取数据?

excel performance excel-indirect

5
推荐指数
1
解决办法
1万
查看次数

如何编写与 INDIRECT 函数等效的 Excel VBA 代码?

我在工作簿中多次使用 INDIRECT 函数,它导致了性能问题。我需要用能给我相同结果的东西替换它们。每当发生任何更改时,所有间接都会重新计算,从而导致工作簿滞后。

我想知道是否有一种方法可以在 VBA 中编写 INDIRECT 而无需实际使用 INDIRECT 函数,并消除代码中函数的波动性。

 =INDIRECT("'" & $AC$9 & "'!" & AC26)
Run Code Online (Sandbox Code Playgroud)

这是一个例子。我需要删除 INDIRECT 但对此单元格得到相同的结果。有没有办法在VBA中实现这一点?

excel vba excel-indirect

4
推荐指数
1
解决办法
2万
查看次数

间接使用不同单元格中的列引用和行引用

所以我有两个单元格,都指的是另一个单元格.一个单元格具有另一个单元格的行,另一个单元格具有该列.

我尝试使用间接声明:=INDIRECT("'VENDOR COSTING'!R"&R2&"C"&S2)虽然我确实做了一个ConvertToLetter,所以列字母是F,它目前在Cell中U2.Vendor costing是另一个工作表名称,行号在单元格中R2.

如何编写间接语句以在另一个工作表中生成该单元格中的值?

excel worksheet-function excel-formula excel-indirect

2
推荐指数
1
解决办法
2万
查看次数

为什么这个使用间接功能的vlookup公式不起作用?

我正在使用VLOOKUP但不是硬编码对文件位置的引用我想使用该INDIRECT函数来引用文件的位置.但是,我的尝试不起作用.这有什么问题?

=VLOOKUP(A2, INDIRECT(A1)$A$2:$B$1000,2,FALSE)
Run Code Online (Sandbox Code Playgroud)

单元格A1包含:

C:\Documents and Settings\User\Desktop\[ABC.xlsm]Sheet1
Run Code Online (Sandbox Code Playgroud)

我收到错误:您键入的公式包含错误.

我错过了什么吗?

excel excel-formula vlookup excel-indirect

0
推荐指数
1
解决办法
2万
查看次数

使用间接时不是有效的单元格/范围引用

我有 2 张纸,我想将一个单元格的值显示到另一张纸上。我想在另一个工作表中显示的单元格是C26,它具有值€719.39,该工作表的名称是January. 在另一张纸的一个单元格中,我写

=INDIRECT('January'!C26)
Run Code Online (Sandbox Code Playgroud)

我有一个错误

Error Function INDIRECT parameter 1 value is '€719.39'. It is not a valid cell/range reference. 
Run Code Online (Sandbox Code Playgroud)

为什么我收到这个错误?

excel excel-indirect

0
推荐指数
1
解决办法
7742
查看次数