Cell and double data

Hello,
I have an excel file something like this:
Type Value
Type A 100
Type A 500
Type B 1000
I use xlsread to import data to matlab and i get two data types:
double
100
500
1000
and cell
Type Value
Type A
Type A
Type B
I need to read the "column Type" and then sum the "column Value", if the type is the same . The goal is to get something like this and than export to excel:
Type Value
Type A 600
Type B 1000
Can you help me?
Thanks.
Joao Rosa

 Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 10 de Dic. de 2011

0 votos

Type={'Type A','Type A','Type B','Type C','Type C'}.';
Value=[100,500,1000,100,200].';
[UniType,Ind_i,Ind_j]=unique(Type);
SumValue=accumarray(Ind_j,Value)
xlswrite('test.xls',[UniType,num2cell(SumValue)]);
SumValue =
600
1000
300

Más respuestas (1)

the cyclist
the cyclist el 10 de Dic. de 2011

0 votos

You could use the ismember command on the first column of the cell, to find indices to each unique value.
Then, for each value, sum over its indices.
Then use xlswrite to write back to Excel.

Preguntada:

el 10 de Dic. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by