AnonSubmitter85が提案@ように、あなたができる最善のことは、次のように12
(12月)に1
(1月)から数値へのあなたの月名を変換することです:
c = {
7 1 'February';
1 0 'April';
2 1 'December';
2 1 'January';
5 1 'January';
};
t = cell2table(c,'VariableNames',{'ColumnA' 'ColumnB' 'ColumnC'});
t.ColumnC = month(datenum(t.ColumnC,'mmmm'));
これは(あまりにもあなたColumnC
するための標準的なソート基準へのアクセスを容易にしますこの例では、ascending
):
t = sortrows(t,{'ColumnA' 'ColumnB' 'ColumnC'},{'ascend', 'ascend', 'ascend'});
私たちには分かっていない理由で、月をリテラルにしておく必要がある場合は、上記の方法を使用してテーブルのクローンをソートし、それに適用するという回避策を使用できます結果のインデックス:
c = {
7 1 'February';
1 0 'April';
2 1 'December';
2 1 'January';
5 1 'January';
};
t_original = cell2table(c,'VariableNames',{'ColumnA' 'ColumnB' 'ColumnC'});
t_clone = t_original;
t_clone.ColumnC = month(datenum(t_clone.ColumnC,'mmmm'));
[~,idx] = sortrows(t_clone,{'ColumnA' 'ColumnB' 'ColumnC'},{'ascend', 'ascend', 'ascend'});
t_original = t_original(idx,:);
月を名前ではなく数字で表します。 – AnonSubmitter85