Excel 设置间接单元格值

Excel setting an indirect cell value

我有三列,A、B、C。在 C 列中,我有一个变量值 1、2、3 等,在第 2 列中,我想要一个等式,以便根据 A 的值设置 A C.

例如:if(c=1,cell(A)="illegal", if(c=2,cell(A)="legal",""))

这可能吗,我该怎么做?

注意:这是我想要完成的一个简单示例,A-Z 列将填充来自第三方的文本数据,C 列(实际上是 AC)是从另一个电子表格中引用的。基本填空

我知道我可以用一个宏来做到这一点,但如果我可以摆脱它,我不想这样做。

根据您的任务描述,您可以在Cell A1

中输入工作表公式
=IF(C1=2,"legal",IF(C1=1,"illegal",""))

然后将其扩展到column A中的整个范围。此列中的文本将对应于 Column C 中的值 1 或 2(根据您的描述)。对于 Column C 中的任何其他值,它将显示空白 ("")。

虽然你的任务描述不够清楚,但如果"indirect cell reference"你的意思是从另一个工作表中的单元格中获取文本(而不是硬编码)那么你可以按照下面显示的示例:

=IF(C1=2,Sheet2!C1,IF(C1=1,Sheet2!C2,""))

实际文本存储在 Sheet2 的单元格 C1 和 C2 中。此外,您可以应用绝对引用(即单元格 column/row 以 $ 符号为前缀,如下所示),具体取决于您的业务逻辑:

=IF(C1=2,Sheet2!$C,IF(C1=1,Sheet2!$C,""))

还有其他一些 Excel 工作表函数,可能对您的情况有用:INDEX(Range, RowNum, ColumnNum)INDIRECT(refText,boolVal);在后者中 refText 包含对 A1 样式(如果 boolVal=TRUE 或只是省略)或 R1C1 样式(如果 boolVal=FALSE)的单元格的引用。

希望这会有所帮助。此致,