Что такое двоеточие в excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel Web App Excel для iPhone Excel для планшетов с Android Excel 2010 Excel 2007 Excel для Mac 2011 Excel для телефонов с Android Excel для Windows Phone 10 Excel Mobile Еще…Меньше

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

Типы операторов

Приложение Microsoft Excel поддерживает четыре типа операторов: арифметические, текстовые, операторы сравнения и операторы ссылок.

Для выполнения основных математических операций, таких как сложения, вычитания или умножения или объединения чисел, и получения числовых результатов, используйте арифметические операторы в этой таблице.

Арифметический оператор

Значение

Пример

+ (знак «плюс»)

Сложение

=3+3

– (знак «минус»)

Вычитание
Отрицание

=3–1
=–1

* (звездочка)

Умножение

=3*3

/ (косая черта)

Деление

=3/3

% (знак процента)

Доля

=20 %

^ (крышка)

Возведение в степень

=2^3

С помощью операторов в таблице ниже можно сравнить два значения. При сравнении двух значений с помощью этих операторов результатом является логическое значение TRUE или FALSE.

Оператор сравнения

Значение

Пример

= (знак равенства)

Равно

=A1=B1

> (знак «больше»)

Больше

=A1>B1

< (знак «меньше»)

Меньше

=A1<B1

>= (знак «больше или равно»)

Больше или равно

=A1>=B1

<= (знак «меньше или равно»)

Меньше или равно

=A1<=B1

<> (знак «не равно»)

Не равно

=A1<>B1

Используйте амперсанд (&) для объединения или объединения одной или нескольких текстовых строк для создания одного фрагмента текста.

Текстовый оператор

Значение

Пример

& (амперсанд)

Соединяет или сцепляет два значения для получения одного непрерывного текстового значения.

=»North»&»wind»

Объедините диапазоны ячеек для вычислений с этими операторами.

Оператор ссылки

Значение

Пример

: (двоеточие)

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

=СУММ(B5:B15)

, (запятая)

Оператор Union, объединяющий несколько ссылок в одну ссылку.

=СУММ(B5:B15;D5:D15)

(пробел)

Оператор пересечения, который создает ссылку на ячейки, общие для двух ссылок.

=СУММ(B7:D7 C6:C8)

# (решетка)

