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

» Excel FAQ (часть 5)

Автор: ALeXkRU
Дата сообщения: 14.10.2015 11:28
Vidocqq

Цитата:
ЗЫ Вопрос снимаю, поскольку решение найдено.

после чего должно бы следовать изложение найденного решения...

для последующих, так сказать
Автор: slgold
Дата сообщения: 14.10.2015 12:20
Подскажите, возможно ли Печать на каждой странице - сквозные строки:
сделать так, что бы была первая строка и шестая на последующих страницах.
$1:$6 -это все шесть строк будут повторяться на всех страницах. А нужно типа $1:$1 и эта $6:$6
Как корректно записать?
P.S. Excel 2003
Автор: Zigic
Дата сообщения: 14.10.2015 18:48
Ребят, подскажите решение, ума не приложу что делать нужно
http://s017.radikal.ru/i425/1510/65/09730e426166.png
Автор: likbez
Дата сообщения: 19.10.2015 15:59
в "умных" инструкциях описано - как просто сделать выборку через расширенный фильтр - например - всех строк, в которых в одном столбце значения начинаются с...:

".... Настроим фильтр для отбора строк, которые содержат в наименовании Товара значения начинающиеся со слова Гвозди. Этому условию отбора удовлетворяют строки с товарами гвозди 20 мм, Гвозди 10 мм, Гвозди 10 мм и Гвозди.

Табличку с условием отбора разместим разместим в диапазоне А1:А2. Табличка должна содержать также название заголовка столбца, по которому будет производиться отбор. В качестве критерия в ячейке А2 укажем слово Гвозди."

в нашем случае - значения, в основном, числа, перепробовали многое - объявляли их и числовыми, и текстовыми, и брали в разные типы кавычек, и даже писали ="777" - но никак и ничего не находит. как это лечить?Software error:

/home2/forum/forum.ru-board.com/data/boardstats.cgi did not return a true value at /home2/forum/forum.ru-board.com/post.cgi line 1143.
For help, please send mail to the webmaster (root@host1), giving this error message and the time and date of the error.
Автор: Deeaf
Дата сообщения: 21.10.2015 13:59
likbez
Приложите пример файла в котором не работает. И какая версия Excel у вас?
Автор: mrdime
Дата сообщения: 21.10.2015 18:18
Господа,
Есть талица с кучей строк и колонок. В одной колонке указывается принадлежность к организации (1 или 0), в другой - участие в определенном проекте (тоже все значения либо 1, либо 0).
Надо создать такой фильтр, чтобы были отображены ВСЕ записи, которые имееют 1 в колонке 1 (принадлежность к организации), а также ВСЕ записи, которые имеют 1 в колонке 2 (участие в определенном проекте).
Т.е. фактически ВСЕ записи, которые имеют 1 в 1-й колонке, даже если имеют 0 во 2-й и при этом ВСЕ записи, которые имеют 1 в колонке 2, даже если в колонке 1 у них 0.
Возможно ли такое в приницпе средствами Excel?
Автор: SFC
Дата сообщения: 21.10.2015 18:43

Цитата:
Возможно ли такое в приницпе средствами Excel

Как вариант создать столбец / столбцы, в которых будет 0 или 1 на соответствие каждому из критериев, и фильтровать уже по ним
Автор: mrdime
Дата сообщения: 22.10.2015 12:52
SFC

Цитата:
Как вариант создать столбец / столбцы, в которых будет 0 или 1 на соответствие каждому из критериев, и фильтровать уже по ним

Спасибо за подсказку. Пока других (лучших) идей нет, так и сделал.
Автор: slgold
Дата сообщения: 22.10.2015 18:11

Цитата:
Подскажите, возможно ли Печать на каждой странице - сквозные строки: сделать так, что бы была первая строка и шестая на последующих страницах. $1:$6 -это все шесть строк будут повторяться на всех страницах. А нужно типа $1:$1  и эта $6:$6 Как корректно записать? P.S. Excel 2003

