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

» Excel FAQ

Автор: igana
Дата сообщения: 09.04.2005 20:57
Как высчитать года ,если ввести дату своего рождения а потом вроде через FORMAT CELLS только точно незнаю ,подскажите как точно .........
Автор: altshift
Дата сообщения: 09.04.2005 21:09
igana
Что значит
Цитата:
высчитать
???
Если ты говоришь о простом формате числа, то это действительно идет через формат ячеек - число - дата. А там уже выбираешь то, что больше нравится.
Автор: igana
Дата сообщения: 09.04.2005 22:55
Сначала дату своего рождения потом на дни в году , как то так и показывает сколько тебе лет , только все это примерно
Автор: Robert
Дата сообщения: 09.04.2005 23:30
igana

A
Автор: ivas
Дата сообщения: 10.04.2005 09:26
Robert
Ты сам проверял что получилось? Например в Excel2003 такой функции нет.
igana
В предложенном Robert варианте, но используя =ДНЕЙ360(A1;A2;1) получаешь количество дней, которое мало о чём говорит.
А если тебе надо чётко в формате: лет__ , месяцев__, дней__, то это несколько сложнее (годы бывают високосными, а месяцы разными по количеству дней). Но решение есть даже стандартными функциями.
Автор: Alexdon
Дата сообщения: 11.04.2005 14:19
ivas

Цитата:
Например в Excel2003 такой функции нет.


Excel2003: функция есть если включить пакет анализа
Сервис-надстройки-(если не стоит - ставим галочку "Пакет анализа")
ДОЛЯГОДА англ. вар. YEARFRAC
Автор: ivas
Дата сообщения: 12.04.2005 10:23
Robert
Alexdon
Извините, забыл. Но всё равно, 37,498698 лет как-то не очень понятно. Поэтому

Цитата:
если тебе надо чётко в формате: лет__ , месяцев__, дней__, то это несколько сложнее (годы бывают високосными, а месяцы разными по количеству дней). Но решение есть даже стандартными функциями


Автор: vetal555
Дата сообщения: 13.04.2005 14:32
Как сделать проверку вводимых значений со списком и источником с разных листов?
Автор: ivas
Дата сообщения: 13.04.2005 14:51
vetal555

Цитата:
Как сделать проверку вводимых значений со списком и источником с разных листов?

Чтобы всё было в одном флаконе? Не получится или или, причём: "Для условий "проверка данных" нельзя использовать ссылки на другие листы или книги"
Автор: Alexdon
Дата сообщения: 13.04.2005 18:22
vetal555

Цитата:
Как сделать проверку вводимых значений со списком и источником с разных листов?

"Правильно поставленная задача содержит половину решения".
Подробнее описывайте задачу - чем полнее, яснее - тем точнее решения.

ivas

Цитата:
Для условий "проверка данных" нельзя использовать ссылки на другие листы или книги"

Если использовать название диапазона ячеек - можно обойти это ограничение.
Автор: Silla
Дата сообщения: 13.04.2005 19:04

Цитата:
Если использовать название диапазона ячеек - можно обойти это ограничение.

А можно подробнее.
Заранее спасибо.

Добавлено:
Это про выпадающий список (чтоб в ячейке можно было выбирать значения из спска)?
Автор: Alexdon
Дата сообщения: 13.04.2005 19:21
Silla

Цитата:
Это про выпадающий список (чтоб в ячейке можно было выбирать значения из спска)?

Да -
<Данные> <Проверка> <Список>
Здесь есть ограничение:

Цитата:
ivas
Цитата:Для условий "проверка данных" нельзя использовать ссылки на другие листы или книги"


