从列A:数字和列B:项目创build的Excel下拉列表,然后减less选项

我想列出所有的水果在我的篮子里,然后给我的朋友水果,这样做下拉列表中的选项自动减less。

A列:水果数量B列:水果C列:名称D列:下拉列表

例如,我有1个菠萝,0个苹果和2个桔子。 当我给第一个朋友结果时,从下拉列表中select“ananas”; “橙子”; “橙子”。

如果我给我的朋友一个菠萝,那么下拉列表变成“橙色”,其他人变成“橙色”,等等。

是否有可能用Excel做到这一点? 如果是这样,是否有可能没有VBA,数据validation和正则expression式?

谢谢。

这是可能的,但涉及几个步骤。

我假设果实数量在A1:A5 ,果实名称B1:B5 ,朋友名称C1:C5 ,篮子列表下拉select在D1:D5 。 我将使用F1:F5作为列表计算,而G1:G15将保存下拉列表的篮子列表。

  1. 根据金额和购物篮的使用情况计算每个水果应该在篮子列表中开始的行数:
    • F1 =A1-COUNTIF($D$1:$D$5,B1)
    • F2 =A2+F1-COUNTIF($D$1:$D$5,B2)
    • 复制F2到F3:F5。
  2. 创build下拉列表的篮子列表:
    • G1:G15 =INDIRECT("B"&COUNTIF($F$1:$F$5,"<"&ROW())+1)
  3. 创buildD1:D5数据validation列表D1:D5
    • 在列表中,source put =OFFSET($G$1:$G$15,0,0,COUNTIF($G$1:$G$15,"<>0"))我假定水果名称中第5行的单元格将为空,因此列表中的其余行将获得值0 ,因此列表中的"<>0"将被计数

现在,当您从validation列表中select一个水果时,该列表将相应地更新。