Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ (часть 2)

Автор: Robert
Дата сообщения: 03.09.2006 03:02
Yuk
Aleks1977

Согласен, что повторный расчёт - это нехорошо. Но в данном случае не шла речь об оптимизации кода и ускорении обработки больших таблиц. Я специально привёл решение с использованием только стандартных средств MS Excel без применения VBA.

Если подойдёт псевдопустая ячейка вместо нулевого значения, то можно в условном форматировании поставить условие - формулу =ЕНД(A1)=ИСТИНА и в качестве формата задать цвет текста равным цвету фона (стандартно - белый). Тогда в ячейке по-прежнему будет содержаться значение #Н/Д, но отображаться будет пустая ячейка, как и отображалась бы ячейка с нулём при снятом параметре Отображать нулевые значения. Это, разумеется, подходит в случае, когда полученные значения - самоцель, а не используются для вычислений.

Не поленился и протестировал на большой таблице. Вариант с двумя ВПР оказался быстрее, чем с функцией IsError (на 10000 ячейках примерно на 2 сек.). Сам не ожидал
Автор: sizop
Дата сообщения: 03.09.2006 11:16
Yuk
Время будет, попробую сделать, как ты сказал.

Цитата:
Укажи, какие ячейки тебе надо использовать.

По столбцу В выбирается РЭС (район электросетей), С - место установки, это подстанции, которых несколько в одном районе и в итоге надо определить кабельную линию - стоблец D - диспетчерское наименование. Я понимаю так, что надо будет делать три раскрывающихся списка?

Цитата:
А простой вариант с объединением ячеек тебе не подходит?

С этого момента поподробней пожалуйста! (С)
Автор: Mushroomer
Дата сообщения: 03.09.2006 11:24
sizop
Цитата:
С этого момента поподробней пожалуйста!
В листе,где у тбя все данные, делается дополнительный столбец, куда склеиваются значения, по которым идет поиск. Этот столбец делается первым и функция ВПР ищет по нему.
Автор: sizop
Дата сообщения: 03.09.2006 15:37
Mushroomer
Дааа... этот способ в моем случае достаточно проблематичный, но если других вариантов не найдется, то придется как то приспосабливаться.
Автор: Yuk
Дата сообщения: 03.09.2006 20:13
Robert
Да я не был против твоего способа, тем более что он оказался даже быстрее. Всегда лучше обойтись без ВБА, если это возможно. Просто захотелось поэкспериментировать. Спасибо за тестирование.

sizop
Из каких ячеек берутся данные для поиска?
Кстати, результаты поиска получаются неуникальные. Как ты собираешься выбирать?
Или я не правильно понял задачу?
Автор: sizop
Дата сообщения: 04.09.2006 05:25
Yuk
Конечная цель - паспорт конкретной кабельной линии. Вот в том то и дело, что их наименования уникальны только для определенной подстанции и определенного РЭС. В этом и заключается суть проблемы, из РЭС выбрать подстанцию (место установки), далее выбрать кабельную линию и потом уже данные именно этой КЛ загнать в паспорт на отдельный лист.
Автор: Yuk
Дата сообщения: 04.09.2006 06:20
sizop
Где же уникально? Взять хотя бы первую попавшую комбинацию:

АрРЭС    П/ст Аромашево    КЛ-10 1ТСН
АрРЭС    П/ст Аромашево    КЛ-10 2ТСН
АрРЭС    П/ст Аромашево    КЛ-10 Заготзерно
АрРЭС    П/ст Аромашево    КЛ-10 Комхоз

И так практически для всех комбинаций.


Добавлено:
И с другой стороны:

ГРЭС    П/ст Голышманово    КЛ-10 1ТСН
ИРЭС    П/ст Ишим    КЛ-10 1ТСН
СРЭС    П/ст Сорокино    КЛ-10 1ТСН
СРЭС    П/ст Викулово    КЛ-10 1ТСН
Автор: sizop
Дата сообщения: 04.09.2006 06:26
Yuk