Ку-Ку!!!
Не ужели нет ответа?!?!?
Автор: SFC
Дата сообщения: 22.10.2015 20:31

Цитата:
Ку-Ку!!!

Как вариант: добавь строку после первой.
Эту вторую строку заполни формулами ссылками из бывшей шестой.
т.е. в ячейку A2 поставь =A7, в B2 поставь =B7 в C2 поставь =C7 и т.д.

Теперь у тебя есть первая строка и вторая строка которая равна бывшей шестой.
Все.
Выводи на печать сквозные строки первую и вторую

Добавлено:
можно сузить вторую строку чтобы она не муляла. Выводиться на печать она все равно будет
Автор: slgold
Дата сообщения: 23.10.2015 15:36
SFC
Спасибо!
Вполне изящное решение! Сам бы не додумался.
Автор: Grisha_Tamashi_SAN
Дата сообщения: 28.10.2015 15:55
Может кому пригодится.

Скрипт позволяет скопировать данные из защищенного от копирования инфы файла xls.

----conv.vbs
Const xlFrmt = 39 ' Format Excel 2003 for Excel 2003
'Const xlFrmt = 56 ' Format Excel 2003 for Excel 2010
with CreateObject("Excel.Application")
.DisplayAlerts =False
.WorkBooks.Open(WScript.Arguments(0)).SaveAs WScript.Arguments(0),xlFrmt
.quit
end with

with CreateObject("Excel.Application")
.DisplayAlerts =False
.WorkBooks.Open(WScript.Arguments(0))
.ActiveSheet.Name = "2"
.Worksheets.Add.Name = "List12345"
.Sheets("2").Select
.Columns("A:F").Select
.Selection.Copy
.Sheets("List12345").Select
.Columns("A:A").Select
.ActiveSheet.Paste
.Sheets("2").Select
.Application.CutCopyMode = False
.ActiveWindow.SelectedSheets.Delete
.ActiveWorkBook.SaveAs WScript.Arguments(0),xlFrmt
.quit
end with
----
З.Ы. Копируются первые 6 столбцов
Автор: Fsp050
Дата сообщения: 04.11.2015 12:57
помогите ,пожалуйста с округлением времени
вот файл
http://rghost.ru/8XHfMVzB7
если значение за 14 минут до начала следующего часа, то округлить к следующему часу+1 минута
(пример: если 22:46, то округлить до 23:01)
если значение в интервале от 00 до 15 мин, то округлить до 01 ( пример, если 01:08 , то округлить до 01:01)
если значение в интервале от 15 до 45 мин, то округлить до 31 (пример: если 20:44, то округлить до 20:31)
Автор: ALeXkRU
Дата сообщения: 04.11.2015 17:55
Fsp050

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



ну, можно как-то так..

смотри жёлтый столбик:

Код: [no]=ЕСЛИ(И(МИНУТЫ(B2)>=0;МИНУТЫ(B2)<15);B2-ВРЕМЯ(0;МИНУТЫ(B2)-1;0);ЕСЛИ(И(МИНУТЫ(B2)>=15;МИНУТЫ(B2)<=31);B2+ВРЕМЯ(0;31-МИНУТЫ(B2);0);ЕСЛИ(И(МИНУТЫ(B2)>=32;МИНУТЫ(B2)<=45);B2-ВРЕМЯ(0;МИНУТЫ(B2)-31;0);ЕСЛИ(И(МИНУТЫ(B2)>45;МИНУТЫ(B2)<=59);B2+ВРЕМЯ(0;61-МИНУТЫ(B2);0)))))[/no]
Автор: VictorKos
Дата сообщения: 04.11.2015 18:41
ALeXkRU

Цитата:
Наверняка, если посидеть-подумать, можно упростить...    


