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

» Excel FAQ (часть 2)

Автор: co100lom
Дата сообщения: 20.03.2007 17:49
да они уникальны, но не отсортированны, если есть первый елемент в А и В то не значит что они в тотже номер ячейки, как зделать макрос писать ? подскажите смысл плиз
и как можно из *.xls в *.dbf перевести ?
Автор: Vitus_Bering
Дата сообщения: 20.03.2007 18:03
Excel 97, надо в строке таблицы посчитать кол-во значений, не равных нулю.
Как лучше это сделать?
Автор: w25
Дата сообщения: 20.03.2007 18:08
Vitus_Bering
=СЧЁТЕСЛИ(a1:a10;">0")
Автор: Vitus_Bering
Дата сообщения: 20.03.2007 18:21
w25
Спасибо, я предполагал, что это просто.
Автор: SERGE_BLIZNUK
Дата сообщения: 21.03.2007 00:51
co100lom
Цитата:
как можно из *.xls в *.dbf перевести

Файл / Сохранить как "DBF x ...." (из личного опыта могу порекомендовать сохранять как DBF 3 (dBase III) - но сущность это не очень важно.)
а вот важно, чтобы структура была строго табличной, первая строчка будет интерпретироваться как имена полей, поэтому лучше, если в ней будут английские имена полей, не дублирующиеся, без пробелов и не длинее 10 символов (всё равно обрежется - в заголовке DBF на это отводится строго 10 символов).
Кроме того, ничего не должно быть выделено (иначе, Excel пытается преобразовать в DBF именно выделенный диапазон... имхо...)
Попробуйте, объяснять дольше, чем Вы сами разберётесь метод научного тыка ;-))


Цитата:
да они уникальны, но не отсортированны

в ту таблицу, где нужно вставить соответствие в нужную ячейку (справа от искомой) вставьте такую формулу
=ВПР(A1;[Книга2]Лист1!$A$1:$B$12;2;ЛОЖЬ)
(Книга2 - это книга, в которой мы ищем соответствие (считаем что данные в A1:A12)
;2 - возращаем значение из второго столбца Книга2 (в данном случае из столбца B)
ЛОЖЬ - искать ТОЧНОЕ соответствие...

там, где данных нет, вёрнётся #Н/Д
это можно разрулить через проверку свойств ЕНД
=ЕСЛИ( ЕНД(B1);""; ВПР(A1;[Книга2]Лист1!$A$1:$B$12;2;ЛОЖЬ))


Vitus_Bering
Цитата:
не равных нулю.
если действительно - "не равных", тогда надо ещё учесть отрицательные значения...
например, так:
=СЧЁТЕСЛИ(A1:A10;">0")+СЧЁТЕСЛИ(A1:A10;"<0")
Автор: gyurza2000
Дата сообщения: 21.03.2007 01:26
Всем доброе время суток, это опять я, Россельхознадзор
Помогите решить несложную задачку:
Есть две ячейки (A1 и B1), они могут содержать значения 1,2,3,не класс
Как сделать, что бы в ячейке С1 сравнивались значения в A1 и B1 и выводилось наибольшее значение (не класс > 3) ?
Автор: SERGE_BLIZNUK
Дата сообщения: 21.03.2007 01:51
gyurza2000
Цитата:
Как сделать, что бы в ячейке С1 сравнивались значения в A1 и B1 и выводилось наибольшее значение (не класс > 3)

=ЕСЛИ(ИЛИ(A1="не класс";B1="не класс");"не класс";МАКС(A1;B1))
Автор: gyurza2000
Дата сообщения: 21.03.2007 02:15
Гениально, спасибо
Автор: glaptev
Дата сообщения: 21.03.2007 12:29
Меню Параметры страницы -> Колонтитулы позволяет выбрать колонтитул из предопределенного списка.

Вопрос: можно ли добавить в этот список несколько своих вариантов? Excel позволяет определить свой колонтитул, но предопределенный список изменять и расширять не дает (или это у меня глюк?)
Автор: AuthorR
Дата сообщения: 21.03.2007 21:45
Вопрос в следующем:
в ячейке 1 - год (например 2006)
в ячейке 2 - номер недели (например 46 - НОМНЕДЕЛИ(;2))

Как с помощью ФОРМУЛЫ получить в любой из ячеек на основании данных ячейки 1 и ячейки 2 - дату - первый день указанной недели указанного года?
Решал ли кто-либо такую задачу?
Автор: Mushroomer
Дата сообщения: 21.03.2007 22:51
AuthorR
Сначала подумал, что сложно будет. А потом передумал.
1) переводим 1 января указанного года в число: =ДАТАЗНАЧ("01.01."&A1)
2) прибавляем число дней предыдущих недель (B1-1)*7
3) + 1 это первый день искомой недели.
4) ну потом =ДЕНЬ(C1)&"."&МЕСЯЦ(C1)&"."&ГОД(C1)
Единственный минус, что 20 января 2001 будет 20.1.2001
Т.е. общая формула такая =ДЕНЬ(ДАТАЗНАЧ("01.01."&A1)+(B1-1)*7+1)&"."&МЕСЯЦ(ДАТАЗНАЧ("01.01."&A1)+(B1-1)*7+1)&"."&ГОД(ДАТАЗНАЧ("01.01."&A1)+(B1-1)*7+1)

