Clear Filters
Clear Filters

VLOOK UP Function for MatLab - Closest Match

7 views (last 30 days)
Hello, I found the following answer by Jim Riggs which nearly solves a problem I've been having i MatLab. Essentially I need a function which performs this same task, but rather than finding data from col1 which is equal to val1, I need it to find the closest number in col1 to val 1 then return the value from col2.
Any recommendations are helpful!
"
You can make this into a function similar to Vlookup in Excel. For example:
Vlookup = @(data,col1,val1,col2) data((data(:,col1)==val1),col2);
The function Vlookup takes 4 arguments;
  1. data is the table of data
  2. col1 is the column you want to use to perform the lokup
  3. val1 is the value you want to look up (from col1).
  4. col2 is the column that you want to retrieve.
So, in my previous example, this would be
area = Vlookup(data, 1, 12, 2);
Unrecognized function or variable 'data'.
Look up from the "data" table, where column 1 has a value of 12, and return the value from column 2.
"

Accepted Answer

Voss
Voss on 16 Oct 2023
col1 = 1;
val1 = 12;
col2 = 2;
[~,idx] = min(abs(data{:,col1}-val1));
result = data{idx,col2};

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!