我已经在VBA上工作了将近一年,并设法提取了一些相当令人印象深刻的东西,通常我可以通过本网站或其他人的一系列搜索找到任何我不确定的东西,但这次我我觉得它很可能是因为我真的不知道如何正确地构建搜索:(
我正在寻找创建一个分析客户销售历史记录的宏,然后从我们的畅销书列表中预先形成“您可能也喜欢”的搜索,并将最接近的匹配返回给他们的畅销书。该产品是书籍,由于几十年的书目关注行业内的细节,每个产品可以有多达20个类别,我想用它来找到壁橱比赛。
我有的信息(重要的位)
Sheet 1 - product id - customer sales quantity
Product id 2 -customer sales quantity
Product id 3 -customer sales quantity
Etc etc ( usually up to 100)
Sheet 2 - product id - total company sales quantity
product id2 - total company sales quantity product id3 - total company sales quantity
Etc etc (Currently over 34000 and growing...)
Sheet 3 - cat1 cat2 cat3 cat4 cat5 cat6 etc (to cat400)
Product id 1 0 1 1 0 0
Product id2 0 1 1 0 1 0
Product id3 1 0 1 1 0 0
我希望能够从客户列表中找到畅销书,在cat参考表中查找该产品的所有匹配类别,查找与这些类别完全匹配的所有结果并按列表列出公司总销售额。虽然很可能在可能的类别数量上没有精确的马赫,所以我希望得到最接近的产品......
这有意义吗?请告诉我是否需要更多信息来帮助 - 即使只是一个指向某种功能的指针或一段代码将帮助我在路上将不胜感激,我只是不知道如何找到一个匹配的整行的价值......如果没有精确的话,甚至更少了解如何找到最接近的匹配......
答案 0 :(得分:1)
有趣的问题。没有匹配功能来实现你想要的。相反,您需要首先弄清楚要使用哪种算法/逻辑来确定最近的书籍。这将需要大量称重。这是我如何做到的(没有VBA):
让我们使用以下数据作为示例:
方法:
RANK
函数对它们进行排名: 这是sample file。