2012-07-16 119 views
0

我在Excel电子表格中有40列和几百行。如果范围中只有一个单元格具有值,如何将单元格区域中的值复制到另一个单元格?

Range C6:AQ6, C7:AQ7, C8:AQ8, and so on 

CASE 1: Only one cell in the range D6:AQ6 usually contains a value. 
CASE 2: In some rare cases, more than one cell OR no cells contain a value in this range. 

这是我想要完成的任务:

If CASE 1: Populate the cell C6 with the value in the only cell in the range D6:AQ6. 
If CASE 2: Leave C6 blank 

我如何做到这一点使用Excel公式?

+0

值是文本,或数字?您可以使用COUNTA()计算非空值(除非单元格具有公式)。 – 2012-07-16 17:43:18

+0

值是文本。我可以计数,但是如何复制范围中的唯一值?使用40个嵌套IFs? – Spartanblogger 2012-07-16 17:46:07

+0

你可以连接所有的值.... – 2012-07-16 17:51:02

回答

1

输入该公式单元格C6:

=IF(COUNTA(D6:AQ6)=1,INDEX(D6:AQ6,Match("*",D6:AQ6,0)),"") 

工作原理:

  • 伯爵的范围内有多少单元格 “D6:AQ6” 不为空。
    • 如果仅有1与数据(情况1)
      • 然后使用索引来返回值
        • 指数的工作原理是返回值形成电池X向右其中X是第一列匹配单元具有的内部的任何发现它
    • 如果没有1(超过1或0,情况2)
      • 然后将细胞空白
+0

谢谢。这**应**工作,但我发现两个问题: – Spartanblogger 2012-07-16 18:12:05

+0

糟糕。在我完成之前,返回键张贴了我的评论。 – Spartanblogger 2012-07-16 18:19:17

+0

Gaaah !!好的,所以这里是我的评论: 谢谢。这有两个小小的修改: 1.“D6:AQ6”中看似空白的单元显然不是空白的(也许是因为我复制了其他地方的值?)。所以我使用了'= IF(COUNTIF(D6:AQ6,“?*”)= 1'',而不是COUNTA并且解决了这个问题 2.由于匹配(“*”,D6中的'0' :AQ6,0)'这个公式显示了该范围内的第一个单元格,因为第一个单元格 - 即使它不包含值,它也不是真的空白,所以我用''?*''而不是'' *''。 – Spartanblogger 2012-07-16 18:20:55

相关问题