Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

Van_OK

Помогите с Excel

Рекомендуемые сообщения

Смысл такой: например автомобиль выехал в 22:15, а вернулся в 04:20. Как забить в формулу, чтобы считал фактическое время на выезде? И ещё одно условие: необходимо учитывать только ночное время с 22:00 до 06:00 в будни, выходные дни суб и воскр - полностью, и суб и воскр ночное время (с 22:00 до 06:00)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проще маленький макрос написать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите как. С макросами не имел дело вообще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В экселе все просто. Делаешь формат всех ячеек "Время". В первую вводишь время отъезда, во вторую время приезда. Третья у тебя будет результат. Пишешь там знак "=" и потом кликаешь на второй, затем "-" и затем первая ячейка. Это даст тебе разность. Только форматы правильно выбери: контекстное меню --> Формат ячеек--> Вкладка "Число". А вот с твоим условием ничего не понял, но решается тоже дополнительными параметрами в этой же формуле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Справка Excel - поиск по ключевым словам: "Вычисление разницы во времени" - ответ на первый вопрос (правда, придется вводить дату, по-другому никак, там банальное вычитание двух дат-времен, с дополнительным форматированием).

Ну, и вторую проблему можно решить, для удобства преобразовав данные во внутренне представление и задав необходимые интервалы для проверки условий учета времени.

 

Если я правильно понял, что хотел сделать автор. Вроде ТЗ перечитал 3 раза)

post-10138-1287173291_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В экселе все просто. Делаешь формат всех ячеек "Время". В первую вводишь время отъезда, во вторую время приезда. Третья у тебя будет результат. Пишешь там знак "=" и потом кликаешь на второй, затем "-" и затем первая ячейка. Это даст тебе разность. Только форматы правильно выбери: контекстное меню --> Формат ячеек--> Вкладка "Число". А вот с твоим условием ничего не понял, но решается тоже дополнительными параметрами в этой же формуле.

 

Сам смысл составления формул, я знаю. Но не получится так, как ты описываешь. Если машина была на выезде с (А1)22:00 до (А2)04:00, то по формуле А3=А2-А1 и получится что 04:00-22:00=#####

 

Или тут ещё и с датами придётся играться? Что-то никак не соображу :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Alex Novo, смысл верен, но как сделать отдельный учёт часов в выходные и праздничные дни?

И ещё, как задать интервалы для проверки? А то машина на выезде будет находиться, например с 18:40 по 08:00, а учесть надо только интервал с 22:00 до 06:00, а если это окажется выходные дни, то полностью учитывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сам смысл составления формул, я знаю. Но не получится так, как ты описываешь. Если машина была на выезде с (А1)22:00 до (А2)04:00, то по формуле А3=А2-А1 и получится что 04:00-22:00=#####

Здесь ошибка в порядке чисел, вы от большего отнимаете меньшее, а время не может быть отрицательным, вот вам и результат "=#####", надо добавить к 4м часам 24 часа(сутки) - (24:00+04:00)-22:00=06:00

 

Используйте:

 

ДЕНЬНЕД

 

Возвращает день недели, соответствующий аргументу дата_в_числовом_формате. День недели определяется как целое в интервале от 1 (воскресенье) до 7 (суббота).

 

Синтаксис

 

ДЕНЬНЕД(дата_в_числовом_формате;тип)

 

Дата_в_числовом_формате — это число, соответствующее дате, день недели которой необходимо найти. Даты должны вводиться с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для 23-го мая 2008 года следует использовать ДАТА(2008,5,23). Проблемы могут возникнуть, если даты вводятся как текст.

 

Тип — это число, которое определяет тип возвращаемого значения.

 

Тип Возвращаемое число

1 или опущен Число от 1 (воскресенье) до 7 (суббота). Аналогично предыдущей версии Microsoft Excel.

2 Число от 1 (понедельник) до 7 (воскресенье)

3 Число от 0 (понедельник) до 6 (воскресенье)

 

и Вам поможет конструкция ЕСЛИ

 

Возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА, и другое значение, если ЛОЖЬ.

 

Функция ЕСЛИ используется при проверке условий для значений и формул.

 

Синтаксис

 

ЕСЛИ(лог_выражение;значение_если_истина;значение_если_ложь)

 

Лог_выражение — это любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ. Например, A10=100 — это логическое выражение; если значение в ячейке A10 равно 100, то выражение принимает значение ИСТИНА. В противном случае — ЛОЖЬ. Этот аргумент может быть использован в любом операторе сравнения.

 

Значение_если_истина — это значение, которое возвращается, если лог_выражение равно ИСТИНА. Например, если этот аргумент — строка «В пределах бюджета» и лог_выражение равно ИСТИНА, тогда функция ЕСЛИ отобразит текст «В пределах бюджета». Если лог_выражение равно ИСТИНА, а значение_если_истина пусто, то возвращается значение 0. Чтобы отобразить слово ИСТИНА, необходимо использовать логическое значение ИСТИНА для этого аргумента. Значение_если_истина может быть формулой.

 

Значение_если_ложь — это значение, которое возвращается, если лог_выражение равно ЛОЖЬ. Например, если этот аргумент — строка «Превышение бюджета» и лог_выражение равно ЛОЖЬ, то функция ЕСЛИ отобразит текст «Превышение бюджета». Если лог_выражение равно ЛОЖЬ, а значение_если_ложь опущено (то есть после значение_если_истина нет точки с запятой), то возвращается логическое значение ЛОЖЬ. Если лог_выражение равно ЛОЖЬ, а значение_если_ложь пусто (то есть после значение_если_истина стоит точка с запятой с последующей закрывающей скобкой), то возвращается значение 0. Значение_если_ложь может быть формулой.

 

