VLOOKUP 函数用于在指定范围内搜索特定值,并返回该范围内指定列的数据。
假设有以下数据表:

要在表格中查找值为7的数据,并返回第二列的对应数据,可以使用VLOOKUP函数如下:
sheet1["A7"] = "=VLOOKUP(7, A2:E6, 2)"
这个公式会在A2:E6范围内搜索索引值7:

结果:

当找到索引值7时,函数返回指定范围内第二列的数据——"Windows XP"。
在ReoGrid中使用VLOOKUP函数时,需要注意以下几点:
VLOOKUP的搜索操作仅限于指定搜索表的第一列,无法让函数搜索其他列。VLOOKUP将返回排序数据中最接近且小于该值的匹配项。例如,如果查找值为8,而第一列中的排序值为5、7和10,VLOOKUP将返回与7对应的结果,因为这是最接近且小于8的值。当VLOOKUP函数遇到查找值与搜索范围第一列中的任何条目都不完全匹配时,它会返回最接近且小于该值的匹配项。例如,使用公式=VLOOKUP(4, A2:E6, 2)处理以下数据表:

在这种情况下,查找值4不在指定范围(A2:E6)的第一列中。因此,VLOOKUP会在排序后的第一列中寻找最接近且小于4的值,这里是3。
函数因此返回与索引值3对应的数据,结果是"Windows 2000":

要强制ReoGrid精确匹配指定的索引值,可以将VLOOKUP函数的第4个参数设置为TRUE,例如:

结果是:

由于在搜索表中未找到指定的索引值,VLOOKUP函数没有返回任何结果。
// 在aardio中使用VLOOKUP函数的示例代码
import dotNet.ReoGrid;
// 创建表格控件
var winform = win.form(text="ReoGrid VLOOKUP示例";right=800;bottom=600)
var grid = ReoGrid.ReoGridControl(winform);
var sheet1 = grid.CurrentWorksheet;
// 填充测试数据
sheet1["A2:E6"] = [
[1, "Windows 95", 1995, "16-bit", "Chicago"],
[3, "Windows 2000", 2000, "32-bit", "NT 5.0"],
[5, "Windows XP", 2001, "32/64-bit", "Whistler"],
[7, "Windows Vista", 2007, "32/64-bit", "Longhorn"],
[10, "Windows 7", 2009, "32/64-bit", "Vienna"]
];
// 使用VLOOKUP查找值7并返回第二列数据
sheet1["A7"] = "=VLOOKUP(7, A2:E6, 2)"; // 返回"Windows Vista"
// 精确匹配查找示例
sheet1["A8"] = "=VLOOKUP(4, A2:E6, 2, TRUE)"; // 不返回结果,因为4不存在
winform.show();
win.loopMessage();
提示:在aardio中,ReoGrid控件的公式语法与Excel兼容,可以直接在单元格中输入公式字符串。使用VLOOKUP时,确保第一列已排序以获得正确结果。对于精确匹配,记得设置第四个参数为TRUE。