You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
Data extraction/split from table
6 views (last 30 days)
Show older comments
Hello everyone,
Let's say I have the following table in an excel sheet I read in matlab:

I want to extract all rows with the same data,text,val to another table and sum the val, so here in this case I should have table1 with the first 3 rows with sum of the 3 val1, table2 with row4 and 5 with sum of val2+val2 and table3 with the last row.
The issue may be trivial but I can't seem to see how to do it, it has been a long time since I used matlab, I tried with find or groupcounts and other functions but it I'm stuck.
The table is generated by another function so the rows are variables depending on this input of the function
So ideally I would make a function that takes the file as input, do the split sum the values of the same group and outputs as many tables as there are groups of the same data,text,val
Any help is appreciated!
2 Comments
Accepted Answer
Star Strider
on 20 Jan 2025
Edited: Star Strider
on 20 Jan 2025
I am not certain what reesult you want, however findgroups and accumarray (or splitapply) together are likely the direction in which you want to proceed —
T1 = readtable('art_file.xlsx', VariableNamingRule='preserve');
VN = T1.Properties.VariableNames
VN = 1x7 cell array
{'Code article'} {'Désignation'} {'Quantité'} {'Unité'} {'UN price'} {'TOT price'} {'Cust_ID'}
disp(T1)
Code article Désignation Quantité Unité UN price TOT price Cust_ID
_____________ ______________________________________________________ ________ ______ ________ _________ _______
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 10 {'UN'} 3500 35000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 8 {'UN'} 3500 28000 {'CL1'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 5 {'UN'} 4000 20000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 4 {'UN'} 4000 16000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 4 {'UN'} 4000 16000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 4 {'UN'} 4000 16000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 4 {'UN'} 4000 16000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 3 {'UN'} 4000 12000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-009'} {'Tablette Dark 75% Fleur de sel 100g' } 2 {'UN'} 3000 6000 {'CL0'}
{'PF100-009'} {'Tablette Dark 75% Fleur de sel 100g' } 1 {'UN'} 3000 3000 {'CL0'}
{'PF100-009'} {'Tablette Dark 75% Fleur de sel 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-009'} {'Tablette Dark 75% Fleur de sel 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-009'} {'Tablette Dark 75% Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-009'} {'Tablette Dark 75% Fleur de sel 100g' } 1 {'UN'} 3000 3000 {'CL0'}
{'PF100-010'} {'Tablette Dark 75% Cacahuètes torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-010'} {'Tablette Dark 75% Cacahuètes torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-010'} {'Tablette Dark 75% Cacahuètes torréfiées 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-010'} {'Tablette Dark 75% Cacahuètes torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-010'} {'Tablette Dark 75% Cacahuètes torréfiées 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-010'} {'Tablette Dark 75% Cacahuètes torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 8 {'UN'} 3500 28000 {'CL1'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 10 {'UN'} 3500 35000 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 3 {'UN'} 4000 12000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 4 {'UN'} 4000 16000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 4 {'UN'} 4000 16000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 5 {'UN'} 4000 20000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 4 {'UN'} 4000 16000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-016'} {'Tablette Dark 75% Misc 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-016'} {'Tablette Dark 75% Misc 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-016'} {'Tablette Dark 75% Misc 100g' } 2 {'UN'} 0 0 {'CL0'}
{'PF200-002'} {'Tablette Dark 90% Cranberries & Fleur de sel 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF200-002'} {'Tablette Dark 90% Cranberries & Fleur de sel 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-002'} {'Tablette Dark 90% Cranberries & Fleur de sel 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-002'} {'Tablette Dark 90% Cranberries & Fleur de sel 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-003'} {'Tablette Dark 90% Amandes & Raisins 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-004'} {'Tablette Dark 90% Figues & Pistaches 100g' } 2 {'UN'} 4500 9000 {'CL0'}
{'PF200-005'} {'Tablette Dark 90% Eclats de café 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF200-005'} {'Tablette Dark 90% Eclats de café 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-005'} {'Tablette Dark 90% Eclats de café 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF200-006'} {'Tablette Dark 90% Eclats de cacao 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF200-006'} {'Tablette Dark 90% Eclats de cacao 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-006'} {'Tablette Dark 90% Eclats de cacao 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF200-007'} {'Tablette Dark 90% Fleur de sel 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF200-007'} {'Tablette Dark 90% Fleur de sel 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-007'} {'Tablette Dark 90% Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF200-008'} {'Tablette Dark 90% Amandes & Fleur de sel 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-008'} {'Tablette Dark 90% Amandes & Fleur de sel 100g' } 3 {'UN'} 4000 12000 {'CL0'}
{'PF200-008'} {'Tablette Dark 90% Amandes & Fleur de sel 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-008'} {'Tablette Dark 90% Amandes & Fleur de sel 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-009'} {'Tablette Dark 90% Noisettes & Cranberries 100g' } 2 {'UN'} 4500 9000 {'CL0'}
{'PF200-009'} {'Tablette Dark 90% Noisettes & Cranberries 100g' } 3 {'UN'} 4500 13500 {'CL0'}
{'PF200-009'} {'Tablette Dark 90% Noisettes & Cranberries 100g' } 2 {'UN'} 4500 9000 {'CL0'}
{'PF200-009'} {'Tablette Dark 90% Noisettes & Cranberries 100g' } 1 {'UN'} 4500 4500 {'CL0'}
{'PF200-010'} {'Tablette Dark 90% Misc 100g' } 4 {'UN'} 4000 16000 {'CL0'}
{'PF200-010'} {'Tablette Dark 90% Misc 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF200-011'} {'Tablette Dark 90% Noisettes torréfiées 100g' } 2 {'UN'} 4500 9000 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 0 0 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-002'} {'Tablette Milk 50% Amandes & Fleur de sel 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF300-005'} {'Tablette Milk 50% Eclats de café 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF300-005'} {'Tablette Milk 50% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-005'} {'Tablette Milk 50% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-005'} {'Tablette Milk 50% Eclats de café 100g' } 8 {'UN'} 3500 28000 {'CL1'}
{'PF300-005'} {'Tablette Milk 50% Eclats de café 90g' } 1 {'UN'} 3000 3000 {'CL0'}
{'PF300-006'} {'Tablette Milk 50% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-006'} {'Tablette Milk 50% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-006'} {'Tablette Milk 50% Eclats de cacao 100g' } 5 {'UN'} 3000 15000 {'CL1'}
{'PF300-006'} {'Tablette Milk 50% Eclats de cacao 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-007'} {'Tablette Milk 50% Cacahuètes torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-007'} {'Tablette Milk 50% Cacahuètes torréfiées 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF300-007'} {'Tablette Milk 50% Cacahuètes torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-007'} {'Tablette Milk 50% Cacahuètes torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-007'} {'Tablette Milk 50% Cacahuètes torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-007'} {'Tablette Milk 50% Cacahuètes torréfiées 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF300-007'} {'Tablette Milk 50% Cacahuètes torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-008'} {'Tablette Milk 50% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-008'} {'Tablette Milk 50% Cajou torréfiées 100g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF300-008'} {'Tablette Milk 50% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-008'} {'Tablette Milk 50% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-008'} {'Tablette Milk 50% Cajou torréfiées 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF300-010'} {'Tablette Milk 50% Noisettes torréfiées 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF300-010'} {'Tablette Milk 50% Noisettes torréfiées 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF300-010'} {'Tablette Milk 50% Noisettes torréfiées 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF300-010'} {'Tablette Milk 50% Noisettes torréfiées 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF300-010'} {'Tablette Milk 50% Noisettes torréfiées 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF300-010'} {'Tablette Milk 50% Noisettes torréfiées 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF300-010'} {'Tablette Milk 50% Noisettes torréfiées 100g' } 8 {'UN'} 4000 32000 {'CL1'}
{'PF300-010'} {'Tablette Milk 50% Noisettes torréfiées 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF300-010'} {'Tablette Milk 50% Noisettes torréfiées 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF300-011'} {'Tablette Milk 50% Misc 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF300-011'} {'Tablette Milk 50% Misc 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-002'} {'Tablette Blond 35% Eclats de café 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-002'} {'Tablette Blond 35% Eclats de café 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-002'} {'Tablette Blond 35% Eclats de café 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-003'} {'Tablette Blond 35% Eclats de cacao 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-003'} {'Tablette Blond 35% Eclats de cacao 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-003'} {'Tablette Blond 35% Eclats de cacao 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-003'} {'Tablette Blond 35% Eclats de cacao 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-003'} {'Tablette Blond 35% Eclats de cacao 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-003'} {'Tablette Blond 35% Eclats de cacao 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-003'} {'Tablette Blond 35% Eclats de cacao 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF400-006'} {'Tablette Blond 35% Cacahuètes torréfiées 90g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF400-007'} {'Tablette Blond 35% Cajou torréfiées 90g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF110-002'} {'Tablette Dark 100% Cranberries & Fleur de sel 100g'} 2 {'UN'} 4000 8000 {'CL0'}
{'PF110-005'} {'Tablette Dark 100% Eclats de café 90g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF110-007'} {'Tablette Dark 100% Fleur de sel 90g' } 2 {'UN'} 3500 7000 {'CL0'}
{'PF110-008'} {'Tablette Dark 100% Amandes & Fleur de sel 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF110-009'} {'Tablette Dark 100% Noisettes & Cranberries 100g' } 1 {'UN'} 4500 4500 {'CL0'}
{'PF110-011'} {'Tablette Dark 100% Misc 100g' } 2 {'UN'} 4000 8000 {'CL0'}
% V1 = T1{:,1}
% V2 = T1{:,2}
[G,ID1,ID2] = findgroups(T1{:,1},T1{:,2})
G = 262×1
1
1
1
1
1
1
1
1
1
1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
ID1 = 40x1 cell array
{'PF100-002'}
{'PF100-003'}
{'PF100-004'}
{'PF100-005'}
{'PF100-006'}
{'PF100-009'}
{'PF100-010'}
{'PF100-011'}
{'PF100-013'}
{'PF100-014'}
{'PF100-015'}
{'PF100-016'}
{'PF110-002'}
{'PF110-005'}
{'PF110-007'}
{'PF110-008'}
{'PF110-009'}
{'PF110-011'}
{'PF200-002'}
{'PF200-003'}
{'PF200-004'}
{'PF200-005'}
{'PF200-006'}
{'PF200-007'}
{'PF200-008'}
{'PF200-009'}
{'PF200-010'}
{'PF200-011'}
{'PF300-002'}
{'PF300-005'}
ID2 = 40x1 cell array
{'Tablette Dark 75% Cranberries & Fleur de sel 100g' }
{'Tablette Dark 75% Amandes & Raisins 100g' }
{'Tablette Dark 75% Figues & Pistaches 100g' }
{'Tablette Dark 75% Eclats de café 100g' }
{'Tablette Dark 75% Eclats de cacao 100g' }
{'Tablette Dark 75% Fleur de sel 100g' }
{'Tablette Dark 75% Cacahuètes torréfiées 100g' }
{'Tablette Dark 75% Cajou torréfiées 100g' }
{'Tablette Dark 75% Amandes & Fleur de sel 100g' }
{'Tablette Dark 75% Noisettes torréfiées 100g' }
{'Tablette Dark 75% Noisettes & Cranberries 100g' }
{'Tablette Dark 75% Misc 100g' }
{'Tablette Dark 100% Cranberries & Fleur de sel 100g'}
{'Tablette Dark 100% Eclats de café 90g' }
{'Tablette Dark 100% Fleur de sel 90g' }
{'Tablette Dark 100% Amandes & Fleur de sel 100g' }
{'Tablette Dark 100% Noisettes & Cranberries 100g' }
{'Tablette Dark 100% Misc 100g' }
{'Tablette Dark 90% Cranberries & Fleur de sel 100g' }
{'Tablette Dark 90% Amandes & Raisins 100g' }
{'Tablette Dark 90% Figues & Pistaches 100g' }
{'Tablette Dark 90% Eclats de café 100g' }
{'Tablette Dark 90% Eclats de cacao 100g' }
{'Tablette Dark 90% Fleur de sel 100g' }
{'Tablette Dark 90% Amandes & Fleur de sel 100g' }
{'Tablette Dark 90% Noisettes & Cranberries 100g' }
{'Tablette Dark 90% Misc 100g' }
{'Tablette Dark 90% Noisettes torréfiées 100g' }
{'Tablette Milk 50% Amandes & Fleur de sel 100g' }
{'Tablette Milk 50% Eclats de café 100g' }
OutTables1 = accumarray(G, (1:numel(G)).', [], @(x){T1(x,:)})
OutTables1 = 40x1 cell array
{29x7 table}
{ 9x7 table}
{21x7 table}
{19x7 table}
{ 9x7 table}
{ 6x7 table}
{ 6x7 table}
{19x7 table}
{23x7 table}
{11x7 table}
{16x7 table}
{ 3x7 table}
{ 1x7 table}
{ 1x7 table}
{ 1x7 table}
{ 1x7 table}
disp(OutTables1{1})
Code article Désignation Quantité Unité UN price TOT price Cust_ID
_____________ _____________________________________________________ ________ ______ ________ _________ _______
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 10 {'UN'} 3500 35000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 8 {'UN'} 3500 28000 {'CL1'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
disp(OutTables1{2})
Code article Désignation Quantité Unité UN price TOT price Cust_ID
_____________ ____________________________________________ ________ ______ ________ _________ _______
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 1 {'UN'} 3500 3500 {'CL0'}
disp(OutTables1{end})
Code article Désignation Quantité Unité UN price TOT price Cust_ID
_____________ ___________________________________________ ________ ______ ________ _________ _______
{'PF400-007'} {'Tablette Blond 35% Cajou torréfiées 90g'} 1 {'UN'} 3500 3500 {'CL0'}
EDIT — (20 Jan 2025 at 18:32)
Added summary tables —
format longG
for k = 1:numel(OutTables1)
OutTables2{k,:} = table(OutTables1{k}{1,1}, OutTables1{k}{1,2}, sum(OutTables1{k}{:,3}), sum(OutTables1{k}{:,6}), VariableNames={VN{1}, VN{2}, VN{3}, VN{6}});
end
OutTables2{1}
ans = 1x4 table
Code article Désignation Quantité TOT price
_____________ _____________________________________________________ ________ _________
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 98 343000
OutTables2{2}
ans = 1x4 table
Code article Désignation Quantité TOT price
_____________ ____________________________________________ ________ _________
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g'} 13 45500
OutTables2{end}
ans = 1x4 table
Code article Désignation Quantité TOT price
_____________ ___________________________________________ ________ _________
{'PF400-007'} {'Tablette Blond 35% Cajou torréfiées 90g'} 1 3500
.
More Answers (2)
Paul
on 20 Jan 2025
Edited: Paul
on 20 Jan 2025
Hi Daher,
T = readtable('art_file.xlsx')
Warning: Column headers from the file were modified to make them valid MATLAB identifiers before creating variable names for the table. The original column headers are saved in the VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
T = 262x7 table
CodeArticle D_signation Quantit_ Unit_ UNPrice TOTPrice Cust_ID
_____________ _____________________________________________________ ________ ______ _______ ________ _______
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 10 {'UN'} 3500 35000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 4 {'UN'} 3500 14000 {'CL0'}
[G,TID] = findgroups(T)
G = 262×1
5
7
1
4
5
1
1
5
2
4
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
TID = 95x7 table
CodeArticle D_signation Quantit_ Unit_ UNPrice TOTPrice Cust_ID
_____________ _____________________________________________________ ________ ______ _______ ________ _______
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 2 {'UN'} 3500 7000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 4 {'UN'} 3500 14000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 6 {'UN'} 3500 21000 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 8 {'UN'} 3500 28000 {'CL1'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 10 {'UN'} 3500 35000 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 3 {'UN'} 3500 10500 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 1 {'UN'} 4000 4000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 2 {'UN'} 4000 8000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 3 {'UN'} 4000 12000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 4 {'UN'} 4000 16000 {'CL0'}
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 5 {'UN'} 4000 20000 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 2 {'UN'} 3500 7000 {'CL0'}
G is the mapping of each row of T to a unique row and TID shows what those unique rows are.
Then, for example, we can extract all of the rows in Group 1, of which there are apparently 12. All of the rows of T1 match the first row of TID. If you want, you can loop over 1:95 and extract each group to its own table, though I'm not sure of the utility of that because the rows will be the same in each one of those 95 tables.
T1 = T(G==1,:)
T1 = 12x7 table
CodeArticle D_signation Quantit_ Unit_ UNPrice TOTPrice Cust_ID
_____________ _____________________________________________________ ________ ______ _______ ________ _______
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} 1 {'UN'} 3500 3500 {'CL0'}
8 Comments
Daher
on 20 Jan 2025
Hello Paul, thanks for your answer!
the final goal is to group all the individual items and sum the quantities and then the total price, so here we have managed to group them but by doing so we lost some quantites in the process,
So ideally, the first row should be (done by hand):
Code Designation Qty TOT price
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} {98} {343000}
That's why idk if the findgroups function is suitable for this specific task :s
Paul
on 20 Jan 2025
Edited: Paul
on 20 Jan 2025
To clarify ...
We have a table with 262 rows. We want to group the table by the unique combinations of only Code and Designation. Then for each group we want to find the the sum of Quantity and TOTPrice for all of the rows in that group?
If so, then
T = readtable('art_file.xlsx');
Warning: Column headers from the file were modified to make them valid MATLAB identifiers before creating variable names for the table. The original column headers are saved in the VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
Tsum = groupsummary(T,1:2,"sum",{'Quantit_','TOTPrice'})
Tsum = 40x5 table
CodeArticle D_signation GroupCount sum_Quantit_ sum_TOTPrice
_____________ ______________________________________________________ __________ ____________ ____________
{'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g' } 29 98 3.43e+05
{'PF100-003'} {'Tablette Dark 75% Amandes & Raisins 100g' } 9 13 45500
{'PF100-004'} {'Tablette Dark 75% Figues & Pistaches 100g' } 21 40 1.6e+05
{'PF100-005'} {'Tablette Dark 75% Eclats de café 100g' } 19 25 87500
{'PF100-006'} {'Tablette Dark 75% Eclats de cacao 100g' } 9 12 42000
{'PF100-009'} {'Tablette Dark 75% Fleur de sel 100g' } 6 9 29500
{'PF100-010'} {'Tablette Dark 75% Cacahuètes torréfiées 100g' } 6 10 35000
{'PF100-011'} {'Tablette Dark 75% Cajou torréfiées 100g' } 19 38 1.33e+05
{'PF100-013'} {'Tablette Dark 75% Amandes & Fleur de sel 100g' } 23 46 1.61e+05
{'PF100-014'} {'Tablette Dark 75% Noisettes torréfiées 100g' } 11 22 88000
{'PF100-015'} {'Tablette Dark 75% Noisettes & Cranberries 100g' } 16 28 1.12e+05
{'PF100-016'} {'Tablette Dark 75% Misc 100g' } 3 6 14000
{'PF110-002'} {'Tablette Dark 100% Cranberries & Fleur de sel 100g'} 1 2 8000
{'PF110-005'} {'Tablette Dark 100% Eclats de café 90g' } 1 2 8000
{'PF110-007'} {'Tablette Dark 100% Fleur de sel 90g' } 1 2 7000
{'PF110-008'} {'Tablette Dark 100% Amandes & Fleur de sel 100g' } 1 2 8000
Daher
on 20 Jan 2025
Yes Paul that's right so for the previous example we find the combination {'PF100-002'} {'Tablette Dark 75% Cranberries & Fleur de sel 100g'} and then sum all the associated quantities; which will give 98 and we sum also the tot price equal to 343000.
Next group will be
PF100-003 Tablette Dark 75% Amandes & Raisins 100g with qty = 13 and tot price 45500
and so on ..
Daher
on 20 Jan 2025
is it an embedded matlab function ? I don't find it in my version of matlab (2020a). Or are you refering to something else ?
@Star Strider indeed sums up the tables in this loop he added. Maybe you were refering to this in a simpler way?
for k = 1:numel(OutTables1)
OutTables2{k,:} = table(OutTables1{k}{1,1}, OutTables1{k}{1,2}, sum(OutTables1{k}{:,3}), sum(OutTables1{k}{:,6}), VariableNames={VN{1}, VN{2}, VN{3}, VN{6}});
end
Paul
on 20 Jan 2025
As shown in this comment Tsum was the output from groupsummary that gives exactly the desired output, at least as I understand it.
Sulaymon Eshkabilov
on 20 Jan 2025
You can try this approach for your exercise - see example:

% Specify the Data File Name to Be Read/Imported
filename = 'DATA_Exp_Imp.xlsx';
OPTIONS = detectImportOptions(filename);
OPTIONS.VariableNamingRule = 'preserve'; % Preserve original variable names
% Read the Table Data
T_DATA = readtable(filename, OPTIONS);
% Display the Imported Data Table
disp(T_DATA);
Data Text Values
_________ _________ ________
{'Data1'} {'Text1'} {'val1'}
{'Data1'} {'Text1'} {'val1'}
{'Data1'} {'Text1'} {'val1'}
{'Data2'} {'Text2'} {'val2'}
{'Data2'} {'Text2'} {'val2'}
{'Data3'} {'Text3'} {'val3'}
{'Data3'} {'Text3'} {'val3'}
{'Data3'} {'Text3'} {'val3'}
%% Export/Write to External Files
writetable(T_DATA(1:3,:), 'DATA_Exp1.txt', 'Delimiter', '\t', 'WriteRowNames',true)
writetable(T_DATA(4:5,:), 'DATA_Exp2.txt','Delimiter', '\t', 'WriteRowNames',true)
writetable(T_DATA(6:8,:), 'DATA_Exp3.txt', 'Delimiter', '\t', 'WriteRowNames',true)
type 'DATA_Exp1.txt'
Data Text Values
Data1 Text1 val1
Data1 Text1 val1
Data1 Text1 val1
type 'DATA_Exp2.txt'
Data Text Values
Data2 Text2 val2
Data2 Text2 val2
type 'DATA_Exp3.txt'
Data Text Values
Data3 Text3 val3
Data3 Text3 val3
Data3 Text3 val3
1 Comment
Daher
on 20 Jan 2025
Hello Sulaymon, thank you for your answer!
sorry I didn't mentioned but the table is dynamic, it's generated by a function and the rows are variables they are not the same every time, that's why is quite tricky :s So I need to create a function which can automate the split. Attached is an example for the table generated
See Also
Categories
Find more on Tables 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!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)