Data extraction/split from table

5 ビュー (過去 30 日間)
Daher
Daher 2025 年 1 月 20 日
コメント済み: Daher 2025 年 1 月 21 日
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 件のコメント
Daher
Daher 2025 年 1 月 20 日
Hello Stephen, thanks for your answer, appreciate it!
I didn't know about this function at all, first time I see it, I'll dive into it and see if I can use it!

サインインしてコメントする。

採用された回答

Star Strider
Star Strider 2025 年 1 月 20 日
編集済み: Star Strider 2025 年 1 月 20 日
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
.
  2 件のコメント
Daher
Daher 2025 年 1 月 20 日
Hello @Star Strider! Thanks a lot for your help this works very good for me :D
Star Strider
Star Strider 2025 年 1 月 20 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (2 件)

Paul
Paul 2025 年 1 月 20 日
編集済み: Paul 2025 年 1 月 20 日
Hi Daher,
Start with findgroups identify the unique rows in the table and map each row to a unique row.
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.
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 件のコメント
Stephen23
Stephen23 2025 年 1 月 20 日
編集済み: Stephen23 2025 年 1 月 20 日
+1 for the demonstration of efficient GROUPSUMMARY.
Daher
Daher 2025 年 1 月 21 日
Oh my bad Paul I did'nt see the rest of your comment below with Tsum that's why I was confused ^^" Thank you also that works great! Really appreciate it :)

サインインしてコメントする。


Sulaymon Eshkabilov
Sulaymon Eshkabilov 2025 年 1 月 20 日
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 件のコメント
Daher
Daher 2025 年 1 月 20 日
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

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeTables についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by