Код: =ЕСЛИ(И(МИНУТЫ(B2)>=0;МИНУТЫ(B2)<15);ВРЕМЯ(ЧАС(B2);1;0);
ЕСЛИ(И(МИНУТЫ(B2)>=15;МИНУТЫ(B2)<=45);ВРЕМЯ(ЧАС(B2);31;0);
ЕСЛИ(МИНУТЫ(B2)>45;ВРЕМЯ(ЧАС(B2);61;0))))
Автор: ALeXkRU
Дата сообщения: 04.11.2015 20:56
VictorKos

Цитата:
тоже работает

так и я об чём

Добавлено:
VictorKos

Цитата:
работает...

хммм.. хотя, нет: в файле-образце исходное значение
Цитата:
31.12.2013 22:48:00

поэтому, и первая и вторая формулы возвращают
Цитата:
00.01.1900 23:01

Автор: VictorKos
Дата сообщения: 04.11.2015 21:26
ALeXkRU
Да, о дате я не подумал, исходный файл посмотрел позже...
Решил, что тема чисто о времени.
Вроде бы должно было помочь добавить к формуле значение даты из ячейки (+ЦЕЛОЕ(B2)), но при переходе на следующие сутки дата почему-то не изменяется... Функция ВРЕМЯ игнорирует целую часть числа.
***
Как-то так:

Код: =ВРЕМЯ(ЧАС(B2);ВПР(МИНУТЫ(B2);{0;1:15;31:46;61};2;1);0)+ЕСЛИ(B2-ЦЕЛОЕ(B2)>0.990277;ЦЕЛОЕ(B2)+1;ЦЕЛОЕ(B2))
Автор: Fsp050
Дата сообщения: 05.11.2015 07:21
Друзья
А можно вот это же прописать, но в виде логических условий
if ? then ? else ? endif
ну или в таком
if ? then ? elseif ? then ? else ? endif
Автор: ALeXkRU
Дата сообщения: 05.11.2015 12:08

Цитата:
в виде логических условий


типа того:

Если конечное время нужно вычислять (а нельзя просто задать значение):
Вариант (с увеличением часа на 1 в последние 14 минут, если в предыдущем варианте не работает автоматом):


Код: if (datetime_minute(TIME)>=0 and datetime_minute(TIME)<15)
then (datetime_minute(TIME)=datetime_minute(TIME)-datetime_minute(TIME)+1)
elseif (datetime_minute(TIME)>=15 and datetime_minute(TIME)<=31)
then (datetime_minute(TIME)=datetime_minute(TIME)+31-datetime_minute(TIME))
else if (datetime_minute(TIME)>=32 and datetime_minute(TIME)<=45)
then (datetime_minute(TIME)=datetime_minute(TIME)-datetime_minute(TIME)-31)
elseif (datetime_minute(TIME)>45 and datetime_minute(TIME)<=59)
then (datetime_hour(TIME)=datetime_hour(TIME)+1
datetime_minute(TIME)=datetime_minute(TIME)-datetime_minute(TIME)+1)
endif
endif
Автор: Fsp050
Дата сообщения: 05.11.2015 17:05
все очень гуд)
Автор: Germanus
Дата сообщения: 17.11.2015 21:31
Друзья, помогите пожалуйста.
Есть таблица, куда каждый день девочки заносят группу значений, на основании чего вычисляется последняя ячейка в вводимой ими строке.
Следующая строка опирается на это значение в своих вычислениях и т.д.
Все работает. НО! Значение в этой вычисляемой ячейке должно быть не более 6ти значного числа. Типа счетчика, дошло до 999999 и пошло с 000000. И вот перевалило за 1000000.
Вопрос, как отсечь первую цифру? Просто вставить проверку, типа, если разрядов больше чем X, то отсечь первое число. Как то так. Но хотелось бы без трехэтажных матюков.
Чувствую, что есть что-то элегантное и простое, но найти не могу.
Подсобите пожалуйста.
Заранее большое спасибо.
Автор: vikkiv
Дата сообщения: 17.11.2015 23:51
Germanus
если в А1 стоит 556677 то получить пятизначное меньшее число можно следующей функцией =right(A1,5)+0
если в А2 стоит 55667788 то получить шестизначное меньшее число можно следующей функцией =right(A2,6)+0
ноль добавляется чтобы стринг конвертировать в число т.к. функция текстовая, можно тоже самое и умножением на единицу типа =right(A2,6)*1
Автор: Futurism
Дата сообщения: 18.11.2015 17:20
Подскажите как в экселе сделать операцию обратную натуральному логарифму
например ln(6000)=8,69
а как обратно разлогарифмировать?))

