Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ (часть 5)

Автор: oshizelly
Дата сообщения: 21.04.2011 15:51
InSe0F

Цитата:
или я не понял задачу - пример бы...


Ну, например так:

Условие 1) - Первый символ в ячейке (то есть, цифра в числителе дроби) является "1"
1/2
11/46
1-2/8
(Но не 2/4, хотя это столько же, что и 1/2)

Условие 2) - Первый символ в ячейке равен последнему.
1/1
3/3
4-5/4

Условие 3) - Значение третьего от конца символа больше значения последнего символа ячейки
3/2
7/5
2-3/2

asbo

Цитата:
А касательно уф - там ведь те же фомулы используются. Если можно создать внятное и работающее условие просто для ячейки, то эту же формулу зашарашить и в уф.

Об этом я просто не подумал, спасибо за разъяснение. Однако сначала надо эту формулу создать. А сделать это самостоятельно я, увы, не в состоянии.
Автор: asbo
Дата сообщения: 21.04.2011 16:12
Я же привел пример. Аналогично - для символов справа.

1) А применительно к "...(Но не 2/4, хотя это столько же, что и 1/2)..." - но надо ведь хотя бы для себя представлять, что строки и числа - это разные вещи. "1/2" и 1/2 - это как Карл Маркс и Фридрих Энгельс, не муж и жена, а четыре совершенно разных человека...

2) =ЛЕВСИМВ("1-4/4", 1) = ПРАВСИМВ("1-4/4", 1)

3) =ЛЕВСИМВ("2-3/2", 1) < ПСТР("2-3/2", ДЛСТР("2-3/2") - 2, 1)

Но Вас это не спасет...
Автор: InSe0F
Дата сообщения: 21.04.2011 17:31
если в ячейке текст то да -
кстати если много символов можно выходить проще - делаем дополнительную ячейку в которую вычисляем ИСТИНА/ЛОЖЬ
по ней форматируем всю строку
Автор: oshizelly
Дата сообщения: 21.04.2011 17:52
asbo

Цитата:
Я же привел пример. Аналогично - для символов справа.  

Спасибо, буду пробовать. Только у меня английская версия. Где можно посмотреть, какие названия функций (или как это правильно называется?) соответствуют русским ЛЕВСИМВ, ПРАВСИМВ, ПСТР и ДЛСТР? Первые два могу предположить, что LEFTSYMB и RIGHTSYMB, а кто такие ПСТР и и ДЛСТР, так даже не догадываюсь.


Цитата:
Но Вас это не спасет...

Почему? В смысле, что коль ума нет, то и чужой не поможет?


InSe0F

Цитата:
кстати если много символов можно выходить проще - делаем дополнительную ячейку в которую вычисляем ИСТИНА/ЛОЖЬ, по ней форматируем всю строку

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

З.Ы.

Цитата:
но надо ведь хотя бы для себя представлять, что строки и числа - это разные вещи. "1/2" и 1/2 - это как Карл Маркс и Фридрих Энгельс,

Я на общем уровне представляю. Поэтому с самого начала подчеркнул, что формат ячейки - текстовый и что 1/2 - это не то же самое, что 2/4.
Автор: InSe0F
Дата сообщения: 21.04.2011 17:59

Цитата:
Возникла сложность с поиском больших строк.
В столбце "Номер П1" не выводится значения когда размер строки больше определенного (? не понятно какого) но поиск не работает

http://d.pr/Ty2G

Как можно решить трабл? Пробовал отразать кусок строки и искать по нему, так и по отрезанному массиву не работает...

так чего делать то.. как-то создавать новые столбцы ну очень не хочется ...
Автор: asbo
Дата сообщения: 21.04.2011 18:25
oshizelly
* посмотреть, какие названия функций
файл FUNCS.XLS в папке установки Офиса

Не спасет, потому что я уверен на 101%, что условия приведенные Вами - сугубо частный случай. Потом обязательно выяснится, что они не совсем корректны, что надо еще это и вот это... Видите ведь - с первым условием я Вас до конца так и не понял. А компьютер-то еще тупее... В него мякину заложишь - мякину получишь...

По 2 и 3 условиям мы ведь написали уже условия? Написали. Внедряйте. А по первому - надо задание сформулировать корректнее. Если я окажусь неправ со 101% - так и очень хорошо :) Вам же нА руку :)

Добавлено:
Правда в английском Офисе этого файла может и не быть... С другого компа взять. В шапке есть ссылка. Не проверял.

Добавлено:
Вот, на всякий случай
Автор: lucky_Luk
Дата сообщения: 21.04.2011 20:00
kimtan


Цитата:
Можно, но между понятиями "неповторяющиеся" и "уникальные" огромная разница

Запутался. У меня есть столбик с данными, в нем написано, к примеру:

масло
колбаса
хлеб
колбаса
масло
масло

Нужно чтобы вывело:

масло
колбаса
хлеб
Н/Д (имеется ввиду стандартное сообщение, которое Эксель пишет в лишних ячейках массива с результатом).
Автор: InSe0F
Дата сообщения: 21.04.2011 20:58

Цитата:
Но это неприменимо, если в других колонках, к которым относятся ячейки той же строки, заданы другие правила условного форматирования. Что вполне вероятно.

столбцов может быть несколько с разными условиями форматирования...
Автор: kimtan
Дата сообщения: 21.04.2011 21:34
InSe0F
Вот Ваш файл: http://webfile.ru/5278048


Добавлено:
lucky_Luk
Почитайте по ссылке, может поможет: http://www.planetaexcel.ru/tip.php?aid=46
Автор: InSe0F
Дата сообщения: 21.04.2011 21:39
kimtan
спс... странно у меня почему то на работало
Автор: oshizelly
Дата сообщения: 22.04.2011 01:37
asbo 18:25 21-04-2011
Цитата:
уверен на 101%, что условия приведенные Вами - сугубо частный случай. Потом обязательно выяснится, что они не совсем корректны, что надо еще это и вот это...

Кажется уже выяснилось Или я просто не понимаю смысла предложенных формул, поэтому я лучше переспрошу. Мой вопрос был про общие условия. Например, Условие 2) - Первый символ в ячейке равен последнему. Если навскидку, то под это условие подходят 10 частных случаев (0... = 0, 1... = 1, 2... = 2 и т.д.). Предложенная Вами формула =ЛЕВСИМВ("1-4/4", 1) = ПРАВСИМВ("1-4/4", 1) включает все эти 10 частных случаев?


InSe0F 17:31 21-04-2011

Цитата:
можно выходить проще - делаем дополнительную ячейку в которую вычисляем ИСТИНА/ЛОЖЬ по ней форматируем всю строку

20:58 21-04-2011

Цитата:

Цитата: Но это неприменимо, если в других колонках, к которым относятся ячейки той же строки, заданы другие правила условного форматирования. Что вполне вероятно.  

столбцов может быть несколько с разными условиями форматирования...
Автор: ineeddrink
Дата сообщения: 22.04.2011 04:13
Добрый день,
ошибка при преобразовании значения в ячейке 22.04.2011 в =ТЕКСТ(A8;"ГГГГММДД")в результате получается ГГГГММДД
подскажите в чём может быть причина?..

Добавлено:
Добрый день,
ошибка при преобразовании значения в ячейке 22.04.2011 в =ТЕКСТ(A8;"ГГГГММДД")в результате получается ГГГГММДД
подскажите в чём может быть причина?..
на другом компе всё работает, офисы 2007, одинаковые абсолютно...
Автор: asbo
Дата сообщения: 22.04.2011 07:25
oshizelly, Вам настоятельно рекомендуется что-нибудь почитать и по Экселю, и по программированию в нем на уровне формул. Хотя бы хэлпы по используемым...

=ЛЕВСИМВ("1-4/4", 1) = ПРАВСИМВ("1-4/4", 1)

Здесь, "1-4/4" - это образец строки, взятой из Вашего примера. На листе это будет выглядеть так:
=ЛЕВСИМВ(B5, 1) = ПРАВСИМВ(B5, 1), где B5 - ссылка на ячейку, значение которой мы будем проверять на соответствие этому условию. Вместо "," в Вашем случае м.б. ";"


Цитата:
Предложенная Вами формула ... включает все эти 10 частных случаев?

Да, включает. Она включает в себя все. М.б. даже Вселенную... Только в одних случаях она будет возвращать "ИСТИНА", в других - "ЛОЖЬ" (TRUE или FALSE в Вашем случае), в каких-то - ошибку.

Извините, но м.б. Вы оторвете задницу от стула и вставите "предложенную формулу" в лист, сами поэкспериментируете, наделаете ошибок, и будете возникать с вопросами типа "Все сделал. Но 9-й включает, а почему 10-й нет? " Поверьте, и Вам и всем будет гораздо интереснее и полезнее. А уж мне-то как :)

