双击获取单元格编号并将其放入另一个公式中

双击获取单元格编号并将其放入另一个公式中

作为我的 ICT 工作的一部分,我们需要创建一款战舰游戏,而我想到的一个方法是使用

=IF(ISNUMBER(SEARCH("*x*",C3)),"HIT","MISS")

检查该单元格是否包含 x,但显然它会是静态的,并且始终检查 C3。我需要搜索 C3:G8,但如果我这样做

=IF(ISNUMBER(SEARCH("*x*",C3:G8)),"HIT","MISS")

它将搜索所有这些单元格,并且所有单元格都必须包含 x,或者不包含 x,才能返回 HIT 或 MISS。

我在想,如果你双击一个单元格,例如 D4,它会将 D4 放入公式中,就像动态公式一样。这可能吗?

我是否以错误的方式处理这个问题?如果是的话,有什么更好的方法吗?

谢谢

答案1

您描述的“动态公式”需要 VBA。我提供了一个入门方法 - 它允许用户输入坐标并确定他们是否命中或未命中。

在此处输入图片描述

结果单元格中使用的公式是:

=IF(INDEX(C3:D5,MATCH(H3,B3:B5,0),MATCH(I3,C2:D2,0))="x","HIT","MISS")

为了使其更具可读性(因为它是家庭作业......),我倾向于使用命名范围,因此:

=IF(INDEX(grid,MATCH(H3,y_axis,0),MATCH(I3,x_axis,0))="x","HIT","MISS")

更新

这是另一种类似的简单方法,它使用条件格式来显示命中和未命中:

在此处输入图片描述

条件格式使用以下简单公式:

=AND(B3="x",H3="x")  //for a hit

=AND(B3="x",H3="")   //for a miss

剩余命中数的公式如下:

=COUNTIF(H3:L16,"x")-SUMPRODUCT((H3:L16="x")*(B3:F16="x"))    

相关内容