|
|
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Коллеги, подскажите, такое можно решить с помощью формулы массивов? Шаг 0 46 76221 35746 7 Шаг 1 46 76221 35746 (убрали самую правую цифру, которая 7) Шаг 2 6+6+2+3+7+6=30 (складываем чётные) Шаг 3 30х3=90 (константа = 3) Шаг 4 4+7+2+1+5+4=23 (складываем нечётные) Шаг 5 90+23=113 (складываем результат шагов 2 и 4) Шаг 6 10-3=7 (отнять крайнюю правую цифру результата шага 5 от 10 (константы)) Если возможно решить это с помощью формулы массива, то как объединить: 1. =СУММ(ЗНАЧЕН(ПСТР(ABS(A4);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(ABS(A4))));1))) - суммирование значений всех 2. =ПСТР(A4;ПОИСКПОЗ(0;(ЕОШИБКА(ПСТР(A4;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A4)));1)*1)*1);0);ДЛСТР(A4)-СУММ((ЕОШИБКА(ПСТР(A4;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A4)));1)*1)*1))) - выделение цифр, например из текста 3. и функцию чётн и нечётн? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 12:56 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
или только VBA? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 12:57 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33Шаг 5 90+23=113 (складываем результат шагов 3 и 4) поправлюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 12:58 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33Ivan33Шаг 5 90+23=113 (складываем результат шагов 3 и 4) поправлюсь Только не сильно, в дверь не протиснетесь :) Непонятно "Шаг 2, складываем четные". В примере два четных числа (в "Шаг 1"): 46 и 35746, вы же складываете 6+6+2+3+7+6. Дальше шаги не просматривал. Покажите в файле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 13:08 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Уже сообразил, это одно число в ячейке. Формула массива для постоянной длины числа: {=10-ПРАВСИМВ(СУММ(--ПСТР(A1;СТРОКА(1:6)*2;1))*3+СУММ(--ПСТР(A1;СТРОКА(1:6)*2-1;1)))} Если длина текста разная, нужно доработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 13:19 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturУже сообразил, это одно число в ячейке. Формула массива для постоянной длины числа: {=10-ПРАВСИМВ(СУММ(--ПСТР(A1;СТРОКА(1:6)*2;1))*3+СУММ(--ПСТР(A1;СТРОКА(1:6)*2-1;1)))} Если длина текста разная, нужно доработать. у меня с моим числом вадётся цифра 8, хотя должна быть цифра 7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 13:49 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33viktturЕсли длина текста разная, нужно доработать. у меня с моим числом вадётся цифра 8, хотя должна быть цифра 7 да, всё работает. забыл ввод сдеать как "массив". да, длинна разная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 13:51 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturУже сообразил а с третьим пунктом (применение чётн и нечётн) не стоит мутить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 14:11 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Тестируйте, для длины строки от 1 до 20: {=10-ПРАВСИМВ(СУММ(--ПСТР(ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&ПОВТОР("0";20);СТРОКА(1:10)*2;1))*3+СУММ(--ПСТР(ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&ПОВТОР("0";20);СТРОКА(1:10)*2-1;1)))} Максимальную длину строки в А1 можно регулировать верхним диапазоном в СТРОКА(1:10) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 14:17 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33viktturУже сообразил а с третьим пунктом (применение чётн и нечётн) не стоит мутить? Формула обрабатывает отдельно четные, отдельно нечетные вхождения в строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 14:19 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturТестируйте, для длины строки от 1 до 20: {=10-ПРАВСИМВ(СУММ(--ПСТР(ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&ПОВТОР("0";20);СТРОКА(1:10)*2;1))*3+СУММ(--ПСТР(ЛЕВСИМВ(A1;ДЛСТР(A1)-1)&ПОВТОР("0";20);СТРОКА(1:10)*2-1;1)))} Максимальную длину строки в А1 можно регулировать верхним диапазоном в СТРОКА(1:10) спасибо, туплю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 14:41 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33, Контрольную сумму штрихкода можно еще так посчитать (формула массива): Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2011, 19:39 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Михаил Ч.Ivan33, Контрольную сумму штрихкода можно еще так посчитать (формула массива): Код: plaintext Можно даже немного сократить: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 01:00 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Михаил Ч.Контрольную сумму штрихкода можно еще так посчитать... Отлично, за массивы констант я не подумал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 09:35 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Михаил Ч.Контрольную сумму штрихкода можно еще так посчитать тоже работает. а таким образом можно посчитать контрольную сумму любого штрих-кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 11:50 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturЕсли длина текста разная, нужно доработать. Ivan33да, длинна разная А разве штрих-коды имеют разную длину? Тогда формулу с массивами констант нужно доработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 11:54 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Для длины кода от 1 до 20 знаков: =ОСТАТ(СУММ(ПСТР(A1-ПРАВСИМВ(A1)&ПОВТОР("0";20);{1:3:5:7:9:11:13:15:17:19}+{0;1};1)*{1;3});10) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 12:02 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturА разве штрих-коды имеют разную длину? Тогда формулу с массивами констант нужно доработать. да, имеют. например, может быть 128 символов, 256 и т. д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 12:05 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33viktturА разве штрих-коды имеют разную длину? Тогда формулу с массивами констант нужно доработать. да, имеют. например, может быть 128 символов, 256 и т. д. только вот вопрос, у всех ли одинаковы принципы подсчёта контрольного числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 12:06 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33только вот вопрос, у всех ли одинаковы принципы подсчёта контрольного числа. может Михаил подскажет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 12:09 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
При такой длине кода (128, 256) формула с имассивами констант не подойдет. {1:3:5:.....:253:255} - нормальненько, да? Если подсчет контрольной суммы одинаков для любого штрих-кода, берите мою формулу, увеличив обработку количества символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 12:20 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Вот такой вот гибрид, должен работать по алгоритму из первого поста автора с кодами от 1 до 300 знаков: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2011, 12:29 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33 хочет продолжения :) Нужна формула для определения контрольного числа. Если будет ошибка, нужно определить, из-за чего она возникла - или не то контрольное число, или не та длина кода. Я правильно понял? Ждем пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 14:37 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturЯ правильно понял? Ждем пример. в основном интересует длина кода. то есть это тоже некоторый набор констант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 17:14 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 17:22 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Хорошо, что подняли тему. Моя последняя формула ошибочна - выдает не одно число, а массив из двух чисел. Не там стоит скобка, да последний массив записан наоборот, нужно " {3;1} " С учетом последних пожеланий исправленная: Код: plaintext 1. При длине строки не равной 8 или 13, или если код записан не числом - предупреждение; Если контрольное число не совпадает - другое предупреждение. Ivan33, у Вас еще небольшая ошибка: при протягивании формулы нужно было закрепить СТРОКА($1:$150) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 19:20 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33, в Вашем примере есть Проверка_4. Что это, не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 19:22 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
vikttur Код: plaintext 1. Вариант с проверками: Код: plaintext Виктор, твой вариант формулы на штрихкодах 50705689 и 46009333 (EAN-8), вадает "Штрих-код не верен!", хотя штрихкод верный, а на коде 12345678 - "ОК", хотя он не верный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 23:02 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Возможно, ты прав. Я не смотрел логику вычисления разных стандартов, использовал логику первого поста автора. По авторскому варианту формула работает: 10-ПРАВСИМВ(СУММ(четных)*3+СУММ(нечетных)) По этой формуле в коде 50705689 контрольное число должно быть 7: 10-(ПРАВСИМВ((0+0+6)*3+(5+7+5+8))=7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 23:23 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
vikttur, Ссылку на Википедию давал выше, свою формулу делал строго по принцыпу, указанному там ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 23:28 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Посмотрел по ссылке. Да, расчет отличается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 23:31 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Теперь я понял, почему автор упорно хотел формулу для 8- и 13-значных кодов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2011, 23:33 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Михаил Ч.ИЛИ(ДЛСТР(B3)={8;12;13})) Михаил, вот в этот кусочего можно включать и другие фиксированные размеры? например 128, 256? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 09:35 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturIvan33, в Вашем примере есть Проверка_4. Что это, не понял.это попытка подсчитать повторы в диапазоне. То есть штрих-код не должен повторяться в этом диапазоне. То есть их может быть несколько, но не повторяться. Делать пытался это через массив, однако это не совсем то, что было надо. Была попытка подсчитать в одной ячейке количество повторов. Если их больше 1 для одного кода, то считать это повтором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 09:39 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturIvan33, в Вашем примере есть Проверка_4. Что это, не понял. Поэтому, как оказалось, повторы подсчитываются относительно первой ячейки диапазона. Если смотреть пример, что приложил, то формула работает если её по строкам растянуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 09:43 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturIvan33, в Вашем примере есть Проверка_4. Что это, не понял. хотя на неё не обращайте внимание. она и такая сгодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 10:43 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Коллеги, просветите ещё по теме. Пытаюсь сделать то же с ИНН (см. ссылку на википедию). Там они, эти номера, могут быть 12 и 10 символов. Что не очень понять пример, с авторОСТАТ(СУММ(ПСТР(ТЕКСТ(C27;ПОВТОР(0;14));{1:3:5:7:9:11:13}+{0;1};1)*{3;1});10) для ИНН 500100732259 (12 символов) и формулы автор=СУММ(ПСТР(ТЕКСТ(C14;ПОВТОР(0;13));{1:2:3:4:5:6:7:8:9:10};1)*{7;2;4;10;3;5;9;4;6;8}) получается 1024, а должно 148. понимаю, что ерунда и нужен ещё какой-то параметр типа автор+{0;1} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 13:04 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
С остатком нет сложностей: Код: plaintext Что суммирует СУММ()? Код: plaintext Код: plaintext Код: plaintext ПСТР(...)*{3;1} - числа массива, который суммировался с нулем, умножается на 3, числа второго массива на 1. В итоге массивы суммируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 13:28 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Для ИНН ИНН12 (две контрольные цифры): Код: plaintext ИНН10 (одна контрольная цифра): Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 13:48 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Михаил Ч.Для ИНН ИНН12 (две контрольные цифры): Код: plaintext ИНН10 (одна контрольная цифра): Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 17:11 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Михаил Ч.Для ИНН ИНН12 (две контрольные цифры): Код: plaintext ИНН10 (одна контрольная цифра): Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 17:13 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Михаил Ч.Для ИНН ИНН12 (две контрольные цифры): Код: plaintext ИНН10 (одна контрольная цифра): Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 17:14 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Михаил Ч.с массивом вроде работает. пардон, вот правильный с массивом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 17:17 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
viktturС остатком нет сложностей: Код: plaintext Что суммирует СУММ()? Код: plaintext Код: plaintext Код: plaintext ПСТР(...)*{3;1} - числа массива, который суммировался с нулем, умножается на 3, числа второго массива на 1. В итоге массивы суммируются.Виктор, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 17:18 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Ivan33или это формула массива? а в линейную формулу это не получится уложить? Можно сделать и без массивного ввода: Код: plaintext Код: plaintext тема называется "Формула массива...", поэтому предложил соответствующую формулу. Думаю, что вместо СТРОКА(...), в данном случае, лучше использовать массив констант. Будет уверенность, что формулы не нарушатся при вставке/удалении строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2011, 08:41 |
|
||
|
Формула массива для работы с номером в ячейке, суммирование чётных и нечётных, выделение
|
|||
|---|---|---|---|
|
#18+
Михаил Ч. Код: plaintext Спасибо, Михаил, работает. Пришлось для применения с функцией ЕСЛИ (проверки) сделать промежуточные ячейки. А то формула с ЕСЛИ ругалась на уровень вложенности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2011, 12:03 |
|
||
|
|

start [/forum/topic.php?all=1&fid=61&tid=2176517]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
189ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
94ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 573ms |

| 0 / 0 |
