function - Excel IF 语句中的范围

标签 function vba loops excel

我正在为我的雇主制作自定义 Excel 电子表格。

我想出了一个非常讨厌的函数,它可以完成我想要的功能,但我很想简化它。

我熟悉 CC#Java。如果可能的话,我想避免使用 VBA,但如果这是我唯一的选择,我可能会考虑使用它。

我正在为一家制造工厂制定计划表,该工厂处理订单并从库存中扣除 Material 等。我为该工厂生产的所有产品设置了一个页面。每种产品使用不同的 Material 。我目前有一个令人讨厌的 if 语句,它检查两个表之间的匹配字符串,然后在找到匹配项时用相关信息填充其他一些单元格。

我目前有一个包含 20 个条件的 if 语句!我绝不会在真正的程序中做这样的事情!

无论如何,我基本上可以循环遍历一系列单元格,直到找到匹配项,然后从那里开始?这是我正在尝试做的一个示例:

选项卡:MoldInformation - 包含工厂生产的产品的所有必要信息。 选项卡:订单 - 包含客户已下的所有订单。

在“订单”选项卡中,第一个单元格的标题为“模具”,用户可以在其中输入一个字符串,然后在“订单”选项卡中,会显示与生产订单所需的 Material 数量有关的信息。如果输入某个模具,则与该模具对应的 Material 将填充订单表中各自的选项卡。

我的所有计算都很好,但我的 if 语句如下所示:

=IF(A3=MoldInformation!$A$3,E3/MoldInformation!$F$3,IF(A3=MoldInformation!A$4,E3/MoldInformation!$F$4,IF(A3=MoldInformation!A$5,E3/MoldInformation!$F$5,IF(A3=MoldInformation!A$6,E3/MoldInformation!$F$6,IF(A3=MoldInformation!A$7,E3/MoldInformation!$F$7,IF(A3=MoldInformation!A$8,E3/MoldInformation!$F$8,IF(A3=MoldInformation!A$9,E3/MoldInformation!F$9,IF(A3=MoldInformation!A$10,E3/MoldInformation!F$10, IF(A3=MoldInformation!A$11,E3/MoldInformation!F$11, IF(A3=MoldInformation!A$12,E3/MoldInformation!F$12, IF(A3=MoldInformation!A$13,E3/MoldInformation!F$13, IF(A3=MoldInformation!A$14,E3/MoldInformation!F$14, IF(A3=MoldInformation!A$15,E3/MoldInformation!F$15, IF(A3=MoldInformation!A$16,E3/MoldInformation!F$16, IF(A3=MoldInformation!A$17,E3/MoldInformation!F$17, IF(A3=MoldInformation!A$18,E3/MoldInformation!F$18, IF(A3=MoldInformation!A$19,E3/MoldInformation!F$19, IF(A3=MoldInformation!H$3,E3/MoldInformation!M$3, IF(A3=MoldInformation!H$4,E3/MoldInformation!M$4, IF(A3=MoldInformation!H$5,E3/MoldInformation!M$5, IF(A3="","")))))))))))))))))))))

这太可怕了!无论如何,我基本上可以让它“循环”每个单元格,直到找到匹配项吗?由于它只查找一个位置,然后从它找到匹配项的任何行中提取信息,因此我相信这应该是可能的。

谁能帮我解决这个问题吗?

感谢您提供的任何帮助。如前所述,如果我可以避免使用 VBA,那就太好了,但如果你们中有人知道我如何在函数中完成类似的事情,我将不胜感激。

提前致谢!

真诚的,

加里

最佳答案

That is hideous!

丑陋是轻描淡写的:p

你的公式可以简单地写成

=IF(ISERROR(E3/VLOOKUP(A3,模具信息!A:F,6,0)),"",E3/VLOOKUP(A3,模具信息!A:F,6,0))

它的作用是,它将在 MoldInformation 中查找 F 列的值,其中 A 中的值(来自 MoldInformation)与 A3

屏幕截图

enter image description here

关于function - Excel IF 语句中的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20664629/

相关文章:

excel - 从用户选择中获取多个范围 (Excel VBA)

javascript - 从 JavaScript 中的数组中删除索引未知的项的更好方法

c++ - 从文件中搜索字符串的函数

c++ - 如何将矩阵参数发送到 C++ 中的 main 函数

python - 如何使用函数本身返回的值重复函数?

excel - 确定合并区域的大小

vba - 使用 Excel VBA 循环浏览文件夹中的 .csv 文件并将文件名复制到最后一列的单元格中

赢得猜词游戏时无法终止 for 循环

javascript - 通过 For 循环选择和添加函数到 Div

javascript - jQuery $.post() 请求除非运行两次否则不起作用