Однако - присваиваем имя списку <Вставка> <Имя> <Присвоить> "Присвоенное_имя"
И в качестве источника списка в <Данные> <Проверка> <Список> =Присвоенное_имя.
Список может находиться на другом листе.
Автор: ivas
Дата сообщения: 13.04.2005 20:33
Alexdon
Не шуми! Ну не подумал я сразу про присвоение имени. А ты сразу в рукопашную. Нельзя так. Терпимее надо быть.
Автор: vetal555
Дата сообщения: 14.04.2005 05:29
Alexdon
ivas
Зачем тогда в "имя"-"присвоить" многообещающая надпись "формула"? Я и + ставил между ссылок на 2 листа и & короче всякие знаки перепробовал не помогает, обидно
Да, вот ещё вычитал в Help "Присваивание ячейкам имени в нескольких листах при помощи трёхмерной ссылки" , а когда это имя вставляеш в проверку выдаёт "При вычислении источник возникает ошибка" Может чего не так делаю?
Автор: Alexdon
Дата сообщения: 14.04.2005 09:46
vetal555
может задачу можно решить другим способом -
напр. вытянуть из листов значения на один лист - и использовать его как список на одном листе?
Автор: ivas
Дата сообщения: 14.04.2005 09:48
Нет, надо в приглашении для ввода "формула" ввести ссылку на диапазон ячеек нужного листа. Например, =Лист2!$A$1:$A$10 (присвоено имя spisok). А потом Данные, проверка, список =spisok.
Наслаждаемся результатом.
Автор: vetal555
Дата сообщения: 14.04.2005 10:29
Alexdon
Лист1 - список
Лист2 - список
Лист3 - ссылка на лист1&лист2
При добавлении целой строки в середину списка (лист1 либо лист2) очередность ссылки в лист3 сбивается. И ещё в списке некоторые слова повторяются, а в лист3 нужны только уникальные без повтора.Может есть функция которая вытаскивала-бы из лист1,2
в лист3 уникальные слова?

Добавлено:
Нашёл, сводная таблица вытаскивает уникальные слова.
Но тогда получается что нет смысла в проверке потому-что любое введённое слово
будет правильно введённым, парадокс
Автор: Alexdon
Дата сообщения: 14.04.2005 12:38

Цитата:
Может есть функция которая вытаскивала-бы из лист1,2
в лист3 уникальные слова?

Cтандартной насколько мне известно нет. Можно организовать процедуру VBA.
Цитата:
Нашёл, сводная таблица вытаскивает уникальные слова.

можно вручную делать сводный список на листе 3 при помощи сводной таблицы.
можно сделать просто проверку правильности написания через стандартную функцию напр. ВПР.
Автор: Silla
Дата сообщения: 14.04.2005 19:02
Alexdon
ivas
Сенкс.
Вот про равно и забыл.
Сколько времени потратил ... немного обидно.
Автор: icywind
Дата сообщения: 14.04.2005 19:17
Как посчитать число строк, если все они заполненны, я теперь знаю (через Application.countA) - спасибо, ivas. А как быть, если между заполненными попадаются пустые? Как найти адрес самой нижней заполненной строки наиболее простым способом?

И еще такой вопрос - как можно узнать адрес ячейки? А то никак не могу решить задачу: нужно просуммировать n ячеек слева от текущей. Что в функцию SUM подставить надо?
Может есть какое-нибудь свойство или функция, возвращающая адрес ячейки в формате A1?

З.Ы. На второй вопрос частично ответ нашел: "=Sum(RC1:RC[-1])" - суммируются ячейки, находящиеся слева от текущей, начиная с первой. Но как в более общем случае быть, не знаю... Насколько я понял, SUM работает только с адресами ячеек, и никакие формулы внутрь него запихнуть не получится... На конструкцию типа "=SUM(r1.cells(1,1).Address:r1.cells(1,i).Address)" ругается... Как-нибудь это обойти можно?
Мне нужно чтобы макрос именно формулу записывал.

Автор: DYK77
Дата сообщения: 15.04.2005 10:56
Помогите, плиз, горю.
Бился долго над этой задачей. Знаю, что нужно решать в Excel с помощью надстройки «Поиск решения», но что-то не выходит.

В цехе имеются три группы взаимозаменяемого оборудования с мощностями до 400, 850 и 300 норма-часов в месяц. Цех должен выпустить пять видов продукции П в объемх: П1-600 единиц, П2 – 350, П3 – 450, П4 – 500 и П5 – 600. Затраты времени на изготовление единицы каждого вида продукции на первом оборудовании равны 0,3, 0,6, 0,4, 0,8, 0,5 часа, на втором – 0,6, 0,8, 0,7, 1,2 и 0,9, на третьем – 1,4, 0,5, 0,9, 0,6, и 1,0. Затраты на изготовление единицы продукции на первом оборудовании равны 20, 10, 40, 50 и 80 тыс.руб; на втором – 50, 40, 40, 30 и 60 тыс. руб.; на третьем – 65, 90, 30, 20 и 50 тыс. руб. Отпускная цена единицы каждого вида продукции – 80, 100, 60, 50 и 85 тыс. руб. Определить план размещения заказов, гарантирующий выполнение задания с максимальной прибылью.
Сбросьте, плиз, лист excel с решением на мыло DYK77@tut.by.
Заранее благодарен.


