Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Excel FAQ (часть 6)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

 
  • Смена представления имен столбцов с буквенного на цифровое и обратно


    Сумма прописью
  • Надстройка "PROP" (сумма прописью)
  • надстройка Excellerator (c) Michael Zemlanukha & Maxim Shemanarev
  • макрос Num2String


  • Список соответствия имен функций в английской и русской версиях Excel или здесь
  • Описание Microsoft Excel File Format (eng.)
  • Горячие клавиши в Excel (табличка)
  • краткая, но емкая инструкция для чайников по добавлению готовых макросов (на примере макросов по увеличению размера шрифта на X пунктов от мемебера ferias
     
    Предыдущие ветки топика: Часть 1 | Часть 2 | Часть 3 | Часть 4| Часть 5
     
    Все вопросы по программированию (макросы, скрипты, пользовательские функции и т.п.) обсуждаются в теме Excel VBA в разделе Прикладное программирование.
     
    При необходимости выложить скриншот, пользуйтесь сервисом ImageShack® (ограничение на размер файла <1.5 Mb)
     
    Книга Джон Уокенбах "Подробное руководство по созданию формул в Microsoft Office Excel 2002" PDF 34МБ Файлы к книге

    Смежные темы:
    Программы » Microsoft Office 2019 & 365 | 2016 | 2013 | 2010 | 2007 | 2003
    Программы » OneNote | Outlook 2013 & 2016 & 2019 | Outlook 2010 | Microsoft Mathematics & Math Solver
    Программы » Word FAQ | Access FAQ
    Прикладное программирование » Word VBA | Excel VBA | Access VBA  
    Андеграунд » Microsoft Office 2019 | 2016 | 2013 | 2010 | 2007 | 2003
    Андеграунд » OneNote | Visio | SharePoint Server | Project Server | Exchange Server
    Андеграунд » Надстройки (add-ins) и коммерческие макросы Excel
    Андеграунд » Самостоятельная сборка дистрибутивов Оffice 2007/2010/2013/2016 | MUI для Office 2007

  • Всего записей: 39128 | Зарегистр. 26-02-2002 | Отправлено: 08:02 27-03-2018 | Исправлено: Komandor, 00:39 01-01-2023
    seregadushka



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ не согласен.  разница  1  только в  условии ЕСЛИ(3-2;месяц(дата);"")   Логическая ИСТИНА только в Условии.
    месяц(дата) -- стандартная функция Excel . Она показывает 3 в формате "Общий" (или другой). В формате "Дата" , показывает Январь. От перемены форматов ячейки, не должно меняться содержимое.  

    Всего записей: 1843 | Зарегистр. 23-09-2007 | Отправлено: 12:45 09-06-2022 | Исправлено: seregadushka, 12:47 09-06-2022
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seregadushka
    Ну хорошо, иначе: Эксель ведет отсчет дат с 01.01.1900, чему соответствует число 1. Следовательно, для числа 3 Эксель покажет дату 03.01.1900. Хочешь получить требуемую дату - укажи, как минимум, два параметра: день.месяц или месяц.год.

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 14:15 09-06-2022
    seregadushka



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ коллега, ты если файл не смотрел, то у меня в тексте указано, что результатом работы функции ЕСЛИ (...) является не число 3 , а функция  МЕСЯЦ (дата). Для  этой  МЕСЯЦ (дата) аргументом является полноразмерная дата, которая отлично видна в соседней ячейке.  
    Получается все функции отрабатывают верно, но ФОРМАТ (сокращенная до 1 месяца дата) -- жестко глючит. Это программная ошибка EXCEL .  
     
    https://1drv.ms/x/s!AlkHHosQA1lC2F9CfuCMaou-MsxP

    Всего записей: 1843 | Зарегистр. 23-09-2007 | Отправлено: 14:54 09-06-2022 | Исправлено: seregadushka, 16:00 09-06-2022
    GCRaistlin



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    seregadushka

    Цитата:
    Формат ячейки  даты "Март" видит дату в марте и воспринимает его как логическое 1


    Цитата:
    Для  этой  МЕСЯЦ (дата) аргументом является полноразмерная дата

    Вас сложно понять, не исключено что и вам самому тоже.
    В Excel даты и время хранятся в виде чисел. 1 - это 0 часов 0 минут 0 секунд 1 января 1900 года. 2 - 0 часов 0 минут 0 секунд 2 января 1900 года. Если форматом задано отображать только месяц, он, естественно, будет отображать "январь" для 3.

    ----------
    Magically yours
    Raistlin

    Всего записей: 4132 | Зарегистр. 18-04-2005 | Отправлено: 15:10 09-06-2022
    seregadushka



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GCRaistlin , ты также как и  не смотрел файл . Вы оба , вместо включения своих мозгов , повторяете мою же ошибку.  Число 3 это не результат работы функции  МЕСЯЦ(дата) , результат преобразования  формата ячейки "Общий". Он правильный. А результат преобразования  формата ячейки "Короткая дата" должен соответствовать предыдущему результату, а не противоречить ему.  У них исходные данные одинаковые, Как от разных форматов могут быть разные итоги ?
     
    Я просто предположил, что где-то проскакивает ЛОГИЧЕСКАЯ 1 (наличие хотя бы чего-то в ячейке уже может быть ЛОГИЧЕСКАЯ 1 -- а как результат ЯНВАРЬ ). А вы оба к этому прицепились,  и стали объяснять мне про дореволюционный EXCEL . Спасибо, не надо, я его прекрасно помню без вас. Даже при Николае II могли разобраться с простейшей функцией ЕСЛИ(1;МЕСЯЦ(дата);"")
     
    если дата  =  03.03.2003 , то откуда  результатом  ЕСЛИ(1;МЕСЯЦ(дата);"")  может быть ЯНВАРЬ ???
     
    https://1drv.ms/x/s!AlkHHosQA1lC2F9CfuCMaou-MsxP
     
     

    Всего записей: 1843 | Зарегистр. 23-09-2007 | Отправлено: 15:43 09-06-2022 | Исправлено: seregadushka, 16:01 09-06-2022
    GCRaistlin



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    seregadushka

    Цитата:
    если дата  =  03.03.2003

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

    Цитата:
    я просто предположил, что где-то проскакивает ЛОГИЧЕСКАЯ 1

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

    ----------
    Magically yours
    Raistlin

    Всего записей: 4132 | Зарегистр. 18-04-2005 | Отправлено: 15:56 09-06-2022
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seregadushka

    Цитата:
    Даже при Николае II могли разобраться с простейшей функцией

    Мдя... Похоже, ты еще до Николашки родился, раз не видишь элементарных вещей.
    Функция ЕСЛИ(1;МЕСЯЦ(дата);""), где дата=03.03.2003, возвращает число 3, а не 3-й месяц. И дата(3), в свою очередь, соответствует 3.1.1900, т.к. дата вычисляется от числа, а не от якобы месяца, о чем Эксель не имеет ни малейшего понятия. Хочешь, чтобы 3 определялось, как месяц, преобразуй в "1.3".

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 15:58 09-06-2022
    seregadushka



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ, коллега, нету  у меня дата(3) !!!  Есть МЕСЯЦ(дата)  . 3 -- уже после МЕСЯЦ(дата) и преобразования  ее в  формат "Общий".  Я про то , что  формат EXCEL неправильно работает, т.к.  МЕСЯЦ(дата) работает верно.
     
     
    Добавлено:
    03 января 1900 г.   =   МЕСЯЦ(3 марта 2022 г.)   -- ну вот тут хорошо видно, что о формата ячейки зависит результат. Это ненормально.

    Всего записей: 1843 | Зарегистр. 23-09-2007 | Отправлено: 16:05 09-06-2022
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seregadushka
    Тяжелый случай...
    В ячейке у тебя результат МЕСЯЦ(дата), т.е. число 3. Преобразование числа 3 в дату дает 3.1.1900.
    Функция МЕСЯЦ() возвращает число, а не месяц.
    По твоей формуле: ЕСЛИ(МЕСЯЦ(E6)-МЕСЯЦ(E5),МЕСЯЦ(E6),"") - МЕСЯЦ(E6) возвращает число от 1 до 12, что соответствует датам от 1.1.1900 до 12.1.1900, поэтому и получаешь одни январи.
    А надо так: ЕСЛИ(МЕСЯЦ(E6)-МЕСЯЦ(E5);ДАТА(ГОД(E6);МЕСЯЦ(E6);1);"")
     
    Добавлено:

    Цитата:
    03 января 1900 г.   =   МЕСЯЦ(3 марта 2022 г.)   -- ну вот тут хорошо видно, что о формата ячейки зависит результат. Это ненормально.

    Да бред же ж.
    03 января 1900 г. в числовом выражении = 3, МЕСЯЦ(3 марта 2022 г.) = 3, все правильно. Эксель работает с числовыми значениями дат. Формат только для визуального удобства.

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 16:19 09-06-2022
    seregadushka



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ  , так сам формат называется "Март"  в списке форматов.  Кроме визуального удобства должна быть еще и точность. Я считаю , что функция МЕСЯЦ(...) в формате "Март" не должна выдавать всегда ЯНВАРЬ.

    Всего записей: 1843 | Зарегистр. 23-09-2007 | Отправлено: 16:31 09-06-2022 | Исправлено: seregadushka, 16:32 09-06-2022
    GCRaistlin



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    seregadushka
    Как я и говорил - Excel делает то, что вы велели ему сделать, а не то, что вы хотели от него получить.
     
    Добавлено:

    Цитата:
    Я считаю , что функция МЕСЯЦ(...) в формате "Март" не должна выдавать всегда ЯНВАРЬ.

    Разработчики Excel тоже так считают. Поэтому функция МЕСЯЦ() выдает "Январь" только для дат, приходящихся на январь.

    ----------
    Magically yours
    Raistlin

    Всего записей: 4132 | Зарегистр. 18-04-2005 | Отправлено: 16:34 09-06-2022
    seregadushka



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ладно, коллеги, я переключал форматы  и вижу, что функция МЕСЯЦ(...) при любом формате выдает ЯНВАРЬ . Я понял, ее никогда нельзя ставить как  окончательный результат для вывода на лист. Она всегда покажет ЯНВАРЬ. Она только для внутренних расчетов.

    Всего записей: 1843 | Зарегистр. 23-09-2007 | Отправлено: 16:39 09-06-2022
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seregadushka
    Это формат отображения даты. Дату ты задаешь числом 3. Получаешь январь, всё верно.
    Функция МЕСЯЦ возвращает число, по этому числу Эксель вычисляет дату. Числу 3 соответствует 3.1.1900, хоть на сироп изойди.
    Я же тебе выдал правильную формулу, чем ты до сих пор недоволен?
     
    Добавлено:
    GCRaistlin
    Мсье пытается получить дату из функции МЕСЯЦ, к-рая возвращает число от 1 до 12, а потом удивляется, откуда у него сплошные январи.

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 16:41 09-06-2022
    seregadushka



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ, я понял. Меня только месяц интересует, а твоя формула выдает полную дату по 1 число.
    все проще, эту функцию можно вообще удалить как вредную. А поставить просто E6=E6 (формат "Март")

    Всего записей: 1843 | Зарегистр. 23-09-2007 | Отправлено: 16:47 09-06-2022
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seregadushka
    Ну екарный бабай!
    Формула выдает полную дату, формат ячейки - "ММММ", т.е. выводится только полное название месяца, в чем проблемы?

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 16:50 09-06-2022
    seregadushka



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ , самое смешное в этой истории, то что  monsieur seregadushka смотрит именно сейчас  

    Marija.Antuanetta.2006.x264.BDRip.(AVC).olegek70.mkv  

    Всего записей: 1843 | Зарегистр. 23-09-2007 | Отправлено: 16:50 09-06-2022 | Исправлено: seregadushka, 19:15 09-06-2022
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seregadushka

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

    Эксель работает с датой, только с месяцем он не работает в принципе.
     
    UPD.
    Вдогонку.
    Если уж тебе так приспичило работать именно с номером месяца, то есть такая функция ИНДЕКС:
    ЕСЛИ(МЕСЯЦ(E6)-МЕСЯЦ(E5);ИНДЕКС({"Январь":"Февраль":"Март":"Апрель":"Май":"Июнь":"Июль":"Август":"Сентябрь":"Октябрь":"Ноябрь":"Декабрь"};МЕСЯЦ(E6));"")
    Но ранее предложенный вариант проще и быстрее.

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 16:52 09-06-2022 | Исправлено: XenoZ, 18:31 09-06-2022
    seregadushka



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    XenoZ, коллега , если бы меньше умничал, а читал своих собеседников, то укоротил бы свою формулу до  
    =ЕСЛИ(МЕСЯЦ(E32)-МЕСЯЦ(E31);E32;"")
     
    Ты городишь целый массив месяцев , вместо того, что этот месяц покажет сам Эксел.

    Всего записей: 1843 | Зарегистр. 23-09-2007 | Отправлено: 19:09 09-06-2022
    XenoZ



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seregadushka
    Так ты же усердно пыжился использовать именно месяц, вот и получил требуемое. А в твоей формуле результат опять таки дата.
    Но, если тебя это устроило, то молодец, возьми с полки пирожок.

    ----------
    А оно мне надо?..

    Всего записей: 5478 | Зарегистр. 29-03-2006 | Отправлено: 19:40 09-06-2022
    OOD

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите почему при экспорте в XML пустых ячеек не экспортируется структура XML?
    т.е. есть ячейка:
    A1, она пустая, при экспорте через разработка экспорт в XML, структура не экспортируется..
     
    т.е. правильно так
    <emprty></empty>
    а если добавить символ ' в то место, где ячейки пустые, то XML выглядит следующим образом:
     
    </empty>

    Всего записей: 3391 | Зарегистр. 20-05-2006 | Отправлено: 11:21 22-06-2022
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

    Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Excel FAQ (часть 6)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru