如何让不同类别的单位自动改变?

如何让不同类别的单位自动改变?

我的 Excel 表中有三列,即类别数量价格。假设我有两个类别可从下拉菜单中选择:蔬菜静止的我想要的是数量列将根据自动更改单位类别选定。例如,如果用户选择蔬菜数量列自动添加“公斤”为用户输入的任何数值。如果类别是静止的,“件”是自动装置等等。如何实现呢?

另外假设数量输入是“2 公斤”,这样当我将光标悬停在价格列中,会弹出一个小框显示每单价,而用户输入的总价则显示在价格柱子?

答案1

第一个问题可以通过Max条件格式来解决。Excel 不允许将公式和输入的值放入同一个单元格中,因此您无法将 CF 中使用的逻辑测试放入单元格中的公式中来实现这一点。CF 是 Excel 的一种方式,可让您针对给定单元格同时执行这两件事。

还有其他方法,添加一个宏来通知已输入单元格值并立即获取该值,应用逻辑,然后使用添加的适当单位度量将其写回。或者甚至将该单元格的常规格式更改为自定义数字格式,只保留该值,但将单位度量的缩写添加到显示的值上。模拟 CF 所做的工作。

另一种方法是向电子表格中添加一个 Power Query 查询,每次运行它时,它都会采用仅是数字值的单元格值,并使用您的逻辑添加单位度量缩写,然后(如果有人聪明地了解数据范围的构建方式)将结果放回单元格中。

所有这些都比使用 CF 要困难得多,CF 可能就是个怪物。最后一个需要用户干预才能启动,或者像第一个一样使用 VBA 宏(在这种情况下,为什么要增加 Power Query 的复杂性呢?)。

替代方法(例如在带有单位度量的值旁边添加一列)也行得通,但我敢打赌,您对所需内容的描述也排除了这一点。因此,条件格式才是最佳选择。

至于第二个,Excel 根本做不到这一点。您可以为单元格添加注释,然后可能会弹出一些内容,但您无法通过公式等来编程注释的内容,只能使用 VBA,但那又何必呢?只需使用 VBA 直接生成您的需求,而不必通过第二步(就像我上面所说的 Power Query 解决方案一样)。

而且所有 VBA 的自动运行解决方案都需要单击或更改某个值,这种明确的小动作可以自动启动它们。我不知道有什么OnHover命令。虽然我对 VBA 的了解并不全面,但也许它们确实存在。

我想到的一个想法是 DropDowns。在某处创建一个匹配的列,甚至是另一张表,只是在某处,然后使用该列作为 DropDowns 的来源,并创建一个动态单元格地址,该地址来自您想要单位定价的每个单元格,而不是一次尝试整个列。CELL("address")没有为单元格指定任何内容(所以不是CELL("address,A1))或任何类似的东西都可以用于时髦的链接,但您仍然必须单击要查看它的单元格,而不是悬停。

这个想法是,单元格显示您希望它具有的正式计算,而其对应的下拉列表源单元格将包含每单位数量的价格计算。单击并激活下拉列表时,显示的唯一“选项”将是该单元格的结果,换句话说,是所选单元格的单价。

因此,您会在单元格中看到选框结果,并在唯一的下拉选项中看到其单价。虽然很笨重,但它会在用户需要时将信息显示在用户面前,而在不需要时则不显示。

答案2

您可以使用条件格式来实现这一点。条件格式允许您根据公式将格式应用于单元格,您可以对单元格进行的格式更改之一就是数字格式。

选择数量列中的单元格,然后选择条件格式->管理规则,然后选择对话框中的底部选项:“使用公式确定要格式化的单元格”。

创建新规则,公式将类似于=A1="Veggies"并将格式设置为自定义数字格式0" kg",然后单击“确定”。如果您不熟悉格式对话框,请选择风俗然后在显示“的文件中输入我给出的格式代码”类型“它会向您显示一个示例,以确保您获得您想要的内容。

创建另一条新规则,但此规则=a1="Stationary"除外0" pcs"

笔记:

  1. 随着类别数量的增加,您可能会希望自己没有走这条路,哈哈;
  2. 添加行时,如果从现有行向下填充,则条件格式应遵循,因为条件格式只是一种格式。如果没有,您可以使用格式刷。

相关内容