VLookup Multiple Conditions if statements

5 views (last 30 days)
Hi
I was wanting to modify this code to perform a VLookup on 2 columns and return the element of one of the correspoding column element in the same row?
Can someone please assist me on the if statements for this function?
Here is a function I found on Mathworks that I would like to modify: So instead of having one lookup column I need 2.
  7 Comments
James
James on 30 Mar 2020
Hi Adam,
The array could be either a cell array or table. Is this a problem for coding?
Thanks so much.
Adam Danz
Adam Danz on 30 Mar 2020
Edited: Adam Danz on 30 Mar 2020
See updated answer.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 27 Mar 2020
Edited: Adam Danz on 30 Mar 2020
No need for a function.
See inline comments for details.
Matrices
% Define matrix
m = randi(3,2000,5);
% Define search variables
lookupValues = [1,3]; % values to search for in the two columns
lookupColumns = [2,3]; % two column numbers to search in
returnColumn = 1; % the column number used to return the output
% Compute outputs (same variable names as the function you shared)
index = ismember(m(:,lookupColumns), lookupValues, 'rows');
content = m(index, returnColumn);
Cell arrays
Look up the value of 2 in column 1 and 'Day' in column 2:
idx = [C{:,1}]'==2 & strcmpi(C(:,2), 'Day');
C(idx,3) % or [C{idx, 3}]
Tables
Look up the value of 2 in column 1 and 'Day' in column 2:
idx = [T{:,1}]==2 & strcmpi([T{:,2}], 'Day');
T(idx,3) % or [T{idx, 3}]
  9 Comments
James
James on 31 Mar 2020
Hi Adam,
Could you help me with plotting?
Adam Danz
Adam Danz on 31 Mar 2020
Edited: Adam Danz on 31 Mar 2020
What are you plotting? If it's a quick question with a straightforward answer, I can help you here. If the question is more in depth, you may want to write a new question and leave a comment with the URL.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!