If you want to swim you must swim.

Добавлено:
ineeddrink, "yyyymmdd"
Автор: SERGE_BLIZNUK
Дата сообщения: 22.04.2011 08:19
ineeddrink

1) не подтвержаю..
2) попробуйте так

Код: =ТЕКСТ(A8;"ГГГГММДД;@")
Автор: ineeddrink
Дата сообщения: 22.04.2011 08:26
Добрый день,
ошибка при преобразовании значения в ячейке 22.04.2011 в =ТЕКСТ(A8;"ГГГГММДД")в результате получается ГГГГММДД
подскажите в чём может быть причина?..
на другом компе всё работает, офисы 2007, одинаковые абсолютно...
с yyyymmdd всё работает,

перестановку пробовал, не помогает, именно на этом компьютере.
как сменить локализацию excel ?
Автор: asbo
Дата сообщения: 22.04.2011 09:16
Это, скорее всего, зависит от того, какая ОС - рус или eng. Еще Панель управления - Региональные настройки могут влиять. У меня на английской 2003 с русским офисом при настройках ниже работает "yyyy"

Автор: oshizelly
Дата сообщения: 24.04.2011 03:13
asbo 07:25 22-04-2011
Цитата:
вставите "предложенную формулу" в лист, сами поэкспериментируете, наделаете ошибок, и будете возникать с вопросами типа "Все сделал. Но 9-й включает, а почему 10-й нет? "

Это я проделал до того, как задавать вопросы. Не сработало: либо ошибка в формулах, либо я сам что-то делал неправильно. Не стал этого объяснять, потому что вроде как это подразумевается.

З.Ы.
Цитата:
Вам настоятельно рекомендуется что-нибудь почитать и по Экселю, и по программированию в нем сами поэкспериментируете, наделаете ошибок, и будете возникать с вопросами типа "Все сделал. Но 9-й включает, а почему 10-й нет?

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


Цитата:
Извините, но м.б. Вы оторвете задницу от стула

Так неудобно же стоя с формулами работать! Или задницу следует понимать как духовно-интеллектуальный метасимвол?
Автор: asbo
Дата сообщения: 24.04.2011 09:53
oshizelly
* задницу следует понимать как духовно-интеллектуальный метасимвол?
- Именно так :)
Красиво излагает, собака. Учитесь, Киса...

Пришлось таки мне самому оторвать этот метасимвол и сваять вот это :)
http://rghost.net/5305560/private/047ec4d67401731518c4ce39542de1e1

Пара замечаний:
1. М.б. понадобится заменить разделитель параметров в формулах "," на ";"
2. Столбцы B и C (синий вариант) работают в паре, столбец E (красный вариант) - самостоятельный
3. Преимущество Синего - формула УФ одинаковая везде. И, главное, одинаково простая. Само условие формируется в соседней ячейке, что гораздо нагляднее, легче правится и трансформируется.

Ограничение этого примера, как сугубо частного случая никуда не делось. Если на месте сравниваемых символов окажутся не цифры, а буквы, или их вообще не окажется - хана... Я не знаю, что там за внутренне преобразование используется при сравнении, и не хочу знать - мне претит сама концепция метода решения задачи через формулы и УФ. Если делать по уму - то надо явно приводить числа-как-строки к числам, сравнивать именно результаты приведения, писать обработку исключений, когда чисел не окажется вообще, или в указанных местах в частности. Etc., etc....

И все это в Праздник Светлой Пасхи.
Христос Воскресе!


Автор: VicKos
Дата сообщения: 24.04.2011 11:35
oshizelly
Практически то же, что и у asbo, только у меня сейчас нет Excel 2003, делал в 2010.
Файл не выкладываю, на картинке всё видно.
Автор: kimtan
Дата сообщения: 24.04.2011 12:11
В третьем условии достаточно:
=ПРАВСИМВ(A1;3)>ПРАВСИМВ(A1)
Автор: VicKos
Дата сообщения: 24.04.2011 12:33
kimtan