Цитата:
АрРЭС П/ст Аромашево КЛ-10 1ТСН

но ведь эта комбинация уникальна.
на АрРЭС П/ст Аромашево может быть только одна КЛ-10 1ТСН
Автор: Yuk
Дата сообщения: 04.09.2006 06:42
sizop
Задача была поставлена так:

Цитата:
и в итоге надо определить кабельную линию - стоблец D - диспетчерское наименование

Что есть 3-й столбец выше. И который надо определить по первым 2-м столбцам. Которые, как я показал, дают неоднозначный ответ. Разве не так?
Автор: sizop
Дата сообщения: 04.09.2006 06:58
Yuk
Может я не так выразился
но я понимаю так, что надо определить кабельную линию конкртного РЭСа, конкретной подстанции, взять по нему данные (полностью эта строка) и определить эти данные в паспорт на отдельном листе.
Автор: Yuk
Дата сообщения: 04.09.2006 07:09
sizop
ОК. Отсюда вопрос. Какую из 4-х возможных кабельных линий конкретного РЭСа и конкретной подстанции ты выберешь?
см. http://forum.ru-board.com/topic.cgi?forum=5&topic=19106&start=680#20

Либо ты задаешь все 3 параметра, включая КЛ, и выводишь остальный данные из строки в паспорт? Так?
Автор: sizop
Дата сообщения: 04.09.2006 07:10
Yuk

Цитата:
Либо ты задаешь все 3 параметра, включая КЛ, и выводишь остальный данные из строки в паспорт? Так?

точно! это реально?
Автор: Yuk
Дата сообщения: 04.09.2006 07:21
sizop
Рельно. Откуда берутся данные для поиска? Из каких ячеек?
В какие ячейки надо подставить данные по конкретной КЛ?
Автор: sizop
Дата сообщения: 04.09.2006 07:28
Yuk

Цитата:
Откуда берутся данные для поиска?

Не понял вопроса! Может создать отдельный лист со списком РЭСов и подстанций? Только вот с КЛ будет сложнее, список постоянно меняется, то добавляют, то демонтируют.

В общем я представляю это примерно так (в смысле как хотелось бы).
У меня на отдельном листе составлен бланк паспорта. В разделе РЭС, из раскрывающегося списка выбирается РЭС. В разделе подстанции, также из раскрывающиегося списка, в котором имеются ТОЛЬКО те подстанции которые находятся в выбранном РЭСе, выбирается подстанция. Далее соответственно также выбирается КЛ, из списка тех КЛ, которые присутствуют на подстанции.
Автор: Yuk
Дата сообщения: 04.09.2006 07:42
sizop
Вот именно это от тебя и надо было. Долго же времени понадобилось прояснить задачу.
Что-то подобное я делал совсем недавно. Надо порыскать по форуму.
Короткие ответ - это делается через VBA. Готов разбираться?
Автор: sizop
Дата сообщения: 04.09.2006 08:05
Yuk
С VBA не сталкивался ни разу, но если будет кому объяснить готов разобраться.
Автор: Yuk
Дата сообщения: 04.09.2006 09:21
sizop
Вот здесь было как заполнить раскрывающийся список:
http://forum.ru-board.com/topic.cgi?forum=5&topic=19106&start=480#13
Вобщем, сделать реально, но потребуется время.
А я пока
Автор: Zan
Дата сообщения: 04.09.2006 11:31
Изменение вывода строк

Есть Excel-ий файл с книгами. Выводится он по первому столбцу, в котором 1) 2) 3)...

А я хотел бы вывести по пятому столбцу -- там дата издания. Ещё хотелось бы вывести по второму столбцу, там автор(ы).

Как сделать это в Excel?

Спасибо.

Автор: Mushroomer
Дата сообщения: 04.09.2006 14:18
Zan
Что значит выводится? Печается? Отображается на экране? Ты хочешь отсортировать как тебе нужно?
Автор: Zan
Дата сообщения: 04.09.2006 14:55
Mushroomer
Да, отображаться на экране. Ну и, если можно, с последующй возможностью распечатать.

Автор: Reata
Дата сообщения: 04.09.2006 15:07

Цитата:
[/q]

Цитата: здравствуйте, наверно на широких просторах 28 страниц мой вопрос уже был, но искать нет сил, поэтому извинит, если повторяюсь:

Есть готовый файл excel, ячейки заполняются только из предлагаемого списка, то есть когда встаешь на ячейку появляется рядом значок выпадающего (или раскрывающегося, точно не знаю как правильно назвать) списка. Если пытаешься записать другое, говорит - ошибка, выберите из списка. И все, не знаю как добавить , удалить или редактировать эти списки. К спискам автозаполнения это не имеет никакого отношения, т.к. в Сервис-параметры- списки - этого списка нет. Пыталась найти в справке по экселю, даже нашла программу-самоучитель по экселю, ничего! Помогите, знатоки!

Далее мне подсказали, что надо пойти

Данные -> проверка -> тип данных -> Список
Ок, только в источнике указано "= улицы"
ПОДСКАЖИТЕ где этот источник улицы? это бралось из какого-то другого файла? или в этом же где-то припрятано?


Цитата:
Reata
Нажми Ctrl+F3 или Вставка->Имя->Присвоить.
Появится диалоговое окно Присвоение имени
Там ты увидишь свои улицы и где они расположены.

[q]Ок, все заработало! спасибо всем
Автор: Zan
Дата сообщения: 04.09.2006 15:50

Цитата:
Изменение вывода строк

Нашёл: Данные -> Сортировка
Автор: Yuk
Дата сообщения: 04.09.2006 21:50
sizop
Продолжение в Excel VBA.
Автор: publisher1
Дата сообщения: 05.09.2006 08:30
Подскажите пожалуйста, как в ексэле можно сделать следующее:

Есть список предприятий продающих разные продукты, по месяцам. Есть листы в ексэле с транзакциями 3 продуктов в разрезе по месяцам (т.е. на листе 1 данные по продукту А в резрезе по месецам всех предприятий, на 2 листе данные по продукту Б в разрезе по месяцам всех предприятий). Необходимо чтобы данные по одному из выбранных мной предприятий выводились на одном листе (что то наподобие формы, см ниже). При этом при выборе предприятия данными автоматически заполнялись бы ячейки (июнь, июль, август) по тем транзакциям которые есть у данного предприятия представленные на листе 1 и 2?
Спасибо!

июнь июль август
Предприятие а продукт а 50 45 50
Предприятие а продукт б 45 20 56

Автор: ZORRO2005
Дата сообщения: 05.09.2006 20:10
Reata
Привет опять
Данные-->Проверка
Затем
Параметры,в типе данных выбираешь Список
В источнике выбираешь столбец или строку с твоими данными
или пишешь данные через ;
Например: Первомайская;Гарибальди;Крупская
Автор: kazavo4ka
Дата сообщения: 06.09.2006 08:07
Подскажите пожалуйста, хочу в ячейке написать "3-4", набираю а он мне переводин в дату (3 апр), в формате ячеек поставил Общий формат - сбрасывается...
Автор: pikvvik
Дата сообщения: 06.09.2006 08:51
2 kazavo4ka

Цитата:
поставил Общий формат - сбрасывается...

поставь текстовый...
Автор: kazavo4ka
Дата сообщения: 06.09.2006 08:54
pikvvik
Спасибо, чот я сам не додумался.
Автор: The Invisible
Дата сообщения: 06.09.2006 21:22
Как в экселе сделать
чтоб при клике по ячейке к числу в ячейке прибовлялась единица
можно ли такое сделать?
Автор: Yuk
Дата сообщения: 06.09.2006 23:08
The Invisible
Вообще-то вопрос по VBA. Ну да ладно:

Код: Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
Target.Value = Target.Value + 1
End If
End Sub

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Дайте рабоч ссылку плзз на MultiSet (1.9 и более) с crack


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.