![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 30.11.2007
Сообщений: 4
|
![]()
Здравствуйте уважаемые программисты!
Из головной организации прислали 3013 файлов *.xls. Из всех этих файлов нас интерисует только 3-я строка. Подскажите, пожалуйста как в Excel извлечь все эти 3-и строчки в одну новую таблицу. Все файлы я собрала в одном каталоге и переименовала 0001.xls - 3013.xls Не знаю, нужно ли, но я создала таблицу в которой в каждой строке указана ссылка на 1-ю ячейку в нужной 3-ей строке каждой из 3013 таблиц. ввиде: с:\...\[0001.xls]Лист1'!$R3$C1 с:\...\[0002.xls]Лист1'!$R3$C1 .............................. с:\...\[3013.xls]Лист1'!$R3$C1 и поместила в тот же каталог. На этом я и заткнулась. Особых знаний по Excel у меня нет. Помогите, пожалуйста, если не трудно. |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]()
Если извлекать данные программно, то в переименовании файлов нет особой необходимости, однако, учитывая, что Вы проделали всю основную работу, предлагаю сначала решить поставленный вопрос путём нехитрых манипуляций.
1. В меню Сервис выберите команду Параметры, затем выделите закладку Общие и снимите флажок напротив Стиль ссылок R1C1 (в принципе, это не является необходимым условием, но так несколько проще) 2. Затем выделите все ячейки, в которых наличествует созданная Вами строка, типа, с:\...\[0001.xls]Лист1'!$R3$C1 3. В меню Правка выберите команду Заменить (CTRL+H) и в поле Что: введите $R3$C1 а в поле Заменить на: A3, и нажмите кнопку Заменить всё, затем в поле Что: введите C:\...\ а в поле Заменить на: введите либо ='C:\Мои документы\ (если в Вашей строке отсутствует апостроф), либо =C:\Мои документы\ (если апостроф всё же есть) и опять нажмите кнопку Заменить всё (обратите внимание на то, что у Вас имя диска указано с использованием кириллицы, а не латиницы, как это необходимо, поэтому, вместо C возможно придётся использовать С) Примечание : Перед тем как воспользоваться данной кнопкой учтите, что путь должен быть указан верно и в каждой рабочей книге должен наличествовать рабочий лист с указанным именем, в противном случае, Вы просто замучаетесь бороться со стандартными диалоговыми окнами, которые, по идее, должны помочь пользователю исправить неточность. Так что, для начала, имеет смысл потренироваться на одной отдельно взятой ячейке. В результате всех Ваших действий вместо строки, например с:\...\[0001.xls]Лист1'!$R3$C1 Вы должны получить формулу(внешнюю ссылку) ='С:\Мои документы\[0001.xls]Лист1'!A3 где С:\Мои документы - это папка в которой находятся все необходимые рабочие книги. 4. Теперь, не убирая выделения с ячеек, подведите курсор мышки к правому нижнему краю последней ячейки (при этом, курсор мышки изменится и примет вид небольшого чёрного крестика) кликните левой кнопкой мышки и не отпуская эту кнопку переместите курсор мышки вправо на необходимое количество столбцов, после чего отпустите кнопку мышки. Или не убирая выделения нажмите клавиши SHIFT + ПРОБЕЛ и в меню Правка выберите пункт Заполнить и команду Вправо. |
![]() |
![]() |
#3 |
Регистрация: 30.11.2007
Сообщений: 4
|
![]()
Извините пожалуйста за задержку (не работал Интернет).
Всевнесла в таблицу, но возникли новые проблемы: 1. Строки вида ='С:\Мои документы\[0001.xls]Лист1'!A3 так и остались текстом, причем выдается сообщение " Не допустимое имя файла " Если ту же строчку ввести в ручную - все ОК! Как запустить все эти 3013 формул? 2. При размножении на соседние столбцы ссылки не корректируются, а остаются ссылки на А3 ![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]()
1. Если после ручного ввода формула возвращает нужный результат, то Вы можете выделить весь столбец, затем в меню Правка выбрать команду Заменить (CTRL+H), после чего, в появившемся стандартном диалоговом окне в поле Что: ввести = в поле Заменить на: также ввести = и кликнуть кнопку Заменить всё. На всякий случай, после выделения, но перед заменой, можно установить Общий формат для выделенных ячеек (Формат-Ячейки-заладка Число-Общий-Ok) Да, и экспериментировать всё-же имеет смысл на нескольких ячейках.
2. Такой результат можно получить, если в ячейке A3 будет наличествовать текст, и Вы воспользуетесь командой Заполнить-Вправо, впрочем, если же Вы воспользуетесь советом из первого пункта и получите формулы, то эта проблема будет уже неактуальна. 3. В Вашей формуле диск опять указан с использованием кириллицы. |
![]() |
![]() |
#5 |
Регистрация: 30.11.2007
Сообщений: 4
|
![]()
Увы не помогает.
Помогает только ручная замена знаков = и обоих апострофов |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
![]()
Возможно, что Вы что-то упустили из виду, например, забыли упомянуть о какой-то важной детали или просто необратили внимание на какую нибудь "мелочь" из моих предыдущих постов, в любом случае, лучше не гадать на кофейной гуще, а побыстрее решить поставленную проблему. А посему, предлагаю ознакомиться с данным макросом (см.пример)
Обратите внимание на то, что во всех рабочих книгах должен наличествовать рабочий лист с одним и тем же именем, если в какой-то из книг такого листа не окажется, то Excel отобразит диалоговое окно, позволяющее вручную выбрать нужный лист. В случае, если Вы откажитесь от выбора возникнет ошибка, которую можно избежать, если немного изменить пример, или раскомментировать одну строку (см.пример) |
![]() |
![]() |
#7 |
Регистрация: 30.11.2007
Сообщений: 4
|
![]()
Спасибо, но ввиду срочности решения задачи руководство посадило 5 человек и вручную были заменены все =' и второй ' на =' и '
То есть хотели как лучше, а получилось как всегда. |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 22.11.2007
Сообщений: 79
|
![]()
О, жжоте!
Программист за 3 часа напишет программку, которая все сделает за 5 минут, тогда как простой юзер руками целый час ковырялся бы... |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 22.11.2007
Сообщений: 79
|
![]()
Это не мое. Я просто расставил акценты.
В распространенном варианте фраза звучит так: "Настоящий юниксоид за 3 часа напишет программу, которая за 5 секунд сделает то, что обычный пользователь руками делал бы час". ":-) |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
через какую прогу можно управлять компом соседа? | |{ () T | Безопасность, Шифрование | 19 | 24.10.2009 10:09 |
Подскажите по организации Help | SnakeMan | Общие вопросы Delphi | 4 | 26.03.2008 07:22 |
Есть ли возможность управлять драйвером спец. звуковой карты через длл или как то иначе? | chysti | Win Api | 2 | 14.02.2008 12:57 |
как управлять звуком правой и левой колонок с помощью TrackBar? | ZhekON | Win Api | 8 | 12.04.2007 14:50 |