Заметки

 

До 7 функций ЕСЛИ могут быть вложены друг в друга в качестве значений аргументов значение_если_истина и значение_если_ложь для конструирования более сложных проверок. См. последний из приведенных ниже примеров.

Когда значения аргументов значение_если_истина и значение_если_ложь вычислены, функция ЕСЛИ возвращает полученное значение.

Если один из аргументов функции ЕСЛИ является массивом, при выполнении функции ЕСЛИ вычисляются все элементы массива.

Microsoft Excel предлагает дополнительные функции, которые можно применять для анализа данных с использованием условий. Например, для вычисления числа появлений текстовой строки или числа в диапазоне ячеек используйте функцию СЧЁТЕСЛИ. Для вычисления суммы значений, попадающих в интервал, заданный текстовой строкой или числами, используйте функцию СУММАЕСЛИ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё один пример: Машина выехала в пятницу 03:15, а вернулась в субботу в 00:50. Как забить, чтобы посчиталось время с 3:15 до 6:00 пятницы + с 22:00 пятницы до 00:50 субботы и отдельно, что от 00:00 субботы до 0:50 - 50 минут выходного дня.

Совсем мозг сломал себе... может со скриптами проще будет? подскажите чем можите :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, и ещё. Может кому-то нижеследующее объяснит для чего это мне надо и как сделать таблицу правильно.

Итак, есть работники, которые выезжают на автомобильной технике в различное время. По трудовому кодексу, каждый час работы в ночное время (с 22:00 до 06:00) оплачивается в повышенном размере, а работа в выходные и праздничные дни - оплачивается не менее чем в двойном размере.

Я решил облегчить себе работу и не пересчитывать кучу путевых листов и не выискивать, когда работник выезжал ночью, а когда он был привлечен в выходной день. Лучше сейчас помучиться и составить таблицу, чем в конце каждого месяца затрачивать уйму времени на высчитывание времени и составление табеля.

Но не надо кидать указиловки на чтение справки, лучше покажите на примере.

В общем, надеюсь на помощь знатоков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это-то понятно, а как быть с праздничными днями, которые выпадают на пон-пят? И, таки да, придется еще и даты вбивать, комп-то - тупая железяка :) .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Слуш, может, чтобы не изобретать велосипед, посмотришь что-нибудь для себя здесь: http://avtosoft.bitecs.ru/ или здесь: http://www.ksoft.ru/rabota_prazdniki.htm ? А вот еще: http://www.freeware.ru/program_prog_id_27297.html - заметь, все FreeWare.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Van'OK, а чего тебе именно эксель сдался? Может проще готовое решение использовать, как выше подсказали. Или небольшую программку написать, которая тебе все это считать и выгружать в какой-нить файлик будет? Одними ЕСЛИ ты там накрутишь слишком много. Потом сам запутаешься.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начал смотреть = надо мутить и не просто таблицу простую. а с зависимостями.

ps экселька универсал, но для таких заморочек лучше прогу применить отдельную. имхо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Van'OK, а чего тебе именно эксель сдался? Может проще готовое решение использовать, как выше подсказали. Или небольшую программку написать, которая тебе все это считать и выгружать в какой-нить файлик будет? Одними ЕСЛИ ты там накрутишь слишком много. Потом сам запутаешься.

эксель сдался потому, потому что я с ним более-менее знаком. Сделал себе большую таблицу на 27 листах, для создания отчета по горючему и смазочным материалам, учёта пробега и расхода авто техники и тракторов. Хотел и учёт рабочего времени в этот же файл прицепить, но видимо не судьба. попробую найти что-нить из предложенного на сайтах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если до вторника не найдешь, напиши в личку. Я тебе постараюсь ее склепать :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

akm-gala, програмирование для меня - что-то из области неизвестного. На счёт тоо, чтобы найти до вторника, то не знаю... из предложенного Гринчем что-то демки попадаются. Ща ещё парочку скачаю, посмотрим что там.

В экселе хотелось, чтобы всё в одном файле было (вместе с отчётом по ГСМ). Если знаете как, то подайте идейку-образец с формулами в экселе, постараюсь дальше сам наклепать. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
akm-gala, програмирование для меня - что-то из области неизвестного. На счёт тоо, чтобы найти до вторника, то не знаю... из предложенного Гринчем что-то демки попадаются. Ща ещё парочку скачаю, посмотрим что там.

В экселе хотелось, чтобы всё в одном файле было (вместе с отчётом по ГСМ). Если знаете как, то подайте идейку-образец с формулами в экселе, постараюсь дальше сам наклепать. :)

:-) Сегодня попыталась в экселе, немножко не хватает стандартных функций. Заморочено получится проверять в один ли день был отъезд и приезд или в разные. Высчитывать минуты до ночного времени и после. Еще праздники надо куда-то вбить. Во вторник еще подумаю, если мозг не откажется VBA вспомнить, то сделаю в экселе :-) Если нет, то отдельной программкой накидаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сегодня попыталась в экселе, немножко не хватает стандартных функций.

экселька семерка имеет больше функций. Даже примитивный функция ЕСЛИ имеет подкласс ЕСЛИМНого. там очень много условий можно накидать. А ведь даже в тройке приходилось ручками вбивать с множеством скобок до 7 порядка ЕСЛИ :(.

Вашу работу можно накидать с этой функцией проще... но табло с закрытыми секторами сделать и внутренними подсчетами и раскидкой условий...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AMA3OH, 7 вложенных ЕСЛИ для меня - ужас-ужас-ужас. Не люблю я это в экселе. Проще вспомнить VBA.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Van'OK, я безвозмездно помогу :-) Во вторник посижу, подумаю, по-любому придумаю :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты