Excel自动更新dynamic数据validation列表?

我有一个简单的关于音符的电子表格,可以执行以下操作:

首先,用户从下拉菜单中select是否显示锐利或平面。 这会触发电子表格中的其他单元格以锐利或平面显示半音音阶。 见下文。

在这里输入图像说明

在这里输入图像说明

这工作正常。 然后另一个单元格使用数据validation的下拉菜单中可以select这些笔记之一。 见下文。

在这里输入图像说明

在这里输入图像说明

这工作正常, 单元格D2不会自动更新到数据validation列表中的相应单元格,如果单元格B2更改。 换句话说,如果单元格B2被改变,单元格D2可能包含没有出现在注释列表中的文本。 看下面的这个可视化。

在这里输入图像说明

在上面的图片中,单元格B2被更改为正确更新音符列表的“锐利”。 然而,由于单元格D2已经select了一个单音符号(在这种情况下是Db),所以单元格D2不会自动更新到其相应的尖音符(在这种情况下为C#)。

所有这一切说,我的问题是:是否有可能让单元格D2自动更新到其数据validation列表中的相应的值,如果数据validation列表更改? (最好不使用VBA)

为了防止在D2中存在条目时更改B2,可以通过更改DV公式来返回错误,或者更简单地,当D2非空白时为FALSE 。 您应该添加一个说明性消息,以便用户不认为系统已经冻结。

例如:

Source下的公式中,

 F1: Sharps G1: Flats 

您可能需要清除D2才能input公式。

D2不清楚时,您可以selectB2 ,但是您将无法更改它。

在这里输入图像说明

这只是显示了一个可能的消息,当单元格被选中时显示。

在这里输入图像说明

如果您希望在从锐利转换到平面(或反之亦然)时要求B2中的条目更改为相应的注释,则需要使用VBA。