Hi all,
I imported an excel sheet of numbers next to a string (a category) in an array and having trouble finding a way to get the sum of all the numbers under a category. For example:
Let's say I want the sum of all the numbers to the right of 'VLGMC' and 'DLG'. Is there a way I could do this?
Thanks,
Tony

 채택된 답변

Mohammad Abouali
Mohammad Abouali 2015년 4월 4일
편집: Mohammad Abouali 2015년 4월 4일

0 개 추천

% creating sample data
data={'VLGMC', 1, 'DLG', 4, 'a', 7; ...
'VLGMC', 2, 'c', 5, 'a', 8; ...
'b', 3, 'DLG', 6, 'a', 9};
% summing numbers next to VLGMC
mask=strcmpi(data,'VLGMC');
[row,col]=find(mask);
idx=sub2ind(size(data),row,col+1);
sum_VLGMC=sum(cell2mat(data(idx)))
sum_VLGMC =
3
% summing numbers next to DLG
mask=strcmpi(data,'DLG');
[row,col]=find(mask);
idx=sub2ind(size(data),row,col+1);
sum_DLG=sum(cell2mat(data(idx)))
sum_DLG =
10
The code would be much easier if you have all your text on one column and the numbers on a second column.

추가 답변 (1개)

Image Analyst
Image Analyst 2015년 4월 4일

0 개 추천

Try using readtable() then summing the column(s). I'd have done a little for you but you forgot to attach your workbook.

카테고리

질문:

2015년 4월 4일

답변:

2015년 4월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by