唯一值和匹配的数组

Posted

技术标签:

【中文标题】唯一值和匹配的数组【英文标题】:Array of unique values and matching 【发布时间】:2015-12-27 14:11:57 【问题描述】:

假设每次掷几个骰子(例如 3 个)。每个“骰子”也可能有超过六个可能的结果,但为了更好地说明,我选择了六个。

1)。 E 或 G 列:

Lookback 只是数组的大小。 Arrey 应仅包含唯一值并忽略零值。棘手的是,观察序列是从最旧到最新排序的,并且必须根据最新的 3 个数字序列(所选范围内的最大行号)更新数组的值。

所以函数的参数应该包括(数组范围、最大值、数组大小)。

我需要做的只是将所有值从 1 取到“最大值”(1,2,3,...) 并从数组中减去所有值。换句话说,只取那些不包含在给定范围的数组中的值。最后,使用逗号分隔符按升序键入它们。

2)。 D 或 F 列:

这里我们取任何特定范围的值,并将其与我们的逗号分隔列表进行比较。如果匹配,则使用逗号分隔符类似地键入匹配的数字。

【问题讨论】:

你的问题是什么? Kharoof 我的问题是:如何维护最后 4 或 5 个唯一值的固定数组?考虑到在我的例子中应该根据以下原则进行分析:C5,B5,A5,C4,B4,A4,等等。给定范围内的最后 4 或 5 个唯一值 lookback的定义是什么,col e和g有什么区别?你用 col d 和 f 做什么? 之后,我们取 1 和最大值之间的所有数字并回答这个问题:我们的数组中没有哪些?结果应该类似于单元格 E3、G3 中的范围 A2:C3 lookback - 我的数组的大小,即“n”个唯一值的数量,最后出现在给定范围内 【参考方案1】:

我建议将 col h 中的查找表拆分为 m 与 1,2,3,4,5,6... 在 h1 到 m1 的顶部然后在每一行中您可以执行 hlookup( h1, a3 :c3, 1,false) 在单元格 h3 到 m3 中。这将返回一个数字或错误,您可以进一步将此函数包装在 if 函数 if(iserror(hlookup...),h1, "") 中。这将为您提供一排在您的掷骰子中找不到的数字,您可以将它们连接起来以获得您想要的。

【讨论】:

最大值可能足够大,我需要udf解决方案 Excel 2007+ 有 36k 列。你确定不能建立这样的矩阵吗? 这不太舒服,因为要测试数百个不同的最大值。我每次都需要创建一个新矩阵。因此,我需要将最大值作为我的参数udf 函数 你试过什么UDF。这与您需要使用的逻辑相同。贴一些sn-ps的代码。

以上是关于唯一值和匹配的数组的主要内容,如果未能解决你的问题,请参考以下文章

手算KMP匹配的Next值和Nextval值

Laravel 验证检查数组大小的最小值和最大值

如何在数组元素中搜索哈希键中的匹配项

Hive查询:匹配列数组的字符串值以生成标志

实现顺序串的各种模式匹配算法

将值和数组添加到 PDO 执行方法