PDA

Просмотр полной версии : Excel, отсортировать таблицу?


Talismaner
17-07-2007, 19:56
Очень нужно отсортировать данные в excel, каким образом показано во вложенных файлах (Posle_.jpg и Do.jpg? чтобы номер в первой строке соответствовал номерам строк). Так и не нашел сам как это сделать, но ведь должно же быть!!!!



Вручную это делать не канает, так как массивы данных гиганские (не такие как в примерах :D ). Вне excel тоже не канает, так как исходные данные образуются именно в excel и дальше отчет составляется там же. Сохранять, пересохранять, переоткрывать чтобы сделать это в фортран - надоело :( .

Els
17-07-2007, 20:03
а зачем это нужно?

Talismaner
17-07-2007, 20:08
нужно вобщем .....

корчое две таблицы с результатами расчета. В обоих пропущены какие-то строки (в обоих разные). .... надо собрать эти таблицы в одну. Для этого надо разбить их таким вот образом.

eusi
17-07-2007, 20:09
А если совпадение?

Talismaner
17-07-2007, 20:17
какое совпадение?



Кстати, вложились файлы в обратном порядке. Исходный стоит вторым, а то что требуется - первым.

Kolos
17-07-2007, 20:20
хоспади напиши скрипт из 10 строчек который будет из одного файла брать стрчоку и вставлять во второй файл в строку номер которой указан в первом столце. проблем то

eusi
17-07-2007, 20:28
Если в первом столбце будут у нескольких ячеек одинаковые значения?

Talismaner
17-07-2007, 20:30
не умею хоспади! Мне бы алогоритм какие кнопки нажимать ;)

таких нет

eusi
17-07-2007, 20:44
Кинь табличку, впарю в нее скрипт.

Kolos
17-07-2007, 20:53

ну вот примерно так.
ессно ставь сам сколько те надо ячеек
Sub пример1()
For i = 1 To 10
Sheets("Лист1").Select
k = Sheets("Лист1").Cells(i, 1).Value
Sheets("Лист2").Cells(k, 1).Value = Sheets("Лист1").Cells(i, 1).Value
Sheets("Лист2").Cells(k, 2).Value = Sheets("Лист1").Cells(i, 2).Value
Next

End Sub

Els
17-07-2007, 21:12
с учётом решения Kolosa тебе ещё пару строчек добавить нада. а вообще изучи макросы раз с excel работаешь.
совет: макрос-начать запись... делаешь действия с ячейками...закончить запись... смотришь какие команды в макросе появились.

Talismaner
17-07-2007, 23:01
Спасибо, но табличек дофига и разных ... пока с фортраном видимо буду ...

ну лан, посмотрим макросы, то что написал Kolos пока мало понятно куда вставлять. Изучим)

Els
17-07-2007, 23:15
эхх, заходишь сервис-макрос-макросы
пишешь имя макроса-создать
вставляешь что колос дал
переменную изменяешь на свою(for i=1 to 20000)
всё
потом запускаешь макрос


на счётах уже не считают:)

FDD
23-07-2007, 07:20
Эх, а как же Офис? Он же затем и называется пакетом прикладных программ, что из одной проги в другую данные легко перетаскиваются.
:) Хотел сначала по-программерски решить -по привычке. Но! Есть способ для обычных пользователей.

Говорю наводящие слова: "MS Access",
"Файл->внешние данные->импорт (из MS Excel)".
Вышележащий пункт делаешь два раза.
В единственную таблицу базы данных скидываешь твои две таблицы из Excel (в первый импорт таблица Access должна сама создаться, во второй раз добавляешь в уже существующую из Excel-а).
Желательно чтоб таблицы в документе Excel были разнесены по разным листам.
В конце сортируешь таблицу если надо.

Если Вам, Чудакам, результаты тоже нужны в Excel, то Access-e помимо импорта еще и экспорт есть. Щелкаешь правой кнопкой мыши по таблице -там ты найдешь все что тебе нужно.
:)


Хм, и не лень мне было все это писать!? Элементарные вещи.

excel-ufa
24-07-2007, 18:53
Просмотри пример. сделано с помощью формул. будет считать чуть подольше чем макросы.
Скрой если не нужен столбец G
Столбцы f и h будет ответ.
Лучше будет если вы это выделете все, потом скопировать, правая кнопка, вставить- вставить как значения. т.к формулы будут постоянно пересчитываться при изменении любой ячейки.