Страницы: 1
RSS
Формула Если ведет себя странно
 
Приветствую! Всех с Рождеством!!!
Ребята подскажите в чем причина неправильной работы формулы.
Если вкратце, у меня есть много слово разделенные на слоги, дележ через -
В одном из слогов есть ударение, в моем случае я заменил его на значок ʃ
Также я имею количество слогов.
Разделив слоги по колонкам я пытаюсь применить формулу (колонка L)
Код
=ЕСЛИ(ПОИСК("ʃ";M2;1)>0;J2;ЕСЛИ(ПОИСК("ʃ";N2;1)>0;J2-1;ЕСЛИ(ПОИСК("ʃ";O2;1)>0;J2-2;ЕСЛИ(ПОИСК("ʃ";P2;1)>0;J2-3;ЕСЛИ(ПОИСК("ʃ";Q2;1)>0; 
J2-4;ЕСЛИ(ПОИСК("ʃ";R2;1)>0;J2-5;ЕСЛИ(ПОИСК("ʃ";S2;1)>0;J2-6;ЕСЛИ(ПОИСК("ʃ";T2;1)>0;J2-7;ЕСЛИ(ПОИСК("ʃ";U2;1)>0;J2-))))))))

но на практике, я могу получить нужную цифру только для 1-го условия
Вообще смысл формулы получить номер слога в котором есть ударение с конца
АА'А-ААА-ААА - 3-й слог
ААА-АА'А-ААА - 2-й слог
ААА-ААА-АА'А - 1-й слог

бывают конечно слова с 2-мя ударениями, но это +/-10 слов

Возможно есть и более простое решение, но я его не нашел.
Все формулы содержатся во 2-й строке
P/S/ Знаки ударений это составные символы (это может быть макрон, акут, черта снизу макрон+черта снизу, гравис, кружок и тд.)

Буду признателен за помощь.
Изменено: Антон - 07.01.2014 19:27:10
 
Вроде функция ЕСЛИ допускает не более 7 уровней вложения. Потому и не работает ИМХО
Удивление есть начало познания © Surprise me!
И да пребудет с нами сила ВПР.
 
не уверен что правильно понял ТЗ, но всё же...
Удивление есть начало познания © Surprise me!
И да пребудет с нами сила ВПР.
 
А я так вообще не понял, зачем делить слово на слоги в отдельных ячейках...
Если столбцы A:H - это известные данные (правда, так и не дошло, какую позицию означает "Where accent" - в "Syllable IAST", что ли?), и известна разбивка по слогам, и известна позиция символа с ударением, то нужное значение (слог с ударением с конца) вычисляется прямо из разбитого по слогам слова - достаточно посчитать количество тире от символа с ударением до конца слова (и прибавить 1)...  :)
 
Цитата
достаточно посчитать количество тире от символа с ударением до конца слова (и прибавить 1)...
я же говорю, что бывает иду очень непростыми путями)

Цитата
не уверен что правильно понял ТЗ, но всё же...
да вроде оно.
Ну не работают мысли по самому простому пути)
А если поразглагольствовать, то ситуация такая.
Есть слова изначальные с абракадаброй, их преобразовали и привели к одному стандарту. как буква + составное ударение.
Скрипт который разбивает на слоги, работает с кодировкой SL1 изначальный список в транслите(IAST), + он не понимает ударения, не дописали.
Поэтому мы удаляем все ударения из слов и разбиваем его на слоги. После этого возвращаем слоги на место с учетом смещения слогов.
Ну а дальше нужно получить цифру которая будет равно порядковому номеру слога с конца слова.

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

Спасибо ребят!
 
Цитата
Вроде функция ЕСЛИ допускает не более 7 уровней вложения.
Странно, заметил ограничение, когда действительно сказало, сохраняя в 2003, в 2013 просто сказало, что вычисления неправильные. Ни 1 словом про ограничение

Кстати, а как формулой одной посчитать количество тире от символа с ударением до конца слова (и прибавить 1)... ???

Код
=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);"-";"") 

эта посчитает символы "тире" вообще
Изменено: Антон - 07.01.2014 21:04:36
 
Цитата
Кстати, а как формулой одной посчитать количество тире
Ну так и надо использовать не всю строку, а только подстроку правее символа с ударением:

=ДЛСТР(Строка)-Позиция-ДЛСТР(ПОДСТАВИТЬ(ПРАВБ(Строка;ДЛСТР(Строка)-Позиция);"-";""))+1
 
Цитата
Кстати, а как формулой одной посчитать количество
Кстати, это уже другая тема
Страницы: 1
Читают тему
Наверх