将重复的Excel公式单元格引用压缩为一个单元格引用

将重复的Excel公式单元格引用压缩为一个单元格引用,excel,excel-formula,Excel,Excel Formula,是否有方法将Excel公式引用压缩为一个引用,同时将公式保留在一个单元格中 作为参考,我使用的公式是 =VALUE(SUBSTITUTE(RIGHT(G4,LEN(G4)- MIN(FIND({0,1,2,3,4,5,6,7,8,9},G4&"0123456789"))+1),"-",".")) 它多次引用G4,我想以某种方式使它成为这样,如果需要更改,我或其他用户只需在一个地方更改G4 也许像这样的东西不是真正的excel公式: =MULTIPLEX(VALUE(SUBSTITUT

是否有方法将Excel公式引用压缩为一个引用,同时将公式保留在一个单元格中

作为参考,我使用的公式是

=VALUE(SUBSTITUTE(RIGHT(G4,LEN(G4)-
 MIN(FIND({0,1,2,3,4,5,6,7,8,9},G4&"0123456789"))+1),"-","."))
它多次引用G4,我想以某种方式使它成为这样,如果需要更改,我或其他用户只需在一个地方更改G4

也许像这样的东西不是真正的excel公式:

=MULTIPLEX(VALUE(SUBSTITUTE(RIGHT(#1,LEN(#1)-
 MIN(FIND({0,1,2,3,4,5,6,7,8,9},#1&"0123456789"))+1),"-",".")),#1,G4)
因此,1不需要更改,而G4在更新整个公式后也需要更改

我试图避免VBA,使其成为一个用户友好的公式,我不会是唯一使用它的人

旁注:我的理论多重公式的实现将允许进行多次引用。语法类似于多路复用[formula]、[ref1]、[cell1]、[ref2]、[cell2]、


侧注:该公式用于从项目标识符中提取编号,以进行排序。ABC1234-1变为1234.1,因此我们可以按数字升序进行排序。

假设数字部分最多为9个字符,包括-那么您可以使用此公式进行提取,它只引用G4一次


=LOOKUP10^10,SUBSTITUTERIGHTG4,{1,2,3,4,5,6,7,8,9},.+0

虽然这解决了我的问题,我肯定会切换到这个公式,但我不会说它回答了同样的问题,如果同样的东西对更大的公式有用的话。我想解决方案可能会涉及VBA,这也不理想,但我认为一切都有局限性。谢谢你的帮助!