EXCEL:如果行中的列为 "nth",则为单元格着色

EXCEL: Color cell if column is "nth" in the row

这是一个例子excel table

Row#   A   B   C   D   E   F   G
  1    Q# Ans   Student Answers
  2    1   4   0   3   1   4   2
  3    2   2   1   7   9   2   0
  4    3   3   5   1   1   3   8

A 列存储问题编号,B 列是正确扫描答案的索引(A-E 为 1-5)。

C-G 列是学生答案的总和以及他们中有多少人回答了每个选项,例如:

Question 2, the correct answer was B (because column B is stored as 2). C-G say that 1 student answered A, 7 answered B, 9 answered C, 2 answered D and none selected E on the scantron.

每次考试时,B 列中的值都会发生变化。我想要一种有条件地格式化 C-G 列的方法,以便只有第 n 列是彩色的(由 A 的数量决定)。所以对于问题 2,它会将单元格着色为 D3 绿色或其他颜色。

我试图用条件格式来解决这个问题,但我不能说这些值是否与 B 列匹配,因为 B 是指示哪一列是正确的,而不是每列中要匹配的值。

我很乐意table 实现 VBA 代码,所以它也能正常工作,我只是对它不够熟悉,不知道如何构建正确的代码以插入我的电子表格.

将答案编号放在第 1 行数据的顶部:

那么你可以使用下面的公式:

=MATCH($B2,:,0)=COLUMN(C2)

并将其应用于答案统计区域,在本例中为 $C:$G


或者,如果您的答案统计信息始终位于 Ans 列之后,您可以使用此公式获得相同的结果:

=COLUMN($B2)+$B2=COLUMN(C2)

不需要标题行。