【问题标题】:Excel VBA checks cells in certain order before returning a value from one of them in another cellExcel VBA 在从另一个单元格中的一个单元格返回值之前按特定顺序检查单元格
【发布时间】:2017-09-10 01:19:32
【问题描述】:

我有一行 4 个单元格,其中包含 3 个 0 和一个数字,或两个数字和 2 个 0。我需要 excel 从左到右检查单元格,如果一个单元格包含 0,则移动到下一个单元格,直到找到一个数字,然后在单元格 5 中返回该数字。任何帮助将不胜感激!

我的测试数据

enter image description here

【问题讨论】:

  • 1.请发布一些测试数据和预期输出。 2. 请说明您进行了哪些尝试并说明失败的原因,包括错误以及错误发生在哪一行。 Stack Overflow 对我来说不是代码,不是教我编码,也不是告诉我从哪里开始网站。
  • 我一直在使用 if then else 函数。但它似乎只评估第一个单元格。当它得到一个真实的结果时,它会显示单元格的值。
  • 请使用edit在原始帖子中尝试过的公式发布测试数据和预期输出。

标签: vba excel


【解决方案1】:

Column E中输入这个公式,

=IF(A1=0,IF(B1=0,IF(C1=0,IF(D1=0,"All are Zeroes",D1),C1),B1),A1)

【讨论】:

  • Gowtham Shiva 的工作就像一个魅力,你是一个绅士和一个学者!
  • @stuartbrookes 谢谢!!
【解决方案2】:

使用这个公式:

=INDEX($A1:$D1,AGGREGATE(15,6,COLUMN($A1:$D1)/($A1:$D1<>0),1))

【讨论】: