現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
Data extraction/split from table
5 ビュー (過去 30 日間)
古いコメントを表示
Daher
2025 年 1 月 20 日
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
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
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 件)
Paul
2025 年 1 月 20 日
編集済み: Paul
2025 年 1 月 20 日
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 件のコメント
Daher
2025 年 1 月 20 日
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
2025 年 1 月 20 日
編集済み: Paul
2025 年 1 月 20 日
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
2025 年 1 月 20 日
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
2025 年 1 月 20 日
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
2025 年 1 月 20 日
As shown in this comment Tsum was the output from groupsummary that gives exactly the desired output, at least as I understand it.
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
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
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 Exchange で Tables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)
アジア太平洋地域
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)