#google-apps-script #google-sheets #google-sheets-formula
Вопрос:
У меня есть страница Google, где будет записана оплата, произведенная в PayPal. Таким образом, в основном пользователи будут вводить адрес любым способом, поэтому, чтобы уменьшить количество ошибок, у меня есть все возможные адреса, которые может ввести пользователь (это потому, что это платежная система для жителей моего жилого района, поэтому у меня есть весь адрес пользователя в базе данных). Итак, может ли кто-нибудь помочь мне найти формулу, которая найдет фактический адрес в листе «ИМЕНА ПОЛЬЗОВАТЕЛЕЙ» и возьмет только номер дома и улицу из фактических данных. Я прикрепил несколько изображений, чтобы лучше объяснить себя. Я хочу, чтобы формула была на листе «Paypal 2». Пожалуйста, ребята, мне нужна эта помощь.
https://docs.google.com/spreadsheets/d/1bM8l6JefFsPrlJnTWf56wOhnuSjdIwg3hMbY1tN1Zp8/edit#gid=0 — Ссылка на мои страницы Google
The address entered by users
The sheet to look up for the actual address
Sheet to split the house number and street
Комментарии:
1. Неясно, где вы хотите получить формулу(ы). Пожалуйста, будьте конкретны (название листа и диапазон) относительно того, где вы хотите формулы.
2. @ErikTyler Я хочу, чтобы формула была в PaypalData2, братан (на данный момент я изменил имя в конфигурации оплаты, и мне нужна формула в столбце оплаты Paypal, братан). Вам удалось понять проблему, извините?
3. Что плохого в том, как у вас это сейчас? Насколько я вижу, у вас уже есть номер дома и улица, заполненные должным образом.
4. @Kessy Да, это работает, братан, но иногда пользователь может просто ввести номер дома и улицу без слова бандар путери, или иногда они просто пропустят кому при вводе своего адреса, поэтому я прошу помощи, где у меня есть весь фактический адрес, так как это платежный проект для моего жилого района. Поэтому, используя введенный пользователем адрес, его следует сверить с фактическим, а используя фактический адрес, его следует разделить на номер дома и столбец братан. Я действительно надеюсь, что вы сможете мне в этом помочь
5. Поскольку у вас нет контроля над тем, как пользователи вводят свой адрес в PayPal, вы не можете написать формулу, которая будет работать для всех возможных вариантов введенного адреса. Вам придется вручную проанализировать адреса из PayPal и разделить их на части для ваших записей. Вы могли бы написать регулярное выражение для наиболее распространенного способа записи адреса (например, номер дома, название улицы, район) и попытаться проанализировать адрес PayPal в соответствии с этим и отметить его для вашего обзора в таблице, если он не сможет его проанализировать.
Ответ №1:
Попробуйте это:
- Удалите свои формулы из «Конфигурации оплаты»! B3:C3. (Это временно удалит все результаты из B3:C.
- Поместите следующую формулу в ячейку B3:
=ARRAYFORMULA(IF(LEN(PaypalData1!C3:C),PROPER(REGEXEXTRACT(PaypalData1!L3:L, "(d )[,s] ([^,] d )")),))
REGEXEXTRACT
позволяет извлекать более одной группировки, как я сделал с помощью этой формулы; таким образом, это должно привести к единому результату для B3:C.
Выражение RE2 гласит: «Найдите первое число(числа), за которым следует любое количество запятых или пробелов, и извлеките часть числа как группу один; затем найдите любую строку после нее, которая не содержит запятой и заканчивается любым количеством цифр, и извлеките ее как группу два».