VLookup Multiple Conditions if statements
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposta accettata
  Adam Danz
    
      
 il 27 Mar 2020
        
      Modificato: Adam Danz
    
      
 il 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 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Matrix Indexing in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