Символ #используется в нескольких контекстах:

  • Используется как часть имени ошибки.

  • Используется, чтобы указать недостаточно места для отрисовки. В большинстве случаев столбец можно расширить до тех пор, пока содержимое не отобразится должным образом.

  • Оператор пролитого диапазона, который используется для ссылки на весь диапазон в формуле динамического массива.

  • #ЗНАЧ!

  • #####

  • =СУММ(A2#)

@ (по адресу)

Оператор ссылки, который используется для определения неявного пересечения в формуле. 

=@A1:A10

=СУММ(Таблица1[@[Январь]:[Декабрь]])

Порядок выполнения действий в формулах Excel

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

Формулы вычисляют значения в определенном порядке. Формула в Excel всегда начинается со знака равенства (=). Знак равенства сообщает Excel, что следующие символы составляют формулу. После этого знака равенства можно вычислить ряд элементов (операндов), разделенных операторами вычислений. Excel вычисляет формулу слева направо в соответствии с определенным порядком для каждого оператора в формуле.

Если в одной формуле используется несколько операторов, Microsoft Excel выполняет операции в порядке, указанном в приведенной ниже таблице. Если формула содержит операторы с одинаковым приоритетом — например, операторы деления и умножения, — они выполняются слева направо.

Оператор

Описание

: (двоеточие)

(один пробел)

, (запятая)

Операторы ссылок

Знак «минус»

%

Процент

^

Возведение в степень

* и /

Умножение и деление

+ и —

Сложение и вычитание

&

Объединение двух текстовых строк в одну

=
< >
<=
>=
<>

Сравнение

Чтобы изменить порядок вычисления формулы, заключите ее часть, которая должна быть выполнена первой, в скобки. Например, приведенная ниже формула возвращает значение 11, так как Excel вычисляет умножение перед добавлением. Формула сначала умножает 2 на 3, а затем добавляет 5 к результату.

=5+2*3

Напротив, если для изменения синтаксиса используются круглые скобки, Excel 5 и 2, а затем умножает результат на 3, чтобы получить 21.

=(5+2)*3

В приведенном ниже примере скобки, включаемые в первую часть формулы, принудит Excel сначала вычислить B4+25, а затем разделить результат на сумму значений в ячейках D5, E5 и F5.

=(B4+25)/СУММ(D5:F5)

Просмотрите это видео по порядку операторов в Excel, чтобы узнать больше.

Преобразование Excel значений в формулах

При вводе формулы Excel ожидает определенные типы значений для каждого оператора. Если ввести значение, отличное от ожидаемого, Excel может преобразовать это значение.

Формула

Производит

Описание

= «1»+»2″

3

При использовании знака «плюс» (+) Excel числа в формуле. Хотя кавычки означают, что «1» и «2» являются текстовыми значениями, Excel автоматически преобразует текстовые значения в числа.

= 1+»$4,00″

5

Если формула ожидает числа, Excel преобразует текст, если он имеет формат, который обычно принимается для числа.

= «1.06.2001»-«5/1/2001»

31

Excel интерпретирует текст как дату в формате мм/дд/дд/yyyy, преобразует даты в серийные числа, а затем вычисляет разницу между ними.

=SQRT («8+1»)

#ЗНАЧ!

Excel не удается преобразовать текст в число, так как текст «8+1» не может быть преобразован в число. Для преобразования текста в число и возврата результата 3 можно использовать «9» или «8»+»1″ вместо «8+1».

= «A»&TRUE

ATRUE

Если текст ожидается, Excel преобразует числа и логические значения, такие как TRUE и FALSE, в текст.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

  • Базовые математические Excel

  • Использование Excel в качестве калькулятора

  • Полные сведения о формулах в Excel

  • Рекомендации, позволяющие избежать появления неработающих формул

  • Поиск ошибок в формулах

  • Сочетания клавиш и горячие клавиши в Excel

  • Функции Excel (по алфавиту)

  • Функции Excel (по категориям)

Нужна дополнительная помощь?

F3:F11 — это диапазон, но вы вводите его в месте, где уместно указать только одно значение, поэтому Excel пытается выбрать одно значение из диапазона, используя следующие правила:

  • Если диапазон находится в одном столбце (как это есть), Excel выбирает ячейку из этого столбца в той же строке, что и ссылающаяся ячейка (или ошибка #VALUE! если диапазон не пересекает эту строку)
  • Если диапазон находится в одной строке, Excel выбирает ячейку из этой строки в том же столбце, что и ссылающаяся ячейка (или ошибка # #VALUE! если диапазон не пересекает этот столбец)
  • Если диапазон является двухмерным, Excel выбирает ячейку из той же строки и столбца, что и ячейка ссылки (или ошибка # #VALUE! если диапазон не пересекает строки и столбцы диапазона) — очевидно, это работает только тогда, когда диапазон и вызывающая ячейка находятся на разных листах

Внимание:

  • Если ссылка на диапазон дается там, где диапазон или массив уместны, будет использоваться весь диапазон — поэтому в ячейке M4 =F3:F11+1 будет 31, но =sum(F3:F11,1) будет 331.
  • Если эта формула будет введена как формула массива (используя ctrl+shift+enter) в одной и той же ячейке, она вернет весь массив, но вы увидите только одну ячейку, поскольку это все, что вписывается в диапазон результатов. Результат будет 10. Предположительно Google ARRAYFORMULA работает так же.

Когда это полезно?

В общем, я не люблю использовать это поведение при обращении к ячейке в той же таблице — обычная относительная ссылка (F4) работает так же хорошо, и мне не нужно беспокоиться о том, как мои формулы будут интерпретировать ссылку. (См. Предостережение выше.)

Однако одно из применений — это когда вы хотите, чтобы один рабочий лист совмещался один с другим. Я могу привести нужные столбцы в ссылку на столбец (например, =Sheet1!$A:$A) и пусть остальные столбцы будут вычисляемыми полями. Я мог бы сделать это и с относительной ссылкой (например, =$A1 и перетащить вниз), но ссылки на столбец имеют преимущества — я могу вставлять, удалять или сортировать строки в исходном листе, не нарушая ссылок. (С ссылками на одну ячейку я получу, при вставке, строку, отсутствующую в ссылочных данных; при удалении, #REF! ошибка; на сортировке, эти два листа больше не будут в том же порядке.)

Содержание

  1. Ускорение ввода значений в формате ВРЕМЯ в EXCEL
  2. Изменяем формат ячейки
  3. Преобразование в формат времени
  4. Excel двоеточие в функции
  5. 1 ответ 1
  6. Оператор неявного пересечения: @
  7. Обновленный язык формул
  8. Что такое неявное пересечение?
  9. Почему выбран именно символ @?
  10. Можно ли удалить @?
  11. Когда @ добавляется в старые формулы?
  12. Примеры
  13. Использование оператора @ в новых формулах
  14. Дополнительные сведения
  15. Операторы вычислений и приоритет
  16. В этой статье
  17. Типы операторов
  18. Арифметические операторы
  19. Операторы сравнения
  20. Текстовый оператор конкатенации
  21. Операторы ссылок
  22. Порядок выполнения действий в формулах Excel
  23. Порядок вычислений
  24. Приоритет операторов

Ускорение ввода значений в формате ВРЕМЯ в EXCEL

history 10 апреля 2013 г.

При частом вводе данных в формате времени (2:30), необходимость ввода двоеточия «:» серьезно снижает скорость работы. Возникает вопрос: Можно ли обойтись без ввода двоеточия?

В EXCEL при вводе данных в формате времени есть возможность избежать ввода двоеточия.

Изменяем формат ячейки

Пример Пусть нам требуется вводить часы и минуты каких-нибудь событий.

  • Выделите ячейку А1 .
  • Отобразите вкладку Число окна Формат ячеек ( Главная/ Число/ Формат ячеек или нажав CTRL+1 выберите вкладку Число).
  • В списке Числовые форматы выберите Все форматы.
  • В поле Тип введите #»:»00 или 00″:»00 (в чем разница будет показано ниже)
  • Нажмите ОК .

Теперь можно вводить время, используя только числа. Введем в A1 число 230 и в ячейке увидим значение 02:30, если был установлен формат 00″:»00 и 2:30, если формат #»:»00. Для 4-х значных чисел оба формата дадут одинаковый результат.

Необходимо учитывать, что ячейка не содержит значение в формате времени, она содержит число 230. В этом можно убедиться, посмотрев на Строку формул – в ней отображается 230, а не 2:30. Изменив формат ячейки на пользовательский , мы изменили лишь формат отображения значения.

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

Преобразование в формат времени

EXCEL интерпретирует введенное значение 2:30 (т.е. «2 двоеточие 30»), как время, т.е. устанавливает Формат ячейки Время, затем вводит в ячейку число 0,104167 (но в Строке Формул отображается 2:30:00. Если изменить формат ячейки на Число , то увидим 0,104167). Откуда взялось это число 0,104167? В форматах Время и Дата принято, что одним суткам соответствует число единица. Соответственно, один час в формате даты это 1/24 (т.к. в сутках 24 часа), а одна минута – 1/(24*60)=1/1440. Число 0,104167 из 2:30 получается так: 2 часа/24 + 30 минут/1440.

Для тех, кто не хочет возиться с двоеточием и кому нужны значения в формате Времени — алгоритм такой (см. файл примера ):

  • в ячейку А1 вводим дату без двоеточия, в виде числа, например 230;
  • устанавливаем пользовательский формат времени 00″:»00 (если необходимо);
  • в любой другой ячейке, например В1 , пишем формулу =(ЦЕЛОЕ(A1/100)/24)+ ((A1-(ЦЕЛОЕ(A1/100)*100))/1440) (получаем 0,104167);
  • меняем формат ячейки В1 на Время и получаем полноценное время – 2:30. С этим значением можно производить вычисления в формате ВРЕМЯ.

В файле примера также показано как ускорить ввод в формате чч:мм:сс (обязательно должны быть указаны часы, т.е. число должно быть >10000, т.е. 1:00:00).

Там же, «по просьбе телезрителей», показано как преобразовать любое число от 1 до 235959 в формат чч:мм:сс. Причем можно указывать только секунды, минуты и секунды, ну и конечно часы, минуты и секунды.

Еще задача: Если пользователь захотел сохранить значение времени 5 часов 23 минуты в числовом формате 5,23, т.е. часы в целой части числа, а минуты в дробной после запятой, то формула для перевода в стандратный формат времени следующая:

в итоге, после применения формата ячейки ч:мм, получим 5:23.

Источник

Excel двоеточие в функции

Я изучаю функции и моделирование Excel в Google, а также метод проб и ошибок, поэтому просто хочу уточнить следующий момент, чтобы понять мои основные положения:

Когда дело доходит до двоеточия в Excel, я понимаю, что это означает определение диапазона ячеек, но когда я вхожу =F3:F11 Excel дает результат 30. Могу ли я знать, почему это так? Я пытался интерпретировать это с помощью усреднения / режима и т.д. И оценивал формулу, но не смог найти никакого логического смысла.

1 ответ 1

F3:F11 — это диапазон, но вы вводите его в месте, где уместно указать только одно значение, поэтому Excel пытается выбрать одно значение из диапазона, используя следующие правила:

  • Если диапазон находится в одном столбце (как это есть), Excel выбирает ячейку из этого столбца в той же строке, что и ссылающаяся ячейка (или ошибка #VALUE! если диапазон не пересекает эту строку)
  • Если диапазон находится в одной строке, Excel выбирает ячейку из этой строки в том же столбце, что и ссылающаяся ячейка (или ошибка # #VALUE! если диапазон не пересекает этот столбец)
  • Если диапазон является двухмерным, Excel выбирает ячейку из той же строки и столбца, что и ячейка ссылки (или ошибка # #VALUE! если диапазон не пересекает строки и столбцы диапазона) — очевидно, это работает только тогда, когда диапазон и вызывающая ячейка находятся на разных листах
  • Если ссылка на диапазон дается там, где диапазон или массив уместны, будет использоваться весь диапазон — поэтому в ячейке M4 =F3:F11+1 будет 31, но =sum(F3:F11,1) будет 331.
  • Если эта формула будет введена как формула массива (используя ctrl+shift+enter) в одной и той же ячейке, она вернет весь массив, но вы увидите только одну ячейку, поскольку это все, что вписывается в диапазон результатов. Результат будет 10. Предположительно Google ARRAYFORMULA работает так же.

Когда это полезно?

В общем, я не люблю использовать это поведение при обращении к ячейке в той же таблице — обычная относительная ссылка ( F4 ) работает так же хорошо, и мне не нужно беспокоиться о том, как мои формулы будут интерпретировать ссылку. (См. Предостережение выше.)

Однако одно из применений — это когда вы хотите, чтобы один рабочий лист совмещался один с другим. Я могу привести нужные столбцы в ссылку на столбец (например, =Sheet1!$A:$A ) и пусть остальные столбцы будут вычисляемыми полями. Я мог бы сделать это и с относительной ссылкой (например, =$A1 и перетащить вниз), но ссылки на столбец имеют преимущества — я могу вставлять, удалять или сортировать строки в исходном листе, не нарушая ссылок. (С ссылками на одну ячейку я получу, при вставке, строку, отсутствующую в ссылочных данных; при удалении, #REF! ошибка; на сортировке, эти два листа больше не будут в том же порядке.)

Источник

Оператор неявного пересечения: @

В рамках значительного обновления языка формул Excel в целях обеспечения поддержки динамических массивов был добавлен оператор неявного пересечения. Динамические массивы обеспечивают новые существенные вычислительные операции и функциональные возможности для Excel.

Обновленный язык формул

Обновленный язык формул Excel практически идентичен старому, за исключением того, что в нем используется оператор @, который указывает, в каких случаях может происходить неявное пересечение, тогда как в старом языке это никак не отображалось. В результате вы можете заметить, что символ @ появляется в некоторых формулах при открытии в Excel с динамическим массивом. Обратите внимание, что ваши формулы будут вычисляться так же, как и раньше.

Что такое неявное пересечение?

Логика неявного пересечения сводит множество значений к одному. Это было реализовано в Excel для того, чтобы формула возвращала одно значения, т.к. ячейка может содержать одно значение. Если ваша формула возвращала одно значение, значит неявное пересечение ничего не делало (хотя технически это происходило в фоновом режиме). Этот процесс описан ниже.

Если значением является один элемент, возвращается этот элемент.

Если значением является диапазон, возвращается значение из ячейки, находящейся в той же строке или столбце, что и формула.

Если значением является массив, выберите значение слева вверху.

С появлением динамических массивов Excel больше не ограничивается возвратом отдельных значений из формул, поэтому скрытое неявное пересечение больше не требуется. Если раньше формула могла незаметно выполнять неявное пересечение, то теперь динамические массивы позволяют Excel показывать неявное пересечение при помощи символа @ в соответствующем месте.

Почему выбран именно символ @?

Символ @ уже используется в ссылках на таблицы для обозначения неявного пересечения. Рассмотрим следующую формулу в таблице =[@Column1]. Здесь символ @ указывает, что в формуле должно применяться неявное пересечение для получения значения в той же строке из [Столбец1].

Можно ли удалить @?

Зачастую это возможно. Это зависит от того, что именно возвращает часть формулы справа от символа @:

Если она возвращает одно значение (наиболее распространенный случай), от удаления @ ничего не изменится.

Если она возвращает диапазон или массив, удаление символа @приведет к переносуего в соседние ячейки.

Если удалить автоматически добавленный символ @, после чего открыть книгу в более старой версии Excel, формула будет отображаться как устаревшая формула массива (заключенная в фигурные скобки <>); это делается для того, чтобы в старой версии не выполнилось неявное пересечение.

Когда @ добавляется в старые формулы?

Как правило, функции, которые возвращают диапазоны или массивы с несколькими ячейками, будут иметь префикс @, если они были созданы в более старой версии Excel. Важно отметить, что поведение формулы при этом не меняется — просто теперь вы можете увидеть ранее невидимое неявное пересечение. К распространенным функциям, которые могут возвращать диапазоны с несколькими ячейками, относятся функции ИНДЕКС, СМЕЩЕНИЕ и пользовательские функции (UDF). Распространенным исключением является случай, когда они заключены в функцию, которая принимает массив или диапазон (например, SUM() или AVERAGE()).

Примеры

Как видно в динамическом массиве Excel

Никаких изменений — неявное пересечение произойти не могло, поскольку функция SUM ожидает диапазоны или массивы.

Никаких изменений — неявное пересечение произойти не могло.

Произойдет неявное пересечение, и Excel вернет значение, связанное со строкой, в которой находится формула.

Неявное пересечение возможно. Функция ИНДЕКС может возвращать массив или диапазон, если ее второй или третий аргумент равен 0.

Неявное пересечение возможно. Функция OFFSET может возвращать диапазон с несколькими ячейками. В этом случае может иметь место неявное пересечение.

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

Использование оператора @ в новых формулах

При создании или редактировании в Excel с функцией динамических массивов формулы с оператором @ она может отображаться как _xlfn. SINGLE() в версии Excel без динамических массивов.

Это происходит при выполнении смешанной формулы. Смешанная формула — это формула, которая основывается как на вычислении массива, так и на неявном пересечении. Такой возможности не было до появлении Excel с динамическими массивами. В версиях без динамических массивов поддерживались только формулы, в которых выполнялось неявное пересечение i) или вычисление массива ii).

Когда Excel с функцией динамических массивов обнаруживает создание «смешанной формулы», будет предложен вариант формулы с неявным пересечением. Например, если ввести =A1:A10+@A1:A10, отобразится следующее диалоговое окно:

Если вы отклоните формулу, предложенную в диалоговом окне, будет выполнена смешанная формула =A1:A10+@A1:A10 . Если позже вы откроете эту формулу в версии Excel без функции динамических массивов, она будет отображаться как =A1:A10+_xlfn.SINGLE(A1:A10) с символами @в смешанной формуле, имеющей такой вид: _xlfn.SINGLE(). При вычислении этой формулы с помощью Excel без функции динамических массивов будет возвращено значение #NAME! значение ошибки #ЗНАЧ!.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Источник

Операторы вычислений и приоритет

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

В этой статье

Типы операторов

Существует четыре различных типа операторов вычислений: арифметические, сравнительные, текстовые (объединение текста) и ссылки.

Арифметические операторы

Выполнение основных математических операций, таких как с добавление, вычитание или умножение; объединить числа; и получить числовые результаты, используйте в формуле арифметические операторы:

Возведение в степень

Операторы сравнения

Операторы сравнения используются для сравнения двух значений. При сравнении двух значений с помощью этих операторов результатом является логическое значение ИСТИНА или ЛОЖЬ.

= (знак «больше или равно»)

Больше или равно

Текстовый оператор конкатенации

С помощью амперсанд (&) можно совмещать (объединять) одну или несколько текстовых строк, чтобы получить один фрагмент текста.

Соединение или объединение последовательностей знаков в одну последовательность

В этом примере между двумя словами вставляется пробел. Знак пробела определяется пробелом в открывающих и закрывающих кавычках (» «).

Операторы ссылок

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

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

; (точка с запятой)

Оператор объединения. Объединяет несколько ссылок в одну ссылку.

Оператор пересечения, который возвращает ссылку на ячейки, общие с диапазонами в формуле. В этом примере ячейка C7 находится в обоих диапазонах, поэтому это пересечение.

Порядок выполнения действий в формулах Excel

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

Порядок вычислений

Формулы вычисляют значения в определенном порядке. Формула в Excel всегда начинается со знака равно (=). Знак равно означает Excel что последующие символы образуют формулу. После знака равно вычисляются элементы (операнды, например числа или ссылки на ячейки), разделенные операторами вычислений (такими как +, -, *или /). Excel вычисляет формулу слева направо в соответствии с определенным порядком для каждого оператора в формуле.

Приоритет операторов

Если в одной формуле используется несколько операторов, Microsoft Excel выполняет операции в порядке, указанном в приведенной ниже таблице. Если формула содержит операторы с одинаковым приоритетом — например, операторы деления и умножения, — они выполняются слева направо.

Источник

При частом вводе данных в формате времени (2:30), необходимость ввода двоеточия «:» серьезно снижает скорость работы. Возникает вопрос: Можно ли обойтись без ввода двоеточия?

В EXCEL при вводе данных в формате времени есть возможность избежать ввода двоеточия.

Изменяем формат ячейки

Пример Пусть нам требуется вводить часы и минуты каких-нибудь событий.

  • Выделите ячейку А1 .
  • Отобразите вкладку Число окна Формат ячеек ( Главная/ Число/ Формат ячеек или нажав CTRL+1 выберите вкладку Число).
  • В списке Числовые форматы выберите Все форматы.
  • В поле Тип введите #»:»00 или 00″:»00 (в чем разница будет показано ниже)
  • Нажмите ОК .

Теперь можно вводить время, используя только числа. Введем в A1 число 230 и в ячейке увидим значение 02:30, если был установлен формат 00″:»00 и 2:30, если формат #»:»00. Для 4-х значных чисел оба формата дадут одинаковый результат.

Необходимо учитывать, что ячейка не содержит значение в формате времени, она содержит число 230. В этом можно убедиться, посмотрев на Строку формул – в ней отображается 230, а не 2:30. Изменив формат ячейки на пользовательский , мы изменили лишь формат отображения значения. 

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

Преобразование в формат времени

EXCEL интерпретирует введенное значение 2:30 (т.е. «2 двоеточие 30»), как время, т.е. устанавливает Формат ячейки Время, затем вводит в ячейку число 0,104167 (но в Строке Формул отображается 2:30:00. Если изменить формат ячейки на Число , то увидим 0,104167). Откуда взялось это число 0,104167? В форматах Время и Дата принято, что одним суткам соответствует число единица. Соответственно, один час в формате даты это 1/24 (т.к. в сутках 24 часа), а одна минута – 1/(24*60)=1/1440. Число 0,104167 из 2:30 получается так: 2 часа/24 + 30 минут/1440.

Для тех, кто не хочет возиться с двоеточием и кому нужны значения в формате Времени — алгоритм такой (см. файл примера ):

  • в ячейку А1 вводим дату без двоеточия, в виде числа, например 230;
  • устанавливаем пользовательский формат времени 00″:»00 (если необходимо);
  • в любой другой ячейке, например В1 , пишем формулу =(ЦЕЛОЕ(A1/100)/24)+ ((A1-(ЦЕЛОЕ(A1/100)*100))/1440) (получаем 0,104167);
  • меняем формат ячейки В1 на Время и получаем полноценное время – 2:30. С этим значением можно производить вычисления в формате ВРЕМЯ.

В файле примера также показано как ускорить ввод в формате чч:мм:сс (обязательно должны быть указаны часы, т.е. число должно быть >10000, т.е. 1:00:00).

Там же, «по просьбе телезрителей», показано как преобразовать любое число от 1 до 235959 в формат чч:мм:сс. Причем можно указывать только секунды, минуты и секунды, ну и конечно часы, минуты и секунды.

Еще задача: Если пользователь захотел сохранить значение времени 5 часов 23 минуты в числовом формате 5,23, т.е. часы в целой части числа, а минуты в дробной после запятой, то формула для перевода в стандратный формат времени следующая:

=ВРЕМЯ(ЦЕЛОЕ(A41);ОКРУГЛ((A41-ЦЕЛОЕ(A41))*100;0);)

в итоге, после применения формата ячейки ч:мм, получим 5:23.

 

Xapa6apga

Пользователь

Сообщений: 372
Регистрация: 07.02.2014

#1

05.02.2015 13:08:00

Здравствуйте, прошу Вас немного просветить.
Для чего пишут :=, можно же просто =?
Пример:

Код
ActiveSheet.Unprotect Password:="Pingvin"
ActiveSheet.Unprotect Password="Pingvin"

Какая разница и зачем оно употребляется?
Заранее благодарен!

П.С.
Прошу сильно не кричать, VB пытаюсь освоить сам .

Изменено: Xapa6apga05.02.2015 23:05:20

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#2

05.02.2015 13:39:48

Цитата
Xapa6apga пишет: зачем оно употребляется?

для указания значения параметра метода объекта, без привязки его (параметра) к конкретной позиции в перечне параметров данного метода.
З,Ы. Сам ничего не понял  :)

Ваш пример не показателен.

Для наглядности.
Чтобы указать значение параметра SearchFormat без указания других НЕобязательных параметров в такой строке:
Range(«A1:A10»  ;)  .Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

нужно ввести много значимых запятых

Код
Range("A1:A10").Find("Искомое_значение",,,,,,,,"Нужный_формат")

а можно указать сразу, без использование значимых запятых

Код
Range("A1:A10").Find(What:="Искомое_значение",SearchFormat:="Нужный_формат")

Изменено: Sanja05.02.2015 23:05:30

Согласие есть продукт при полном непротивлении сторон.

 

Jack

Пользователь

Сообщений: 352
Регистрация: 01.01.1970

#3

05.02.2015 13:43:22

Цитата
Sanja пишет: без привязки его (параметра) к конкретной позиции

т.е. когда много параметров через := можно указывать их в любой последовательности.

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

да

Согласие есть продукт при полном непротивлении сторон.

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

два символа := нужны,чтобы VBA понял,что это параметр метода.
vba просматривает код и если видит два символа := то понимает,что это параметр метода
то есть это такой синтаксис языка vba

 

Xapa6apga

Пользователь

Сообщений: 372
Регистрация: 07.02.2014

ААааа, спасибо большое!

Jack

, более понятно, как для Оленя объяснил )

 

suricat555

Пользователь

Сообщений: 132
Регистрация: 09.08.2015

#7

04.08.2019 22:42:19

Здравствуйте! У меня именно такой же вопрос.
Из этой темы я поняла, что двоеточие ставится, когда перечисляются несколько параметров в одну строку.

Если я пишу так, то макрос работает:

Код
Cells.AutoFilter Field:=1, Criteria1:="*Москва*"

А если я хочу не указывать двоеточия и перечисляю критерии в столбик, то не работает. Макрос ставит только фильтр:

Код
Cells.AutoFilter
Field = 1
Criteria1 = "*Москва*"

А почему? Нужно обязательно указывать это в строчку и с двоеточием?  

Изменено: suricat55504.08.2019 23:02:05

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#8

04.08.2019 22:56:50

Цитата
перечисляю критерии в столбик, то не работает.
Код
Cells.AutoFilter _
Field:=1, _
Criteria1:="*Москва*"
 

это в коде присвоить пареметру процедуры (функции) определенное значение

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#10

05.08.2019 07:21:15

Цитата
suricat555 написал: перечисляю критерии в столбик

Для компилятора каждая строка является самостоятельной единицей кода, поэтому он (компилятор) не относит строки Field = 1 и Criteria1 = «*Москва*» к фильтру. Что бы записать так как хотите Вы нужно использовать нижнее подчеркивание (см пример от Kuzmich, ). Такой прием обычно используется когда строка кода получается не удобно длинной. В Вашем случае это не нужно

Изменено: Sanja05.08.2019 07:26:54

Согласие есть продукт при полном непротивлении сторон.

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#11

05.08.2019 09:35:00

Цитата
suricat555 написал:
А если я хочу не указывать двоеточия

А если макрос не хочет работать без двоеточий?
Кто кого?  :D

 

Я поняла, спасибо огромное!  :D  А почему у меня не вышло сообщение об ошибке?.. Я же помню, когда я неверно вводила команду, у меня была ошибка 1004. Я хотя бы поняла, в какой строке косяк. А сейчас макрос просто не выполнил команду и не предупредил меня ))))))  

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#13

05.08.2019 10:31:08

А ежели-бы добавили строку Option Explicit, тогда бы предупредил

Код
Option Explicit

Sub qq()
Cells.AutoFilter
Field = 1
Criteria1 = "*Москва*"
End Sub
 

Спасибо! Сегодня попробую. Сейчас нет доступа к excel. Наверное надо бы в любом макросе эту строку вставлять. Так надежнее ))

 

sokol92

Пользователь

Сообщений: 4446
Регистрация: 10.09.2017

#15

05.08.2019 15:16:34

Цитата
suricat555 написал:
Наверное надо бы в любом макросе эту строку вставлять. Так надежнее

Золотые слова, хоть в девиз форума! :)  

Владимир

Понравилась статья? Поделить с друзьями:
  • Что такое границы текста ms word
  • Что такое деловая графика в excel
  • Что такое дашборд в microsoft excel
  • Что такое границы в excel
  • Что такое действие ole excel