Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 选择特定的配方_Excel_Excel Formula_Vba - Fatal编程技术网

Excel 选择特定的配方

Excel 选择特定的配方,excel,excel-formula,vba,Excel,Excel Formula,Vba,我想知道是否有人知道如何让一个单元格实现一个基于另一个单元格内容的特定公式 例如,如果一个单元格包含“常规”,则会对该单元格应用“通用求和公式”;如果该单元格包含“条件”,则会应用“计数公式”。我不能通过一系列链式if语句来实现这一点,因为大约有500个公式会不断添加和修改,而公式输入区域不足以容纳所有公式。我已经使用UDF和evaluate找到了答案 Public Function ev(r As String) As Variant Application.Volatile (Tru

我想知道是否有人知道如何让一个单元格实现一个基于另一个单元格内容的特定公式


例如,如果一个单元格包含“常规”,则会对该单元格应用“通用求和公式”;如果该单元格包含“条件”,则会应用“计数公式”。我不能通过一系列链式if语句来实现这一点,因为大约有500个公式会不断添加和修改,而公式输入区域不足以容纳所有公式。

我已经使用UDF和evaluate找到了答案

Public Function ev(r As String) As Variant
    Application.Volatile (True)
    ev = Evaluate(Replace(r, "@", Application.Caller.Row))
End Function

在ev调用中放置一个Vlookup,并使用@替换所有行引用的公式。不确定这是否是最好的方法,但它确实起到了作用。

怎么样?创建一个键值对表,其中键是条件,即常规,对应的值是要应用的公式。你可能需要做一些单元格练习来获得正确的引用。我会创建一个子单元来开始处理这些单元格,根据你的500个公式所基于的复杂程度,可以使用不同的技术-但你没有向我们展示足够的信息。要应用的公式并不复杂,两个独立单元的基本操作和计算。它们当前在一个表中,我可以使用VLOOKUP,但所做的只是用公式填充单元格,而不是执行它。