ПРАВСИМВ(A1;3) возвращает сразу три последних символа, а не третий с конца.
А тем не менее работает!
Я сначала тоже так пытался делать, но почему то условие не выполнялось, поэтому и начал городить ЛЕВСИМВ(ПРАВСИМВ()).
***
Только что проверил, не совсем корректно работает - если третий символ с конца равен последнему (то есть не больше, как в условии)) , такая формула почему то возвращает ИСТИНА
Автор: asbo
Дата сообщения: 24.04.2011 12:41
kimtan, VicKos
Да, возвращает три, но сравнивается первый из них. Это, вроде, из VBA идет. Сходу даже не смог найти описание этого функционала. Оно работает, но доверять ему не следует. Я сознательно пошел на явное выделение именно третьего символа. Не стОит применять такие мутные фичи, когда и так все в этом примере мутно - строки, числа дроби... По-уму, так надо сравнение проводить на стадии формирования этой строки из чисел, а не после этого. Или явно преобразовывать в числа и их сравнивать.
Автор: VicKos
Дата сообщения: 24.04.2011 12:56
asbo
Согласен. Если в знаменателе будет 2 цифры, тогда сравнивать будет со знаком дроби.
В общем, направление указали правильное, пусть пробует на своих реальных данных.
Автор: pav461
Дата сообщения: 25.04.2011 11:16
Здравствуйте. Кто подскажет как можно изменить формулы в таблице, чтобы они работали в 2003 версии офиса.
Вот таблица - http://rghost.ru/5319208

Пакет совместимости поставил, вместо результата получаем #ИМЯ?
Автор: asbo
Дата сообщения: 25.04.2011 12:07
Имо, достаточно убрать "обрамление", чтобы:
=_xlfn.IFERROR(СРЗНАЧ(D6:I6),"")
стало
СРЗНАЧ(D6:I6)

Сделать это можно только в первых ячейках соответствующих столбцов, а потом растянуть, предварительно убедившись, что формулы в столбце аналогичны.
Автор: irk72ag
Дата сообщения: 25.04.2011 12:29
Да, сформулировал очень криво. Каюсь. Самому смешно.
Просто вопрос оказался довольно комплексный. И я не уверен, что смогу правильно объяснить.
Но попробую.

Имеем два файла.

Первый каждый день заводится новый с именем в виде даты т.е. дд.мм.гггг.xslx
Второй с именем Итого.xslx

В первом каждый день забиваются данные в таблицу в 3 столбца и N строк. (номера ячеек те же в кажом файле)

Второй должен быть как база данных.
Т.е. за три дня там должно быть так


12.12.12 данные данные данные
данные данные данные
данные данные данные
13.12.12 данные данные данные
данные данные данные
данные данные данные
данные данные данные
данные данные данные
14.12.12 данные данные данные
данные данные данные
Автор: asbo
Дата сообщения: 25.04.2011 12:48
Всю жизнь было "Скопировать", а потом правой кнопкой "Вставить - Специальная вставка". Не думаю, что в 2010 что-то изменилось...

А, вообще, меня веселят формулировочки:
"Как скопировать ... копи-пейст не предлагать"
"Как скопировать данные введенные ... Именно значение а не формулу ..."

Если данные вводятся, то это уже не формулы.

"Данные должны накапливаться во втором файле." - т.е. в первом файле вводятся в единственную ячеку, а во втором должна накапливаться история их ввода в первом?
Автор: pav461
Дата сообщения: 25.04.2011 12:58
asbo, а можно ли без функции если растянуть формулы так, чтобы в случае если ячейки, по которым считается среднее значение были пустыми, а не выдавали ошибки. А то заполненные таблицы еще нужно распечатывать и сдавать, а если там будут постоянно куча лишних строк, то это нехорошо.
Автор: asbo
Дата сообщения: 25.04.2011 13:37
pav461,
Я уже удалил файл, нет перед глазами :(
Но, на вскидку, надо вставить проверку на наличие значений в ячейках, на которые сылается формула. Типа:
=ЕСЛИ(A1>0, Считать, НеСчитатьВывестиПробел)

Добавлено:
irk72ag
Если файл-2 редактируется по окончании дня, когда файл-1(n) уже сформирован, т.е. в ф2 надо лишь добавить данные из очередного ф1(n), то, как я писал выше - ПКМ-СпецВставка. Это по условиям первой версии задания :)

Но данные будут жить сами по себе и в ф1(n), и в ф2, независимо. Это именно копирование.

Если же надо динамическую связь, которая будет в ф2, отражать изменения, произведенные в ф1n, то это уже другая задача. И, потом, ф2 никогда сам не узнает (в общем случае), что появился очередной ф1(n+1). Ну и множество других проблем...
Автор: pav461
Дата сообщения: 25.04.2011 14:01
сам разобрался.
asvo, спасибо.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121

Предыдущая тема: Trojan Remover 6.81 Build 2594


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.