Форум 3DNews

Форум 3DNews (http://forum.3dnews.ru/index.php)
-   Программное обеспечение (http://forum.3dnews.ru/forumdisplay.php?f=57)
-   -   Помощь по Excel (http://forum.3dnews.ru/showthread.php?t=80995)

melnika 02.04.2012 20:58

На 2-ом листе в ячейке О13 я ввожу
1 вариант: =СУММЕСЛИ(H4;H6:H11;"б.";O4;O6:O11) - пишет: "Для данной функйии введено слишком много аргументов
2 вариант: =СУММЕСЛИ(СУММ(H4;H6:H11);"б.";СУММ(O4;O6:O11)) - пишет "ошибка в формуле"

404 02.04.2012 21:03

Цитата:

Сообщение от melnika (Сообщение 2093074)
1 вариант: =СУММЕСЛИ(H4;H6:H11;"б.";O4;O6:O11) - пишет: "Для данной функйии введено слишком много аргументов"
2 вариант: =СУММЕСЛИ(СУММ(H4;H6:H11);"б.";СУММ(O4;O6:O11)) - пишет "ошибка в формуле"

Да, это неверный синтаксис.
Вводите смело =СУММЕСЛИ(H4:H11;"б.";O4:O11) — всё заработает как надо.

melnika 02.04.2012 21:14

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

С уважением...

melnika 04.04.2012 11:28

404
В догонку еще один вопрос: как можно (желательно через условное форматирование) проверить, чтобы сумма трех ячеек (например на листе "5, 6 курсы" ячейки AC24:AC26) равнялась значению в ячейке AC23 ?

С уважением...

404 04.04.2012 14:15

Цитата:

Сообщение от melnika (Сообщение 2093682)
как можно (желательно через условное форматирование) проверить

Практически, вопрос содержит ответ: проверить через условное форматирование.
Выделяете нужную ячейку, Формат — Условное форматирование — Формула, вводите:
=(СУММ(AC24:AC26)=AC23)
потом жмёте формат, и там задаёте какой-нибудь красный шрифт, рамку ячейки и т. п.

melnika 04.04.2012 14:50

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

404 04.04.2012 15:07

melnika
Хотите, задать условное форматирование для каждой из 3 ячеек AC24:AC26? Задайте.

melnika 04.04.2012 15:12

404
Каким образом?, не понимаю. Мне нужна ведь сумма значений всех трех ячеек, равной значению одной другой. Или усл.форматирование здесь не подойдет?

С уважением...

404 04.04.2012 15:25

melnika
Не пойму, в чём проблема.
Ещё раз:
Для каждой из трёх ячеек AC24, AC25 и AC26:
1) выделите ячейку;
2) откройте меню Формат — Условное форматирование, в 1-ом выпадающем списке выбираете "формула", правее вводите:
=(СУММ($AC$24:$AC$26)=$AC$23)
точнее не так, нам же нужно сигнализировать форматом ячейки, когда равенство НЕ соблюдается:
=(СУММ($AC$24:$AC$26)<>$AC$23)
потом жмёте рядом в этом же окне кнопку "Формат…", и там задаёте какой-нибудь красный шрифт, рамку ячейки и т. п.

Или я бы ввёл условное форматирование только для одной ячейки AC23.

melnika 04.04.2012 15:49

Цитата:

Сообщение от 404 (Сообщение 2093768)
melnika
Не пойму, в чём проблема.
Ещё раз:
Для каждой из трёх ячеек AC24, AC25 и AC26:
1) выделите ячейку;
2) откройте меню Формат — Условное форматирование, в 1-ом выпадающем списке выбираете "формула", правее вводите:
=(СУММ($AC$24:$AC$26)=$AC$23)
точнее не так, нам же нужно сигнализировать форматом ячейки, когда равенство НЕ соблюдается:
=(СУММ($AC$24:$AC$26)<>$AC$23)
потом жмёте рядом в этом же окне кнопку "Формат…", и там задаёте какой-нибудь красный шрифт, рамку ячейки и т. п.

Или я бы ввёл условное форматирование только для одной ячейки AC23.