Добавлено:
Подумал еще и понял, что я возможно неправ. А надо ли учитывать, что 1 января может попасть на середину недели? Тогда надо еще и признак делимости на 7 учитывать. Т.е. надо учесть смещение от 1 января, чтобы закончилась неделя со старого года.
Автор: gyurza2000
Дата сообщения: 22.03.2007 08:10
Ещё задачка от Россельхознадзора
в колонке А перечислены пестициды, в строке 1 перечислены культуры, на которых данные пестициды применяются. Соответственно, если данный пестицид на данной культуре применяется, то на пересечении стоит "+", если нет тогда "-". Можно ли сделать так что бы вводишь в одной ячейке название культуры, а в соседней вываливается перечень пестицидов, которые на этой культуре можно применять?
Автор: Mushroomer
Дата сообщения: 22.03.2007 08:42
gyurza2000
Не пойдет так? Накладываешь автофильтр на первую строчку с культурами, а затем выбираешь в автофильтре у нужной культуры +.
Сделал я это. Не нравится (не удобно). Неодобство имхо заключается в том что, чтобы перейти к следующей культуре, надо автофильтр сбросить.
Автор: SERGE_BLIZNUK
Дата сообщения: 22.03.2007 10:18
AuthorR
Цитата:
Как с помощью ФОРМУЛЫ получить в любой из ячеек на основании данных ячейки 1 и ячейки 2 - дату - первый день указанной недели указанного года?

ай, что за прелесть эта задачка!!!
А вот тут начинается разнобой и шатания - первой число недели - это обязательно липонедельник?? разные программы по разному это интерпретируют:
календарь в ChamelonClock (и в моём SonyEricsson) считают, что 1.1.2006 - это 52 неделя (2005 года), а 2.01.2006 - это начало 1-й недели 2006 года.
А вот Excel (НОМНЕДЕЛИ) считает что 1.1.2006 - это первая неделя, а вторая начинается с 08.01.2006...
Вам то что надо получить?!
если вы согласны, что начало 2-й недели 2006 года = 8.01.2006, тогда Вам поможет формула
=ДАТАЗНАЧ("01.01."&A1)+(B1-1)*7
не забудьте формат ячейки сделать "Дата"


Добавлено:
Mushroomer
Цитата:
=ДЕНЬ(ДАТАЗНАЧ("01.01."&A1)+(B1-1)*7+1)....
мне кажется, что с +1 Вы погорячились - имхо, это не нужно в любом случае...


Добавлено:

gyurza2000
Цитата:
в колонке А перечислены пестициды, в строке 1 перечислены культуры, на которых данные пестициды применяются.

Если Вас не смущает использование модуля на VBA - тогда
попробуйте такое решение (общая идея - при изменении в ячейке A10 (выбранная культура) - находим в каком столбце эта культура и потом, проверяя по столбцу "+", добавляем в строку валидации нужные пестициды...
) [more]
Таблицу с примером положил сюда

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim frm As String
frm = ""
If Target.Address = "$A$10" Then
For Each c In Range(Range("B1"), Range("H1")).Cells
If c.Value = Target.Value Then
RowCulture = c.Column
Exit For
End If
Next
For i = 2 To 7
If Cells(i, RowCulture).Value = "+" Then
frm = frm & "," & Cells(i, 1).Text
End If
Next i
With Range("B10").Validation
.Delete
.Add Type:=xlValidateList, Formula1:=frm
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = False
End With
End If
End Sub
Автор: Mushroomer
Дата сообщения: 22.03.2007 11:52
SERGE_BLIZNUK
Цитата:
мне кажется, что с +1 Вы погорячились - имхо, это не нужно в любом случае...
Ага, точно

Цитата:
не забудьте формат ячейки сделать "Дата"
Не получается. При данных 2001 и 1-ая неделя в ячейке все равно отображается 1.1.2001. А хотелось чтобы 01.01.2001
Автор: SERGE_BLIZNUK
Дата сообщения: 22.03.2007 13:16
Mushroomer
Цитата:
Не получается.

$-)) так вы же просто поставьте формулу =ДАТАЗНАЧ("01.01."&A1)+(B1-1)*7
тогда получится ;-))
(кстати, это Ваше же решение, я его чуть упростил ;-))
Автор: kos501
Дата сообщения: 22.03.2007 14:23
Привет, форумчане!
Такой вопрос:
подскажите с помощью какой последовательности формул можно проверить заданный диапазон и при совпадении условию что данные в строке < или = 1,5 то копировать из данного диапозона строку и вставить в указанное место
Автор: zoom3r
Дата сообщения: 22.03.2007 15:59
здрасьте! помогите плз решить задачу следующего характера:
в книге excel несколько листов, на каждом из них список товаров. 1 лист товары начинающиеся на А-Б, 2 - В - Г и т.д. + есть один лист, где все они перечислены от А до Я. Как сделать так, чтобы вбивая данные на последнем листе (А-Я) - эти данные отображались в соответствующих графах на других листах автоматически?
Автор: SERGE_BLIZNUK
Дата сообщения: 22.03.2007 16:50
kos501
Цитата:
подскажите с помощью какой последовательности формул можно проверить заданный диапазон и при совпадении условию что данные в строке < или = 1,5 то копировать из данного диапозона строку и вставить в указанное место

как только вы заводите речь о "вставить в указанное место", "скопировать на другой лист" и т.д. - то это сразу - программирование на VBA -
Excel VBA

Как вариант (если Вас устроит) - можно пойти через фильтрацию данных....
Автор: Fil_2071
Дата сообщения: 22.03.2007 20:28
Есть много файлов со схожими данными. Можно ли их объединить в один файл? На подобии функции в Worde "Вставить файл"?
Автор: gyurza2000
Дата сообщения: 23.03.2007 01:25

