如何在数组中查找值?

时间:2018-03-28 06:47:17

标签: excel vba

我有一个数组: - Dim arr(0到5,1到2)As Variant

我可以使用以下方法找到数组中的最小值: -

Debug.Print Application.Min(arr)

如何找到与最小值相邻的值?

1 个答案:

答案 0 :(得分:0)

这是一种方式的逻辑(注意我从工作表中读取数组而不是已经指定了数组)。

我循环列,因为列数少于行数。我通过取第1列最小值<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="grid-item">2018-03-30</div> <div class="grid-item">2018-04-29</div> <div class="grid-item">2015-05-25</div> <div class="grid-item">2015-07-26</div>来确定初始有效最小值。如果未来的最小值小于现有值,我将此值设置为未来列的最小值。

var date = $(".grid-item").map(function() {return $(this).text().trim()}).get().sort(function(a, b) { var f = function(d) {[m, d] = d.split("-");return [(new Date()).getFullYear(), m, d];} var t = new Date(); return Math.abs(t.getTime() - new Date(...f(a)).getTime()) - Math.abs(t.getTime() - new Date(...f(b)).getTime()); }); //Assign Class $(".grid-item").addClass('red').filter(function() { return $(this).text().trim() === date[0]; }).removeClass('red').addClass('green'); 用于slice数组。通过指定 索引(数组,0,1)我是逐列切片而不是索引(数组,1,0),这将是行方式。 Index将处理数组维度的限制。

Application.WorksheetFunction.Min(Application.WorksheetFunction.Index(arr, 0, 1))

输出为-3

Data

版本2获取相邻值

Application.WorksheetFunction.Index