通过单击单元格进行搜索

通过单击单元格进行搜索

是否有一个函数或某种方法可以让 Excel 通过单击单元格返回结果?

例如,如果我有一份杂货清单,列在 B2:B10 下,它们所在的岛在 C2:C10 下,我可以使用 vlookup 查找岛,这样就能找到特定的商品了,对吗?好吧,我想知道,使用与上面相同的示例,我可以在 B2:B10 列中输入杂货,并且每次单击单元格时都会返回岛号?所以,如果我单击单元格 B3,并且 B3 包含胡萝卜,单元格(我们称之为 D2)D2 将返回一个数字,该数字就是胡萝卜所在的岛号。这有意义吗?可能吗?谢谢大家爱你们

答案1

您所描述的功能可以通过桌面版 Excel(Windows 或 Mac)中的 VBA 编程实现。您需要使用工作表事件,它可以在单元格选择发生变化或双击单元格时触发代码。然后,代码可以执行查找并将结果提供给工作表单元格或对话框。

这种东西在移动版 Excel 中不起作用,所以,您在超市逛街时无法使用它。

答案2

给出的例子实际上毫无意义,因为所要求的结果就出现在您选择的单元格旁边。

但是……有人认为你只是为了简单起见或为了保护私人/商业用途而改变环境。或者也许想找到一种将该价值传递给其他事物的方法(我猜这属于“简单”类别)。

您所要求的,确切地说,是teylynExcel 及其公式或功能无法实现的。使用 VBA 应用于 Excel 或您可以在 Excel 中编写宏的其他几种编程语言是可能的。

但是...如果您能接受的话,您几乎可以得到您想要的东西。

CELL函数有两个参数,但只有第一个是必需的。第一个是带引号的文本标签,告诉它您要查找的信息。第二个是您想要获取信息的单元格。(您可以给它一个范围,但它只会给出该范围内“第一个”单元格的结果。)

如果您使用该函数但不指定单元格,Excel 将使用当前选定的单元格。因此单击单元格 B6 将看到它返回单元格 B6 的信息。问题是它不会自动更新。因此,您在单元格 D2 中看到一个值,可能是 4,然后单击另一个食物项目,希望看到它发生变化。没有变化。

按下F9重新计算电子表格将强制更改。您可以使用基于此的公式。这个想法是您必须单击一个食物,然后按F9... 不完全符合要求,但可能足够接近。

我尝试了常用的方法来强制它自动更改:启用“迭代计算”(允许循环引用)并向其添加一个简单的基于函数的数学运算(如0*NOW())。 两者都没有帮助。 因此,一般重新计算(按F9)或编辑单元格并按 Enter(如按F2,然后Enter...不进行任何实际编辑)强制 Excel 重新计算涉及单元格的所有内容。 使用现代 Excel 的重新计算方法,它们会做同样的事情,因此第一个,一次按键更好。

一个可以解决问题的公式如下。不过,你也许可以用大概三十多种方法编写一个,这取决于你必须使用的版本/产品,以及你喜欢的功能,更不用说你的确切设置和预期用途了。

=INDEX(B2:C7,  TEXTAFTER(CELL("address"),"$",2),  2)

新功能TEXTAFTER让删除单元格地址的行部分变得容易。就在不久前,也就是几年前,您还需要将其文本结果包装进去VALUE或使用其他强制技术将其更改为数字。但 Excel 在这方面已经做得非常好了。当结果显然是数字时,它会忽略返回文本的想法。所以不需要,VALUE但早期版本可能需要它。在那之后,它就成了一个标准的INDEX/MATCH

相关内容