Добавлено:
Народ, нужно очень срочно. Помогите.
Автор: Troitsky
Дата сообщения: 15.04.2005 16:01
icywind
Цитата:
как можно узнать адрес ячейки?

а
Код: =АДРЕС(СТРОКА();СТОЛБЕЦ())
Автор: ivas
Дата сообщения: 15.04.2005 17:57
icywind

Цитата:
Мне нужно чтобы макрос именно формулу записывал.

Формулу нужно написАть и проверить отдельно а в макрос вставить строку вида:
Range("а1").FormulaR1C1 = "=проверенная_на_работоспособность_формула"
А в твоей формуле несколько переменных. Нужно их определить и вычислить заранее, а в формулу помещать готовое значение, например:
Set o = SearchObj(ThisWorkbook.Sheets("Данные"), "RestList")
i = Trim(Str(r.[A1].CurrentRegion.Rows.Count))
i = "Реестр!$A$2:$A$" + i
o.ControlFormat.ListFillRange = i
записывает в "формат элемента управления" диапазон списка открывающегося меню, где i - последняя заполненая ячейка.
Автор: icywind
Дата сообщения: 17.04.2005 09:46
ivas
Решил задачу так:

Range("A1").Formula = Sumz(kol), где

Sumz - функция, возвращающая значение типа string, содержащее формулу
kol - переменная, содержащая число строк

Public Function Sumz(kol As Integer) As String

Sumz = "=SUM(R[1]C:R[" & kol & "]C)"

End Function


З.Ы. А можно и сразу строку присваивать:

Range("A1").Formula = "=SUM(R[1]C:R[" & kol & "]C)"
Автор: ivas
Дата сообщения: 17.04.2005 11:34
Правильно. Ты создал функцию (... определённые пользователем), присвоил аргумент, вычислил его и вставил в формулу значение аргумента. Только так.
Автор: defis
Дата сообщения: 19.04.2005 05:17
Вопрос такой - Excel если открывать файл - просто запускается сам Excel - без открытия файла - т.е. надо нажимать Файл - открыть - и находить файл.. Т.е. Excel не может найти файла - будь он расположен хоть локально хоть по сети(это легко понимается - если сделать ярлык на файл - и попробовать запустить). ни с одним из других приложений Microsoft Office такого нет - переустановка не помогла.
Автор: Tropin
Дата сообщения: 19.04.2005 07:51
defis

Цитата:
переустановка не помогла

переустановка чего? офиса или винды?
и вообще это когда-нибудь работало? я имею в виду может офис корявый...
Автор: defis
Дата сообщения: 19.04.2005 09:30
Tropin
Нет. Офис нормальный. Переустанавливал Офис - винду что то думаю пока не нужно.
Автор: ivas
Дата сообщения: 19.04.2005 11:08
defis
Как вариант: может отсутствовать шаблон excel-ского файла в стандартных шаблонах. Проверить: ярлык "Создать документ MS Office", книга excel должна быть в списке.
Кроме того, сравнить Меню Сервис, Параметры, закладка Общие на правильно и неправильно работающих компах.
Автор: pazdak
Дата сообщения: 19.04.2005 17:05
Помогите решить следующую проблему:
Есть документ Excel, в котором 3 листа, на 1 листе куча ссылок на Лист 2.
Лист 3 промежуточный, т.е. на нем подготавливаются данные для 2 Листа.
После того как данные (Лист 3) подготовлены, они должны быть скопированы на Лист 2 используя функцию "Транспонирование" (строки меняет столбцами).

Перед копированием Лист 2 целиком очищается (Правка->Очистить->Все)
С недавних пор скопировать данные не удается (раньше все работало), выдает следующую ошибку:
"Для этого требуется, чтобы ячейки имели одинаковый размер."

Если создать новый лист и проделать эту же процедуру на него, то все отлично вставляется ?.. Но ссылки на Листе 1 не получается привязать к новому листу...

Выделение на Листе 2 этого же диапазона ячеек, что и у копируемого, эфекта не дает (таже ошибка), причем скопировать не получается если пользуешься именно режимом "Специальная вставка"

Подскажите как Лист 2 вернуть в рабочее состояние?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Gentoo Linux


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