即使我提出了我的问题的解决方案,我希望有人可以帮我找一个新的事实并非如此“笨重”一些好的解决方案
这里是我的情况:
- A列中的细胞或者包含一个值(时间戳)或者是空白
- 每个时间戳之间的空白的细胞数而变化
- B列的单元总是包含一个值(字符串)
以下是我需要:
-
在C列
- ,在A列中
时间戳之间结合的弦列B因为我知道,在列空白的最大数量在两个时间戳之间是5,我创建了这个功能..(我删除了“”之间的空格,并在每个IF前面插入了一个换行符,以便显示原因)
=IF(AND(ISNUMBER(A1),A2="",A3="",A4="",A5=""),B1&""&B2&""&B3&""&B4&""&B5,
IF(AND(ISNUMBER(A1),A2="",A3="",A4=""),B1&""&B2&""&B3&""&B4,
IF(AND(ISNUMBER(A1),A2="",A3=""),B1&""&B2&""&B3,
IF(AND(ISNUMBER(A1),A2=""),B1&""&B2,
IF(ISNUMBER(A1),B1,"")))))
如果空白的最大数量为10,那么公式将会变得非常长...因此,任何想法如何以更优雅的方式来到相同的解决方案,都将受到赞赏! 谢谢, Ivana
如果你有Excel 2016,你可以使用'CONCAT'功能。你可以使用VBA。您可以使用以C2开头的公式,并将B2与上面的行连接起来。 –
在VBA中执行起来更容易。 Ron的方法可以工作,但它会在列C的单元格中留下与列A中的空白相同行中的字符串构建块。您还需要添加一个IF语句来检查是否是时间戳记在列中,并从头开始重新连接。例如:if(A2 <>“”then B1,B1&“”&C2) –
@RonRosenfeld - 要明确[TEXTJOIN](https://support.office.com/en-us/article/ TEXTJOIN-function-357b449a-ec91-49d0-80c3-0e8fc845691c)和[CONCAT](https://support.office.com/en-us/article/CONCAT-function-9b1a9a3f-94ff-41af-9736-694cbd6b4ca2)是仅适用于[Excel 2016](https://support.office.com/zh-cn/article/What-s-new-in-Excel-2016-for-Windows-5fdb9208-ff33-45b6-9e08-1f5cdb3a6c73)与Office 365订阅(或Excel Online)。 – Jeeped