а все вопрос решил. Там же экспонента есть (exp)
я просто не сразу не понял где она там
Автор: Alexey87
Дата сообщения: 19.11.2015 10:50
Уважаемые форумчане, помогите, пожалуйста, построить график (если это возможно в Excel)

мои попытки (план технического обслуживания и ремонта тракторов)

примерный результат
Автор: Germanus
Дата сообщения: 19.11.2015 11:38
vikkiv
Спасибо, с этим понял. А как выставить условие, которое бы проверяло текущее количество разрядов?
Автор: vikkiv
Дата сообщения: 19.11.2015 13:15
Germanus
если в поле только цифровой целочисленный формат то можно так: =LEN(А1)
если дробные то так: =LEN(INT(А1))
вместе с условием проверки (дробные в целые): =IF(LEN(INT(A1))>6,RIGHT(INT(A1),6)+0,INT(A1))
если там текстовые данные то целую часть не отделить..
возможен другой путь для получения разрядности (тоже только для целых), сравнение результата деления на 10^х, например 7654321/(10^6)=7.... что больше 1, т.е. =IF(A1/(10^6)>=1,RIGHT(A1,6)+0,A1)

только зачем это? начальный вариант будет обрабатывать оба сценария (большей и меньшей разрядности) в соответствии с исходным заданием (короткие так и оставит, длинные обрежет)
Автор: Germanus
Дата сообщения: 19.11.2015 15:53
vikkiv
Не получается у меня . Вот у меня в F52 есть число 1000027. Оно есть результатом вычислений по формуле в этой ячейке. Сижу, ломаю голову и эксель, но не могу понять, как мне в эту формулу вклеить проверку на разрядность, чтобы получилось в результате 27, а не 1000027.
Формула там такая, если это важно: =ЕСЛИ(A53=0;ЕСЛИ(A52<>0;7*(СЕГОДНЯ()-A52)+D52;0);7*(A53-A52)+D52)
Текущие значения A52= 23.10.2015, D52=999838
Автор: vikkiv
Дата сообщения: 19.11.2015 16:46
Germanus
=right(твоя_длинная_формула_здесь,6)+0 ?
Автор: Germanus
Дата сообщения: 19.11.2015 18:47
Если я правильно понимаю и RIGHT соответствует ПРАВСИМВ в русском офисе, то, увы, не работает. Выдает ошибку. Выделяет при этом запятую и 6. Пробовал сменить запятую на точку запятой (так как даже в справке офиса белиберда какая-то: в синтаксисе указана запятая, а в примерах точка с запятой), тогда принимает формулу (не выскакивает окно с ошибкой) но в ячейке вместо результата: #ИМЯ?
Автор: NeNeZ
Дата сообщения: 20.11.2015 02:57
Germanus

Цитата:
Выдает ошибку.

да не, не выдаёт ошибок:

Код: [no]=ПРАВСИМВ(ЕСЛИ(A53=0;ЕСЛИ(A52<>0;7*(СЕГОДНЯ()-A52)+D52;0);7*(A53-A52)+D52);6)+0[/no]

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121

Предыдущая тема: Trojan Remover 6.81 Build 2594


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