Way for matching letters and numbers in two files?

2 views (last 30 days)
Hello,
I have a question about one code. I have two files. file1, has one column with numbers only. the second file (file2) has two column. in which the first column has numbers and the second columnn has letters/characters. I would like to add a new column in file1 which would have letters/characters, based on the file2 structure.
I send you some pics in order to see what I want to do.
file1
file2
final file
I attach the two files (final1.xlsx & file2.xlsx) and the final file (final_file.xlsx) I would like to create
could you help me please?

Accepted Answer

Image Analyst
Image Analyst on 22 Dec 2020
Not sure how file1 is involved. If you want to sort the cell array file2 based on the contents of column 1, use sortrows(ca, 1). If you need anymore help, attach the two files.
  3 Comments
Image Analyst
Image Analyst on 23 Dec 2020
Ivan, I'm sure you've figured it out by now, but a simple for loop will do the trick. Here is what I have:
m1 = readmatrix('file1.xlsx')
ca2 = readcell('file2.xlsx')
col2a = cell2mat(ca2(:, 1))
% Make output cell array
ca3 = cell(size(m1, 1), 2);
for row = 1 : size(m1, 1) % For every row in file 1
rowIn2 = find(col2a == m1(row), 1, 'first'); % Find the first matching row.
ca3{row, 1} = m1(row); % Assign the number
ca3{row, 2} = ca2{rowIn2, 2}; % Assign the letter.
end
ca3 % Show in command window
outputFileName = fullfile(pwd, 'file3.xlsx');
writecell(ca3, outputFileName);
If it works, can you please "Accept this answer"?

Sign in to comment.

More Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!