404
Поняла, спасибо большое)) Объемная работа получается - более 30 листов, на каждом по 9 правил, жуть.

точнее не так, нам же нужно сигнализировать форматом ячейки, когда равенство НЕ соблюдается:
=(СУММ($AC$24:$AC$26)<>$AC$23)


Я это и ввожу

Цитата:

Или я бы ввёл условное форматирование только для одной ячейки AC23.
В этой формуле я уверена, скорее в новых я могла где-то что-то напортачить, их же больше.

404 04.04.2012 17:53

Цитата:

Сообщение от melnika (Сообщение 2093773)
Объемная работа получается - более 30 листов, на каждом по 9 правил, жуть.

Вы можете её чуть уменьшить, создав правило для одной ячейки, а потом скопировав её и вставляя при помощи Правка — Специальная вставка (быстро: Alt + П, Е), "Формат"; и потом только частично подправлять формулу в Условном форматировании.

P.S. Я ввожу отдельные ячейки проверки целых блоков ячеек, которые выдают "Правильно", либо "Ошибка!": в последнем случае я знаю, что ошибка локализована где-то в конкретном блоке ячеек.
Ну и механизм защиты ячеек (с формулами) от изменения есть же. Когда доделаете всю программу, можете включить защиту.

melnika 05.04.2012 12:51

404
Спасибо, все работает, только при этом иногда Exsel выкидывает фокусы - иногда начинает зависать и появляется сообщение, что "не хватает ресурсов для вывода данных на печать".

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

А есть ли способ узнать есть ли в книге Exsel используемые правила усл.форматирования? Это вопрос скорее так, для общего развития.

С уважением...

404 05.04.2012 16:31

Цитата:

Сообщение от melnika (Сообщение 2094139)
можно ли защитить лист таким образом, чтобы при переносе данных их можно было только копировать, а не вырезать

Когда вы включаете защиту текущего листа, для защищённых ячеек ровно так она и работает.

Цитата:

Сообщение от melnika (Сообщение 2094139)
есть ли способ узнать есть ли в книге Exsel используемые правила усл.форматирования

В Office 2007/2010 в условиях поиска можно указать наличие условного форматирования у ячейки.

Jabberwocky 06.04.2012 12:50

Простой вопрос. Как можно написать нормальным образом такое условие:
if( or(x=1; x=2; x=5; ...) )

??

404 06.04.2012 14:06

Jabberwocky
Если сравнений не очень много, так и писать:
ЕСЛИ(ИЛИ(x=1;x=2;x=5;…);<значение1>;<значение2>)

Либо так вроде работает:
ЕСЛИ(ИЛИ(x={1;2;5;…});…)

или так:
{ЕСЛИ(ИЛИ(x=A1:A100);…)}
Последний вариант — это "формула диапазона": надо ввести её, без {}, и нажать Ctrl+Shift+Enter.

melnika 06.04.2012 15:58

При защите структура листа не работает в любом случае?

FeyFre 06.04.2012 16:03

А чем это не нормальный образ? Уточните задачу.

melnika 06.04.2012 22:18

FeyFre
Это Вы кому говорите?

Jabberwocky 06.04.2012 23:06

Цитата:

Сообщение от 404 (Сообщение 2094465)
Jabberwocky
Либо так вроде работает:
ЕСЛИ(ИЛИ(x={1;2;5;…});…)

Спасибо. То что нужно.

Цитата:

Сообщение от 404 (Сообщение 2094465)
или так:
{ЕСЛИ(ИЛИ(x=A1:A100);…)}
Последний вариант — это "формула диапазона": надо ввести её, без {}, и нажать Ctrl+Shift+Enter.

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

Добавлено через 3 минуты

Цитата:

Сообщение от FeyFre (Сообщение 2094496)
А чем это не нормальный образ? Уточните задачу.

Не нормальный постоянным повторением одного и того же "x=". Во-первых, это просто громоздко и некрасиво, а во-вторых, "x" часто (и сейчас) - это результат вычисления трех вложенных функций. Когда такой шаблон надо повторить более двух раз, формула становится не читаемой.

melnika 12.04.2012 14:20

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

С уважением...


Текущее время: 19:46. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot