查找所有对单元格的引用
我有以下数据
----------------------------------- . ABC 1 Data Total Left 2 D1 10 5 3 D2 20 13 4 D3 30 21 5 6 7 =A2 1 8 =A3 2 9 =A4 3 10 11 =A2 4 12 =A3 5 13 =A4 6 -----------------------------------
我正在寻找两件事情。
有没有办法find一个单元格的所有引用?
有没有办法增加单元格的字母? 即当我find参考A7(对于A2),我想要得到B7的值。
对于第一个问题:
我不认为有办法通过编写Excel公式find所有对单元格的引用。 有许多查找function,但它们不在公式中search,只search值。 因此,您可以search“D1”(上面A2中的值),并确定A7保存“D1”。 例如,= Match(“D1”,A7:A13)应该给你一个行索引值。 这样的searchscheme可能工作,如果值是足够的唯一,如主键值。
我甚至会觉得很困难,也许不可能在最常见的情况下find所有使用VBA的引用。 你必须遍历单元格(或者观察变化),并从文本中parsing它们的公式来识别引用(yuk!)。 如果你可以限制那些带有引用的公式(例如,限制只是复制公式= A1或类似公式),因为在通用公式中可能相当复杂,并且它们并不总是通过名称来标识确切的单元格被引用。 以下面的公式为例。 这是真的(从某种意义上)引用单元格A8,虽然它提到了A7。
对于第二个问题,
=Offset(A7,0,1)
将在A7旁边的单元格中获得您的价值。
和
=Offset(A7, Match("D1", A7:A11) - 1, 1)
产生与“D1”匹配的单元格旁边的单元格中的值。
有没有办法find一个单元格的所有引用?
select要检查的图纸区域,然后在“ Formulas
菜单下select“ Trace Precedents
。 这将显示在所选区域中的公式中使用哪些单元格
如果需要,可以使用VBA自动执行。
有没有办法增加单元格的字母?
如果你的意思是你想改变单元格中的公式,那就需要VBA。
如果你的意思是别的,需要更多的解释。
查找对单元格的引用
- select您想要查找参考的单元格
- 转到
Formulas
– >Trace Dependents
每次按Trace Dependents
,Excel会向您显示更深的一层(受抚养人的家属)。
请注意,您可以按照其他方式使用“ Trace Precedents
来查找所选单元格引用的单元格。 您可以使用Remove Arrows
清除所有箭头。
增加单元格字母
给定参考A7
,您可以使用=OFFSEET(...)
或=INDIRECT(...)
和ADDRESS(...)
公式find其他单元格的值。
为了引用参考文献A7
单元格B7
,
=OFFSET(A7, 0, 1)
要么
INDIRECT(ADDRESS(ROW(A2), COLUMN(A2)+1))
有一种方法,我需要用c#做这个,因为我正在创build一个插件。 反正这里是我的代码:
Application excelApp; try { excelApp = new Application(); if (excelApp == null) // Go to catch block if excelApp = null throw new Exception(); } catch { throw new Models.Exceptions.MsOfficeNotFoundException("Excel"); } excelApp.Visible = visible; // add workbook var workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); // add worksheet Worksheet workSheet = (Worksheet)workBook.Worksheets[1];
//然后让用户填写公式等。
例如,获取所有单元格引用单元格A1的范围,然后执行:
(workSheet .Cells[i + 1, 1] as Range).Dependents; //
**换句话说,寻找依赖者function**