【发布时间】:2017-06-08 04:55:33
【问题描述】:
我正在寻找以下问题的解决方案,但目前无法解决:
在 Sheet1 中,我有我的产品订单表。 A列是产品代码,B列是订购数量。
在 Sheet2 中,客户选择了多个变量,这些变量以所选变量的连接标签结尾,例如:A1 - 客户可以从 a、b 或 c 中选择(通过下拉列表验证值),A2 -客户可以选择 1、2 或 3 和 A3,客户可以选择红色、蓝色或绿色。然后在值 A4 中,客户选择所需的数量。在一个隐藏的单元格中,比如 A5,我们将变量的选择连接起来并得到标签 a2blue,例如,我们需要从工作表 1 中找到哪个产品具有标签 a2blue,并将其数量更改为 5,例如。
现在回到 sheet1,我想创建一个 C 列,其中包含产品的可能标签。
例如 productX 可以有标签“a2blue,a3blue,b1blue”。我想创建一个公式来搜索表 1 中与客户标签匹配的产品并添加数量。假设我们在工作表 1 中发现第 9 行有产品代码 ProductX,在 C 列中有标签“a2blue,a3blue,b1blue”(注意,一个产品应该能够有多个标签,因此无法进行精确搜索,如果包含文本则只是搜索)。对于此产品,我想将数量更改为 5。
当然这也可以通过 VBA 解决,但是在 VBA 中我是新手,所以需要额外的支持。
图 1:例如,在 B4 和 B5,客户选择混凝土和沥青。这将稍后在 sheet2 上生成系统不同部分所需的一些“标签”。
图 2:工作表 2 的快照。单元格 B7 显示,根据客户从工作表 1 中的选择,我们需要一个带有“Concretebitumenend”标签的产品作为结束锚项目。数量已在 C7 中计算。 基于标签Concretebitumenend(Sheet2单元格B7中的标签,根据C7需要2个),当我单击sheet1上的Calculate时,它应该在Sheet1列H中找到列出的标签中哪个产品具有该标签。例如,在这种情况下,H29 不适合,因为它没有标签 Concretebitumenend,因此应该找到正确的行,然后它应该在 col E 中获得所需的数量。
感谢您的支持!
【问题讨论】:
-
这将需要 vba,因为公式不能引用自身来向自身添加数量。
-
迈克尔你的问题到底是什么。您能否也分享一下您到目前为止所做的尝试?
-
我能得到的最接近的是: =INDEX(A5;MATCH(TRUE;COUNTIF(Sheet1!B4:B100;A5)>0;0)) 但它没有达到我想要的效果.不幸的是,无法在此处上传 excel 以便更轻松地查看。但要恢复:Sheet2 中的单元格 A5 包含值“a2blue”。单元格 A4 包含所需的数量,比如说 5。在 sheet1 中,我们有带有唯一产品代码的 A 列(此时无关),带有数量的 B 列(我想更新)和带有产品标签的 C 列。它包含 100 行,每行都有不同的标签。
-
因此,C列中包含文本“a2blue”的第一个产品(行)应该将Sheet2中的值写入B列。如果另一个产品也包含此标签,则不应已处理。
-
@Michael 抱歉,不是 Excel 公式中的佼佼者,更多的是 VBA。 Scott Craner 是公式专家
标签: vba excel excel-formula