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

» Excel FAQ (часть 3)

Автор: Leo1000
Дата сообщения: 06.08.2008 14:37
bredonosec

Цитата:
точно?

Да, точно.
В вашей таблице... "64 года", "48 лет" и т.д. - что это?
А по 2 (3?) столбцу - первые 3 строки скорее всего текстовые, как и 7,9-11. 3-5, 8 - похоже на неверно преобразованные в дату. Как вариант, используйте формулу =ДАТАЗНАЧ(ТЕКСТ), где ТЕКСТ - текст, содержащий дату. После этого не забудьте формат ячейки сменить на нужный.
Автор: bredonosec
Дата сообщения: 06.08.2008 16:16

Цитата:
"64 года", "48 лет" и т.д. - что это?

возраст.

Цитата:
первые 3 строки скорее всего текстовые,

отдельно ничего не преобразовывал. так экспортнулось. строк тут больше 300.

Цитата:
После этого не забудьте формат ячейки сменить на нужный.
ручная работа ((

Цитата:
=ДАТАЗНАЧ(ТЕКСТ),

результат - #VALUE!
Автор: Mushroomer
Дата сообщения: 06.08.2008 16:58
bredonosec
Цитата:
имеем дату в формате дд.мм.гг, а надо перекинуть её в гг.мм.дд, чтоб система правильно распознавала. Есть какая-нить ф-я?
=ТЕКСТ(A1;"ГГГГ.ММ.ДД")
Автор: Leo1000
Дата сообщения: 06.08.2008 17:29
bredonosec

Цитата:
ручная работа

Достаточно выделить все ячейки и один раз поменять

Цитата:
результат - #VALUE!

ТЕКСТ - это ячейка с текстом. Ну, допустим, А1. Пример:
Формула: =ДАТАЗНАЧ("28.03.44"), результат 28.03.1944 при формате ячейки ДД.ММ.ГГГГ
Mushroomer

Цитата:
=ТЕКСТ(A1;"ГГГГ.ММ.ДД")

Тут в обратную сторону требуется - из текста в дату.
Автор: Mushroomer
Дата сообщения: 06.08.2008 19:11
Leo1000
Цитата:
Тут в обратную сторону требуется - из текста в дату.
Не уверен. Я привел оригинальную цитату, когда написал эту формулу.

bredonosec
Цитата:
как в англ варианте звучит? поищу в хелпе..
В шапке есть ссылка на таблицу соответствия английских и русских формул.
Автор: olegupb
Дата сообщения: 06.08.2008 19:48
вопрос к знатокам
есть 2 листа
в одном листе около 55000 строк
в другом листе 65536 тоесть максимум
В каждом листе есть столбец "KOD"
в первом листе в этом столбце значения типа "00013215
", "00022562"
во втором листе в этом столбце значения типа "2132150866"
"400022562"
тоесть числа в столбце "KOD" из второго листа содержат в себе числа столбца "KOD" из первого листа.
Проблема:
Как сделать фильтр или ... что либо еще чтобы, например, при запросе 13215 выдавались все строки из этих двух листов(например, в третий лист) в которых в столбце "KOD" присутствует это число?
Автор: Pakum
Дата сообщения: 06.08.2008 22:24
есть таблица A1:Z2. необходимо сравнить значение в ячейке А1 со значением в ячейке А2, В1 и В2 и т.д., и если значения не совпадают выделить ячейку из строки В. Как это решить? Условное форматирование? Как?
Автор: ecolesnicov
Дата сообщения: 06.08.2008 23:08
olegupb
Не совсем понятно ... Эти 2 листа были разъеденены по причине того что на 1 лист все не влазило или же это разнородные таблицы? Если были разъеденены по причине невлезания - то переходите на 2007 и соединяйте все в один лист и фильтруйте обычным автофильтром ... а если разнородные таблицы которые нельзя соединять - без VBA даже так сразу и не скажу ... надо подумать. Уточните все таки - однороные или нет таблицы (может их все таки можно соеденить).

Добавлено:
Pakum
Не совсем понятно ...

Цитата:
выделить ячейку

Что значит выделить? Выделение в Excel - это выделение курсором мышки (или стрелками) диапазона ячеек (возможно и не связанных) для проведения в дальнейшем операций с ними (копирования, очистки, изменения форматирования и пр.). Так что поточнее сформулируйте - для чего вы их хотите выделять? Ведь при любом клике мышкой ваше выделение будет потеряно ... или же вы под словом "выделять" имеете ввиду, например, изменение форматировния ячейки так чтобы текст стал жирным или курсивом (или цвет ячейки черным, а текст белым)? Но это тогда никакое не выделение - а изменение форматирования ...
Автор: volkovmikhail
Дата сообщения: 07.08.2008 10:05
Помогите! Не считаются формулы, копируешь формулу из одной ячейки в другую, формула меняет опреранды как надо, а значение идет из старой ячейки, и внизу рядом с надписью "готово" появилось надпись "вычислить", при создании нового листа проблема сохраняется, но при открытии новой копии программы проблема изчезает... подскажите может я где чего не так нажал?
Автор: ecolesnicov
Дата сообщения: 07.08.2008 12:40
volkovmikhail
Отключен автоматический пересчет. Вручную пересчитывать формулы можно по нажатию F9. Чтобы включить автопересчет назад - надо лезть в настройки Excel.
Автор: olegupb
Дата сообщения: 07.08.2008 12:49
ecolesnicov

Цитата:
Эти 2 листа были разъеденены по причине того что на 1 лист все не влазило или же это разнородные таблицы?

2 разнородные таблицы
Вообще-то это 2 DBF файла
Просто я подумал, что в excel отфильтровать проще будет.

Цитата:
соединяйте все в один лист и фильтруйте обычным автофильтром ...

это возможно. Так как достаточно одного совпадения поля "KOD"
но это:

Цитата:
то переходите на 2007

исключено
Автор: ecolesnicov
Дата сообщения: 07.08.2008 14:59
olegupb
Теперь ясно! Вам например можно использовать Microsoft Query. Ставиться вместе с офисом, позволяет получать данные (в т.ч. в Excel) из внешних источников ODBC (в т.ч. DBASE). Возможно, требуется полная установка Office, а не стандартная (не знаю точно, т.к. всегда ставлю все по максимуму, а при стандартной установке частенько чего-то не хватает). В Microsoft Query и можно настроить запрос (практически аля SQL). Правда эта штука давно не развивается у Microsoft, и работает на шипко быстро (ODBC все-таки). Мне кажетсвя проще использовать какую-либо специализированную тулзу по работе с DBF ... Также можно напрограммировать в Excel все через VBA.
Автор: olegupb
Дата сообщения: 07.08.2008 17:22
ecolesnicov

Цитата:
Microsoft Query

да что-то не очень получается
импортнул из одного файла
а что дальше?

Цитата:
акже можно напрограммировать в Excel все через VBA.

это еще нужно уметь

Неужели нет более простого способа?

Автор: SERGE_BLIZNUK
Дата сообщения: 07.08.2008 22:01
olegupb
Цитата:
в одном листе около 55000 строк, в другом листе 65536... В каждом листе есть столбец "KOD" ...
Как сделать фильтр или ... что либо еще чтобы, например, при запросе 13215 выдавались все строки из этих двух листов (например, в третий лист) в которых в столбце "KOD" присутствует это число?
несколько вопросов:
1) как срочно Вам нужно решить данную задачу?
2) ecolesnicov прав, лучше её решать на исходных DBF файлах! Есть у Вас хотя бы тот же FOXPro 2.6 for DOS ??
3) какого типа поле KOD в исходных DBF файлах?? (судя по ведущим нулям в начале - текстовое?)
4) требования к скорости работы высокие? Если, например, после указания нужного кода в Excel прийдётся подождать результат работы макроса несколько минут - это допустимо?

Автор: bredonosec
Дата сообщения: 08.08.2008 15:51
вопрос есть еще:
усть формула:
=IF(MONTH($E207)=1;IF(DAY($E207)<15;$F207;0);0)
При этом, если в ячейке даты пусто, то значение месяца приравнивается к 1.
Как этого избежать?
Автор: Leo1000
Дата сообщения: 08.08.2008 16:23
bredonosec
=IF($E207<>"";IF(MONTH($E207)=1;IF(DAY($E207)<15;$F207;0);0);0)
Автор: bredonosec
Дата сообщения: 08.08.2008 17:15
сорри, дубль глюкнулся. висел инет, не увидел..
спасибо, функция -самое то, что нужно ))
Автор: Leo1000
Дата сообщения: 08.08.2008 18:05
bredonosec
Ээээ... А пост выше?
Автор: Mushroomer
Дата сообщения: 08.08.2008 19:55
bredonosec
Цитата:
При этом, если в ячейке даты пусто, то значение месяца приравнивается к 1.
Надо сначала проверить (с помощью функции ЕПУСТО), а пусто ли в ячейке?
Автор: olegupb
Дата сообщения: 08.08.2008 21:31
SERGE_BLIZNUK

Цитата:
как срочно Вам нужно решить данную задачу?

на вчера

Цитата:
Есть у Вас хотя бы тот же FOXPro 2.6 for DOS ??

можна на ты. Это не про Вас, а про меня.
есть foxpro, но это будут делать люди которые вообще не знаю что такое компьютер
для них foxpro - катастрофа

Цитата:
требования к скорости работы высокие? Если, например, после указания нужного кода в Excel прийдётся подождать результат работы макроса несколько минут - это допустимо?

да высокие.
Сразу ко мне претензии почему так медленно работает
пока сказал народу копировать из одно листа нужный код, а в другом по автофильтру по условию "содержит" искать соответствующие значения
Автор: SERGE_BLIZNUK
Дата сообщения: 11.08.2008 08:11
olegupb
вот, интересная ситуация.... вроде бы ты ответил, всё уже ясно должно быть...
а что мне сказать (предложить) - не знаю ;-)))

Цитата:
пока сказал народу копировать из одно листа нужный код, а в другом по автофильтру по условию "содержит" искать соответствующие значения

всё, задача решена? Или ты будешь искать другое решение?.. Если да - то нужна ли помощь?.. Если да - то почему ты всё таки остановился на Excel? Может расскажешь подробности - что нужно получить (техническое задание какое)?...
Автор: olegupb
Дата сообщения: 11.08.2008 09:59
SERGE_BLIZNUK

Цитата:
всё, задача решена?

для меня подходит
не знаю насколько удовлетворит работников мой способ

Цитата:
Или ты будешь искать другое решение?..

в идеале хотелось бы чтоб было что-то типа:
на одном листе в автофильтре, например, задал условие и выдало данные с обоих листов.
Я почему-то думал, что это немного проще сделать с помощью excel.

Цитата:
Если да - то нужна ли помощь?..

принимается любое удобное решение

Цитата:
Может расскажешь подробности - что нужно получить (техническое задание какое)?...

нужно просто отфильтровать связанные данные с двух листов по запросу

З.Ы. еще подумал про cronos. Только как туда запихнуть эти две базы пока не знаю
Автор: bredonosec
Дата сообщения: 11.08.2008 12:35
а как зовется функция, когда столбцы превращаются в строки, а строки в столбцы?
Автор: ecolesnicov
Дата сообщения: 11.08.2008 12:47
olegupb

Цитата:
нужно просто отфильтровать связанные данные с двух листов по запросу

Если вопрос ставиться так - то надо написать пользовательскую функцию на VBA (или процедуру), ее вызов можно вытащить на кнопку на листе или в меню. С точки зрения конечного юзера все будет так как хочется (
Цитата:
но это будут делать люди которые вообще не знаю что такое компьютер
)!
Автор: Andrue
Дата сообщения: 11.08.2008 13:04
bredonosec
ТРАНСП(массив)
Автор: bredonosec
Дата сообщения: 11.08.2008 13:58
мож я тупой, но ввод в ячейку ф-лы =TRANSPOSE(H1:AE1) , после растягивания дает полностью идентичную таблицу, никакого переворота

Автор: ecolesnicov
Дата сообщения: 11.08.2008 15:02
bredonosec

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

А не надо растягивать! Надо делать все точно по инструкции! См. справку по этой функции! А именно:
1) пишем формулу в ОДНОЙ ячейке (1-ой). Диапазон ячеек указываем с "$" (типа $A$2:$A$5).
2) Выделяем диапазон КУДА вы хотите транспонировать исходный диапазон (т.е. если исходный по горизонтали, то выделять надо по вертикали, а если исходный по вертикали, то выделять надо по горизонтали), НАЧИНАЯ с ячейки куда вы вписали свою формулу, причем так, что количество выделенных ячеек должно совпадать с количеством ячеек в исходным диапазоне!
3) Нажимаем F2 (прямо после выделения).
4) Нажимаем CTRL+SHIFT+ENTER - эта операция преобразовывает формулу к т.н. "формуле массива" (визуально с фигурными скобками вокруг текста формулы) и собственно говоря, после этого у вас появиться ваш результат!


Добавлено:
bredonosec

А кстати, почему обязательно через функцию нужно делать? Я всегда пользовался Paste Special (Специальная вставка) ... намного удобнее! А если нужна автоматизация более простая - так писал собственную функцию. Кстати в теме про VBA как раз только что написал частичный пример, который это делает.
Автор: SERGE_BLIZNUK
Дата сообщения: 11.08.2008 15:06
bredonosec
перейдите в ячейку с первой формулой =TRANSPOSE(H1:AE1) и нажмите Ctrl-Shift-Enter
в строке формул должны появиться фигурные скобки вокруг формулы (это формула массива)
а потом уже растягивайте...
Автор: olegupb
Дата сообщения: 11.08.2008 15:17
ecolesnicov

Цитата:
то надо написать пользовательскую функцию на VBA (или процедуру), ее вызов можно вытащить на кнопку на листе или в меню.

вот с этим у меня как раз и проблемы.
Как-то не сложилось у меня с VBA
Автор: bredonosec
Дата сообщения: 11.08.2008 17:24
ecolesnicov
лагодарю! что нужно )
Еще вопрос - если имеем в ячейках даты
2007,01,16
2007,01,31
2007,02,15
,,,,
А надо - вкинуть в некий ряд ячеек диапазоны типа "01,16 - 01,31" - это автоматически делается?

фича =concatenation(E3," - ",E4) не дает результата. Остается текстовой..

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Настройка The Bat под gmail.com


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