Как подсчитать количество случаев появления конкретного символа в ячейке Google Таблицы, которые отображаются в качестве критерия последними в ячейке? - PullRequest
2 голосов
/ 18 мая 2019

Как подсчитать количество вхождений определенного символа в ячейку Google Таблицы, появившихся последними в ячейке (и игнорируя другие вхождения того же символа, появлявшиеся перед последним в ячейке)?

Я пытаюсь сделать следующее:

Если ячейка C1 содержит точку (".") В качестве последнего символа в ячейке C1, затем вернуть 1 в результате, иначе (если ячейка C1 не содержит периода или периодов перед последним символом без периода в качестве последнего символа в ячейке C1), вернуть 0 или оставить пустым или игнорировать.

Я пробовал эту формулу до сих пор, но она возвращает 1, даже если перед последним символом есть точка:

=COUNTIF(C1,"*.*")

После этого урока:

Вот скриншот результата, который я получаю:

https://imgur.com/S7MhICk

Я также пытался добавить пробел в конце критерия, но затем игнорирует это:

=COUNTIF(C1,"*.*")

Вот скриншот 2-го результата, который я получаю:

https://imgur.com/WUv8i9c

Что бы я хотел получить в результате:

  1. Помощь. Помогите. (1) (считается только последнее ".")
  2. Помощь. Справка (0) (игнорировать счет)
  3. Помощь. (1) * * 1 044

Где критерий подсчета будет относиться к последнему символу, а последний символ - точка (".")

РЕДАКТИРОВАТЬ:

Я также взглянул на эту функцию =RIGHT, и это заставило меня задуматься:

Как получить последний символ строки с помощью функции Excel?

Я придумал это, и, кажется, тоже работает:

=IF(RIGHT(C1, 1)=".","1","") 

чтобы вернуть строку ("1")

или

=IF(RIGHT(C1, 1)=".", 1, 0) 

(для возврата числовых значений 1 и 0)

0

Наконец, я добавил, как выбрать эти символы, а также последние символы, с помощью оператора ИЛИ:

("!") ("?") ("...") ("-")

=IF(OR(RIGHT(C1, 1)=".",RIGHT(C1, 1)="!",RIGHT(C1, 1)="?",RIGHT(C1, 1)="...",RIGHT(C1, 1)="—"),1,"")

https://imgur.com/5QSvB8d

1 Ответ

2 голосов
/ 18 мая 2019

попробуй так:

=ARRAYFORMULA(IFERROR(IF(REGEXEXTRACT(A20:A, ".$")=".", 1, 0)))

0


=ARRAYFORMULA(IF(LEN(A1:A), 
 IF(IFERROR(REGEXEXTRACT(A1:A, "\...$|\?$|!$|—$|\.$"))<>"", 1, 0), ))

0

...