Цитата:
SERGE_BLIZNUK
Если Вас не смущает использование модуля на VBA - тогда
попробуйте такое решение (общая идея - при изменении в ячейке A10 (выбранная культура) - находим в каком столбце эта культура и потом, проверяя по столбцу "+", добавляем в строку валидации нужные пестициды...


что то не работает, или я не понял как?
Какую бы культуру в ячейке А10 я не выбрал , в ячейке В10 всегда остаются 3 одни и те же пестицида - буль, мурь и щавель
Автор: ZORRO2005
Дата сообщения: 23.03.2007 10:35
gyurza2000

Цитата:
в колонке А перечислены пестициды, в строке 1 перечислены культуры, на которых данные пестициды применяются. Соответственно, если данный пестицид на данной культуре применяется, то на пересечении стоит "+", если нет тогда "-". Можно ли сделать так что бы вводишь в одной ячейке название культуры, а в соседней вываливается перечень пестицидов, которые на этой культуре можно применять?

Очень хорошая задача.
1.В колонке A пестициды надеюсь не повторяются?
2.Если вместо "+" поставить соответствующие названия культур,то точно
получится,а вот с плюсами надо еще подумать
---------------------------------
Друзья,вопрос не в тему.
Где найти следующую настройку в форуме:
Когда добавляется сообщение в топике,нужно чтобы приходил MAIL
Типа такой-то только что ответил в теме, на которую Вы подписались
Автор: Mushroomer
Дата сообщения: 23.03.2007 13:06

Цитата:
Где найти следующую настройку в форуме:
Когда добавляется сообщение в топике,нужно чтобы приходил MAIL
Типа такой-то только что ответил в теме, на которую Вы подписались

у каждого топика вверху есть: Версия для печати • Подписаться • Добавить в закладки
В нужном топике нажми на Подписаться
Upd: Сорри. Копировал цитату в ПМ, чуть отвлекся и подумал что я уже в личном сообщении, хотя находился в топике Т.е. хотел ответить в ПМ, а ответил в топике.
Автор: SERGE_BLIZNUK
Дата сообщения: 23.03.2007 14:26
gyurza2000
Цитата:
что то не работает, или я не понял как?
Какую бы культуру в ячейке А10 я не выбрал

похоже макросы у Вас отключены..
в настройки Excel - Сервис / Параметры / Безопасность
внизу кнопочка Безопасность макросов... Выберите "Средняя" (похоже у Вас стоит высокая и все макросы автоматически блокируются). Плюс, если у Вас антивирус (например, Касперский, тоже разрешите выполнение макросов! (или временно отключите его)...

Автор: gyurza2000
Дата сообщения: 24.03.2007 00:52
Да, нашёл где в 2k7 Excel безопасность настраивается, действительно макросы отключены были, работает твой вариант...правда...VBA...а нельзя ли как то реализовать формулами такую возможность, без макросов, ибо я в програмании ничего не понимаю и боюсь не смогу тюнинговать твой вариант под свои нужды
Автор: Linda
Дата сообщения: 24.03.2007 02:58
Что-то сообразить быстро не могу (ступор). Подскажите.
Есть столбец С, который является результатом умножения двух других столбцов - А*В - построчно:
А В С
2 3 6
12 2 24
..............
Копирую столбец С отдельно на другой лист, вылазит #ССЫЛКА.
Вопрос: как скопировать только значения столбца С на другой лист "безболезненно"? (ведь речь идет о большом количестве строк)

Заранее спасибо.
Автор: Mushroomer
Дата сообщения: 24.03.2007 03:10
Linda
Если нужны именно значения (а не формулы), то через копирование, но вставка должна быть специальной. Т.е. после копирования в меню надо выбрать Правка -> Специальная вставка -> Значения.
Автор: Rakey
Дата сообщения: 25.03.2007 18:15
Нужна помощь по следующему вопросу. Есть два столбца с количеством и ценой и нужно выбрать n-строк или по цене или по количеству, но не более суммы или(количества)указанной в третьем столбце. Остаток после выборки в четвёртый столбец
Спасибо.
Автор: AuthorR
Дата сообщения: 25.03.2007 21:45

Добавлено:
Решал ли кто-либо такую задачу:
в ячейках столбца есть текст (без разрывов между строками, то есть без пустых строк), например в диапазоне A2:A9:

Решал
ячейках
столбца
есть
текст
пустых
строк
например

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

есть
например
пустых
Решал
столбца
строк
текст
ячейках

Те же слова, но по алфавиту.
Если не ясно изложил, жду уточняющих вопросов.
Автор: Leschak
Дата сообщения: 25.03.2007 22:11
Возможно? Развернуть окно и использовать ярлыки листов вертикально - в листе (справа) будет инфа - а сама книга как записная - ярлыки слева и с прокруткой - их много.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

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


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