首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel公式,用于查找与某个值组合最接近的X个值组合

Excel公式,用于查找与某个值组合最接近的X个值组合
EN

Stack Overflow用户
提问于 2019-10-15 15:53:01
回答 1查看 160关注 0票数 0

在Excel中,我们有3列,其值分别为对象的长度、宽度和高度。每一行代表一个对象,现在我们需要找到X个最适合在一起的对象。

例如:

现在假设我们需要两组最接近的值,输出应该给出Nbr。1和2,因为abs(11-10) + abs(9-8) + abs(4-5)是最小的值。在这里,我们需要找到2个最接近的值,但有时我们需要找到25组最接近的值。

此外,有些人可能会发现高度并不重要或真正重要,因此您可能希望通过添加因子F(1,2,3)来降低或提高其重要性,与公式的一部分相乘:

代码语言:javascript
运行
复制
[F1 * abs(11-10) + F2 * abs(9-8) + F3 * abs(4-5)]

我尝试找出第一个(第二个、第三个等等)最小的值差异,它只适用于一个变量,而不是同时适用于多个变量:

代码语言:javascript
运行
复制
=INDEX(A$2:A$5002,MATCH(SMALL(ABS(B$2:B$5002-B2),2),ABS(B$2:B$5002-B2),0))

我不知道一个Excel公式来解决这个问题,因为我想找到X最近的值组合。

我希望得到的结果是显示最适合在一起的X对象的行数。

EN

回答 1

Stack Overflow用户

发布于 2019-10-18 00:38:03

我创建了一个VBA Excel代码,它可以很好地找出最适合的值组合。它显示最接近的值和所有差异的总和,以确定效果最好的组合。不过,我确实删除了描述中图片的第一行。如果任何人可以改进,请这样做。

代码语言:javascript
运行
复制
Sub test()

Dim last_row As Long   
    last_row = Cells(Rows.Count, 1).End(xlUp).Row
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim m As Integer

Dim L As Integer
Dim W As Integer
Dim H As Integer
Dim AantalGelijken As Integer

Dim FL As Integer
Dim FW As Integer
Dim FH As Integer

FL = 1
FW = 1
FH = 0.8

AantalGelijken = InputBox("How many comparable sets do you need", "Number")

L = 2
W = 3
H = 4

For i = 1 To last_row
    For j = 1 To last_row
        If i <> j Then
            Cells(j, 5).Value = FL * Abs(Cells(i, L) - Cells(j, L)) + FW * Abs(Cells(i, W) - Cells(j, W)) + FH * Abs(Cells(i, H) - Cells(j, H))
        End If
    Next j

        For k = 1 To AantalGelijken
            Cells(i, 5 + k) = WorksheetFunction.Index(Range("A1:A9999"), WorksheetFunction.Match(WorksheetFunction.Small(Range("E1:E9999"), k), Range("E1:E9999"), 0))
            Cells(i, AantalGelijken + 6) = Cells(i, AantalGelijken + 6) + WorksheetFunction.Small(Range("E1:E9999"), k)
        Next k



    Range("E1:E9999").Clear

Next i


End Sub

`

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58389760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档