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

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

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

Maz (27-03-2018 08:04): Microsoft Excel FAQ (часть 6)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

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


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


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

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 13:13 09-03-2010 | Исправлено: uzeerpc, 12:47 20-12-2017
    asbo

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

    Цитата:
    ...можно, добавив...  

    Может я что-то не так понял... Было дано: "... не писав формулу из 10 если"
    10 IF заменили 10-ю IFERROR? Да и сдается мне, что у ф-ции...  
    IFERROR(D5=TRUE; и далее условие)  
    ... всего один аргумент в оригинале... Поясни, плз, а то что-то я, честно, не вкурю никак. Бэз иронии. Может что-то с балансом скобок?

    Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 00:34 30-09-2011
    Vibrother



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

    Цитата:
    Всем привет!  
    Проблема - просуммировать содержимое только четных (а потом только нечетных) ячеек по каждой строке.  
    Пробовал вариант с массивом, звучавший ранее в ветке  
     
      {=СУММ((A1:A5)*ОСТАТ(СТРОКА(A1:A5);2))}  
       
    в котором заменил диапазон на свой, например С11:GB11 - получаю ошибку в формуле.  
    Работает ли этот вариант в моем случае?  
     
    Спасибо.
     

     
    Проблема так и не решена, прошу специалистов не обходить вниманием Уж очень неудобно плюсовать десятки ячеек в очень большом количестве строк...

    Всего записей: 107 | Зарегистр. 01-08-2007 | Отправлено: 07:50 30-09-2011
    asbo

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Vibrother
    Немного не то, но все же...


    Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 12:56 30-09-2011
    aidarsimon



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Quieteroks
    Спасибо, вроде получается.

    Всего записей: 3749 | Зарегистр. 06-09-2008 | Отправлено: 16:13 30-09-2011
    Quieteroks

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    aidarsimon
    Не за что.
    Так вроде или точно работает?
    Если что то не так, можно написать VBA макрос.

    Всего записей: 38 | Зарегистр. 21-01-2010 | Отправлено: 16:57 30-09-2011
    VictorKos



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Vibrother
    Может быть проблема в том, что в приведённой вами формуле данные находятся в столбце A1:A5, а Вы пытаетесь применить эту формулу к строке С11:GB11. Попробуйте в формуле заменить не только диапазон, но и поменять функцию СТРОКА на функцию СТОЛБЕЦ.

    Всего записей: 304 | Зарегистр. 20-03-2005 | Отправлено: 17:11 30-09-2011 | Исправлено: VictorKos, 17:13 30-09-2011
    jvg



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    asbo, с налета не скажу, возможна заморочка со скобками. Но с полной уверенностью могу сказать, что приведенный метод работает ежедневно у меня на работе. В строке, длиной порядка 15 ячеек работает по этому алгоритму поповина. Проверяем счета из пробирной инспекции. Поиграйся со скобками, или на крайний случай, выложи пример.  


    ----------
    C2D|IntelDP965LT|DDRII 4x1024|Ge7900GS|5xHDD=3,3Tb|XPsp3:OsX86-10.5.7:Win7

    Всего записей: 571 | Зарегистр. 01-09-2002 | Отправлено: 22:59 30-09-2011
    aidomars



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

    Цитата:
    Проблема так и не решена, прошу специалистов не обходить вниманием Уж очень неудобно плюсовать десятки ячеек в очень большом количестве строк...  

    А пользовательскую функцию не пробовали написать?

    Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 00:53 01-10-2011
    asbo

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    jvg
    * asbo, с налета не скажу,  
    - для раздумий было (и есть :) время...
     
    * возможна заморочка со скобками
    - эту мысль _я_ тебе подогнал и расчитывал, по крайней мере, на снкс :)
     
    * Но с полной уверенностью могу сказать, что приведенный метод работает ежедневно у меня на работе.  
    - Поверь, меня мало волнует - что там работает у тебя, а что нет. Я не понял нюанс применения IFERROR(D5=TRUE; и далее условие), ап чом и спросил.
     
    * В строке, длиной порядка 15 ячеек работает по этому алгоритму поповина. Проверяем счета из пробирной инспекции.  
    - Ну все... 15 - это круто, а пробирка - всем стоять смирно! - главный аргумент :)
     
    * Поиграйся со скобками ...
    - Поиграйся сам. Хошь со скобками, хошь - еще с чем :) ОК?  
     
    * ... или на крайний случай, выложи пример.  
    - Звыняейте, дядку, не по адресу... Вопрос был не мой.
     
    Идем далее. Ты же обидишься щаз на меня.?..  
     
    Объясняю почему я злой:
     
    Вот вопрос: "...можно это сделать ..."
    Вот мой ответ: "Имо - нет. Все надо проверять"
    Вот твой: "InSe0F, можно, ..."
     
    Я должен любить тебя после этой антитезы? Тем более, что на поставленные вопросы (10 IF заменили 10-ю IFERROR?) по задаче, ты скромно промолчал :)  
     
    А по сути применения укзанных тобой ф-ций - слив без зачета....
     
    Каплю менторства. Вы готовы отвечать за тех, кого приручили?
     
     
     
    Добавлено:
    Vibrother

    Цитата:
    Проблема так и не решена, прошу...  

    Вобщем-то, подъем темы засчитан :)
    Впрочем, в распоряжении есть резонное замечание от VictorKos на предмет понимания разницы столбцов и строк. А по сути -
     
    - aidomars

    Цитата:
    А пользовательскую функцию не пробовали написать?

    Зачем? Делать анализ по критерию четности-нечетности строк?... Ну, ладно, - я пьяный седни, а все остальные до кучи сбрендили?!  
     

    Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 01:41 01-10-2011
    Vibrother



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

    Цитата:
    Немного не то, но все же...  

     
    Действительно немного не то. В этом примере мы проверяем на четность содержимое ячеек, а мне необходимо проверять на четность сами ячейки.
     
    Например. Есть строка длиной, скажем 100 ячеек. В первой ячейке масса чего-нибудь, во второй стоимость этого чего-нибудь. В третьей масса другого чего-нибудь, в четвертой - стоимость этого другого. И так до конца. В последние две ячейки каждой строки надо собрать общую массу и общую стоимость, т.е. и сложить содержимое четных и нечетных ячеек строки.
     
    VictorKos

    Цитата:
    поменять функцию СТРОКА на функцию СТОЛБЕЦ

     
    Спасибо! Этот факт я упустил. Теперь формула работает, однако только с четными ячейками
     

    Цитата:
     {=СУММ((С11:GB11)*ОСТАТ(СТОЛБЕЦ(C11:GB11);2))}

     
    Для нечетных ячеек рекомендовалось в конце формулы 2 заменить на 0, однако в результате получаю ошибку #ДЕЛ/0!
     
    aidomars

    Цитата:
    А пользовательскую функцию не пробовали написать?

     
    Нет, не знаю, как это делается. Экселем на таком уровне пользуюсь нечасто, в основном примитивные операции сложения/вычитания.
     
    asbo

    Цитата:
    Вобщем-то, подъем темы засчитан

     
    "Подъем темы" обусловлен красными воспаленными глазами и нервным тиком сотрудника, третий день суммирующего ячейки банальным плюсованием...

    Всего записей: 107 | Зарегистр. 01-08-2007 | Отправлено: 09:12 01-10-2011
    aidomars



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

    Цитата:
    А пользовательскую функцию не пробовали написать?
    Нет, не знаю, как это делается. Экселем на таком уровне пользуюсь нечасто, в основном примитивные операции сложения/вычитания.  

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

    Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 10:16 01-10-2011
    Vibrother



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    aidomars
    Спасибо за помощь, я нашел промежуточное решение проблемы
    После того, как формула с четными ячейками заработала, я суммирую всю строку и вычитаю полученную сумму четных.

    Всего записей: 107 | Зарегистр. 01-08-2007 | Отправлено: 10:44 01-10-2011
    Robert



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Vibrother
    Для нечётных столбцов:

    Код:
    {=СУММ((С11:GB11)*ОСТАТ(СТОЛБЕЦ(C11:GB11);2))}

    Для чётных столбцов:

    Код:
    {=СУММ((С11:GB11)*(1-ОСТАТ(СТОЛБЕЦ(C11:GB11);2)))}

     
     
    InSe0F

    Код:
    =НЕ(СЧЁТЕСЛИ($A$1:$A$10;""))

    Всего записей: 285 | Зарегистр. 12-03-2003 | Отправлено: 11:13 01-10-2011 | Исправлено: Robert, 11:29 01-10-2011
    VictorKos



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

    Цитата:

    Цитата:
    поменять функцию СТРОКА на функцию СТОЛБЕЦ
     
     
     Спасибо! Этот факт я упустил. Теперь формула работает, однако только с четными ячейками
     
     
    Цитата:
    {=СУММ((С11:GB11)*ОСТАТ(СТОЛБЕЦ(C11:GB11);2))}

       
     Для нечетных ячеек рекомендовалось в конце формулы 2 заменить на 0, однако в результате получаю ошибку #ДЕЛ/0!

     
    Строго говоря, данная формула суммирует как раз только нечетные ячейки - C11, E11, G11 и т.д.
    Признаком четности здесь является порядковый номер столбца, столбцы A, C, E, G, I, K... нечетные, соответственно, столбцы B, D, F, H, J... - четные. (Если бы ваш диапазон начинался в ячейке B11, тогда суммировались бы только четные ячейки диапазона.)
    Чтобы эта формула считала четные ячейки, можно после скобок с параметрами функции СТОЛБЕЦ прибавить единицу:
    {=СУММ(($C$11:$GB$11)*ОСТАТ(СТОЛБЕЦ($C$11:$GB$11)+1;2))}
     
    PS Вот и Robert ещё помог объяснить, спасибо ;)

    Всего записей: 304 | Зарегистр. 20-03-2005 | Отправлено: 11:48 01-10-2011 | Исправлено: VictorKos, 11:53 01-10-2011
    Robert



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    aidarsimon
     
    Лучше использовать функцию ВПР:
     

    Всего записей: 285 | Зарегистр. 12-03-2003 | Отправлено: 11:56 01-10-2011
    asbo

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

    Цитата:
    Действительно немного не то. В этом примере мы проверяем на четность содержимое ячеек, а мне необходимо проверять на четность сами ячейки.  

    То ли ветер нынче пьян, то ли леший нынче рьян :)
    Ну ладно... я вчера налимонился... но ведь в другой компании. Никого из этой темы со мной не было :)
     
    Внмательно взгляни на скрин, будь ласка?
    Говоря "не то" я имел ввиду, что если эту идиотскую (извини, но это так по моему глыбокому убеждению) задачу, решать через транспонированное ее условие, то решение еще по-божески выглядит - через дополнительное поле (столбец). У меня рука не поднялась делать это через доплнительную запись :)
     
    В основе СУБД лежит (в частности) принцип отвязки от физического расположения записей в базе. А мы (с твоей подачи) устраняем это огромное преимущество и вдохновенно вычисляем чет-нечет...
       
     
    Добавлено:
    Vibrother

    Цитата:
    Действительно немного не то. В этом примере мы проверяем на четность содержимое ячеек, а мне необходимо проверять на четность сами ячейки.  

    Блин... Внимательно взгляни на скрин, будь ласка? Спецом ведь делал ,чтобы не расписывать на пальцах:
    формулы в диапазоне B3:B7 вычисляют чет-нечет соответствующих строк. Формула в A1 считает сумму тех ячеек в диапазоне A3:A7, которые удовлетворяют условиям в B3:B7.
     
    У меня просто рука не поднялась решать задачу через дополнительную запись. В транспонированном виде (через дополнительное поле) это еще по-божески выглядит :)  
     
    Извини, но это верх идиотизма... В основу всех СУБД положен принцип отвязки от физического расположения данных. Мы же вдохновленно пытаемся решить обратную задачу.
     
    Извиняюсь, - поскольку это может быть частный случай. Ну пришли данные в таком виде... и деваться некуда... Пойми - все восстает внутри против подобных решений.
     
    Добавлено:
    Блин - что творится с движком форума? Вначале схавал сообщение - написал я другое. Теперь оба висят :) Хай живэ :)

    Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 13:09 01-10-2011
    Vibrother



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Robert
    VictorKos
     
    Спасибо! Считается корректно, все замечательно, очень выручили!!
     
    asbo
     
    Спасибо и тебе  
    Я ни разу не претендую на лавры матерого "СУБДиста", иначе, вероятно, счолкал бы такие задачки на раз... Я был не прав в своем утверждении относительного твоего примера, твой вариант прекрасно работает, лишь в каждую таблицу необходимо будет добавлять дополнительную строку, в принципе - не критично.
     
    Случай действительно частный. Работа одноразовая, после формирования пакета таблиц он будет лишь изредка корректироваться, точечно. Если вкратце - речь о тщательном подсчете условных единиц (электроэнергетика) согласно установленному электрооборудованию.
    Количество строк равно количеству видов оборудования, столбцы - объекты (нефтедобывающие скважины, кусты скважин, насосные станции и т.д.). Одна таблица - один участок. На каждом участке сотни объектов, всего - несколько десятков участков (таблиц).

    Всего записей: 107 | Зарегистр. 01-08-2007 | Отправлено: 17:21 01-10-2011
    asbo

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Vibrother
    Слава Богу, что все прошло без обид и закончилось взаимным пониманием :)
    Задача у тебя серьезная, судя по описанию. Было бы неплохо тщательно продумать dataflow. А в описанном виде - слишком велико вляние человеческого фактора. Тем более - на промежуточном, если я правильно понял расклад, этапе. Помнишь, как у Оганезова с Винокуром? Тут играем, тут не играем, а здесь рыбу заворачивали :)
     
    Добавлено:
    Vibrother
    И, спасибо за :beer:  
    Мне, увы, это ужЕ не впрок - перелив :((

    Всего записей: 1805 | Зарегистр. 03-10-2006 | Отправлено: 21:04 01-10-2011
    InSe0F



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

    Цитата:
     
    Код:
    =НЕ(СЧЁТЕСЛИ($A$1:$A$10;""))  

    гениально))) спс, ступил

    Всего записей: 533 | Зарегистр. 13-03-2006 | Отправлено: 22:05 01-10-2011
    Quieteroks

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Мой вопрос остался без ответа...
     
    Проблема для меня весьма странная, неизвестно, что дает сбой печати. Либо драйвер принтера, либо настройка Excel. Собственно зачем расписывать, вот пример документа после распечатки на листе:
     

     
     
    Тонкие линии границ он сдвигает, а более толстые, печатает как и должно быть.
    При попытки повторить подобное в Wordе не дало ошибки.
    Скорее всего что то с форматом таблицы.
    Но если бы это было только в одном документе, еще один вопрос, а когда он с любым документом так поступает, это уже проблема. Причем в настройках Excel нет ничего, что влияло бы на печать, хотя может я не там искал.
     
    Проблема началась, возможно, после смены принтера. Но жалоба поступила только что.
    Принтер HP LaserJet P2055. Попытки как либо настроить принтер, всячески портит DalasLook.
     
    Подскажите, что можно с этим сделать??

    Всего записей: 38 | Зарегистр. 21-01-2010 | Отправлено: 09:07 03-10-2011
       

    Страницы: 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

    Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Excel FAQ (часть 5)
    Maz (27-03-2018 08:04): 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