Federico Barbieri Ответов: 2

Индивидуальный заказ excel


Привет,

У меня есть этот файл excel, и я должен сделать какие-то столбцы.

В случае если мне нужно упорядочить столбцы с числами в порядке возрастания я использовал следующий код:

Excel.Worksheet sheet = (Excel.Worksheet)xlWorkBook.Sheets[1];
sheet.Sort.SortFields.Clear();
sheet.Sort.SortFields.Add(sheet.Range["E13:E100"], Excel.XlSortOn.xlSortOnValues, Excel.XlSortOrder.xlAscending, Type.Missing, Excel.XlSortDataOption.xlSortNormal);
sheet.Sort.SortFields.Add(sheet.Range["D13:D100"], Excel.XlSortOn.xlSortOnValues, Excel.XlSortOrder.xlAscending, Type.Missing, Excel.XlSortDataOption.xlSortNormal);
sheet.Sort.SetRange(sheet.Range["A13:AP100"]);
sheet.Sort.Apply();
xlWorkBook.Save();


Моя проблема заключается в том, что я должен привести в порядок столбец, в котором есть некоторые буквы, но в частности я не должен сортировать его в алфавитном порядке, а с точным порядком:
Сначала я хотел бы иметь записи с буквами GV, затем BU, GNYE и затем BK.

Большое спасибо

Что я уже пробовал:

До сих пор я не знаю, как запустить этот код

ZurdoDev

Как любая программа может знать, чтобы отсортировать его таким образом?

Federico Barbieri

Возможно, есть возможность вставить массив строк о том, как я хотел бы упорядочить столбец.

2 Ответов

Рейтинг:
1

CHill60

Альтернативой в Excel было бы иметь дополнительный столбец, скрытый при необходимости, который содержит формулу для сопоставления этих элементов с числом, например (непроверенным)

= IIF(A1="GV",1,IIF(A1="BU", 2, IIF(A1="GNYE",3,4)))

Затем отсортируйте по этому столбцу


Рейтинг:
0

Richard MacCutchan

Используйте пункт меню Data -> Sort и выберите столбец sort key. Затем вы можете добавить пользовательский список, чтобы указать ему порядок сортировки.

Похоже, что эта опция недоступна во взаимодействии.

Я могу только предложить извлечение данных в сетку или общий список. Затем вы можете отсортировать элементы в любом порядке, который вам требуется, и записать их обратно в электронную таблицу.


ZurdoDev

Я знаю, что вы здесь новичок, но вы дважды отправляли сообщение. ;)

Federico Barbieri

Извините, если я плохо объяснился, но я намерен сделать это через код C #

Richard MacCutchan

Эй. Я живу здесь всего 14 лет, так что все еще учусь. :(

Richard MacCutchan

См. обновленное предложение.