我希望通过复制/粘贴 Excel 公式让自己的工作更轻松。这对我来说通常不是问题,但在这个特定的工作表上,我粘贴的内容之间有几个单元格。
Excel 正在做什么:
从 A1 中取出公式
=IF(SolData!B40 = "[VACANT]", "MTOE SLOT NOT ASSIGNED", SolData!B40)
并将其粘贴到 A10 中
=IF(SolData!B50 = "[VACANT]", "MTOE SLOT NOT ASSIGNED", SolData!B50)
我想做的事:
从 A1 中取出公式
=IF(SolData!B40 = "[VACANT]", "MTOE SLOT NOT ASSIGNED", SolData!B40)
并将其粘贴到 A10 中,这样我就
=IF(SolData!B41 = "[VACANT]", "MTOE SLOT NOT ASSIGNED", SolData!B41)
有什么见解吗?我不是 Excel 菜鸟,但也不是专家。
视觉上是这样的:SolWorkbook屏幕截图
答案1
您可以为公式实现一些逻辑,例如(假设引用单元格之间的行数是统一的)...
=IF(INDIRECT("SolData!B", ROUNDDOWN(ROW()/10))) = "[VACANT]", "MTOE SLOT NOT ASSIGNED", INDIRECT("SolData!B", ROUNDDOWN(ROW()/10))
我此刻不在电脑旁进行检查,但是如果行均匀偏移,那么类似这样的操作应该可以起作用。
答案2
您的描述不准确,因为当您从 A1 复制到 A10 时,偏移量将为 9,因此引用中的地址将从 B40 更改为 B49,而不是更改为 B50。
所以我假设您从 A1 复制到 A11,因此偏移量为 10。
为了在这种情况下获得 1 的移位,您需要计算这些移位并使用 INDIRECT 函数,例如,如下所示:(
为了缩短符号,我标记了文本“X”和“Y”)
=IF(INDIRECT("SolData!B"&40+INT((ROW()-1)/10)) = "X", "Y", INDIRECT("SolData!B"&40+INT((ROW()-1)/10)))
在此公式中,列B
是固定的,起始行号也是40。