Обновлять:
Написав это и немного погуглив, я нашел следующие API:
Что позволило мне вместо этого создать эту однострочную формулу:
=IMAGE(CONCATENATE("https://www.countryflags.io/", REGEXEXTRACT(INDEX(IMPORTDATA(CONCAT("https://restcountries.eu/rest/v2/name/", F3)), 1, 3),"""(\w{2})"""), "/flat/64.png"))
(если кто-нибудь знает, как лучше импортировать и анализировать json в Google Таблицах, дайте мне знать)
Поскольку это официальные API, а не sciencekids.co.nz, теоретически они обеспечивают следующие преимущества:
- Немного правильнее использовать специально созданный API, чем какой-то случайный веб-сайт.
- Maybe slightly more "future proof"
- Availability: more likely to be available in the future
- Обновлено/техническое обслуживание: более вероятно, что оно будет обновлено для включения новых стран/обновленных флагов.
Но есть большой недостаток: кажется, что он ограничен изображениями шириной 64 пикселя (даже изначально опубликованное решение sciencekids предоставляло изображения шириной 96 пикселей). Поэтому, если вам нужны изображения более высокого качества, вы можете адаптировать исходную формулу к:
=IMAGE(SUBSTITUTE(SUBSTITUTE(QUERY(IMPORTXML("http://www.sciencekids.co.nz/pictures/flags.html","//@src[contains(.,'flags96')]"),CONCATENATE("SELECT Col1 WHERE Col1 CONTAINS '/", SUBSTITUTE(SUBSTITUTE(A1, " ", "_"), "&", "and") ,".jpg'")),"..","http://www.sciencekids.co.nz"), "flags96", "flags680"))
который предоставляет изображения шириной 680 пикселей на сайте sciencekids.co.nz. (Если кто-нибудь найдет API, который предоставляет изображения более высокого качества, сообщите мне. Он должен быть там)
Исходное сообщение:
Чтобы добавить к потрясающему ответу Макса, вот все это в одной функции:
=IMAGE(SUBSTITUTE(QUERY(IMPORTXML("http://www.sciencekids.co.nz/pictures/flags.html","//@src[contains(.,'flags96')]"),CONCATENATE("SELECT Col1 WHERE Col1 CONTAINS '/", SUBSTITUTE(SUBSTITUTE(A1, " ", "_"), "&", "and") ,".jpg'")),"..","http://www.sciencekids.co.nz"))
(Если кто-то хочет немного упростить это, будьте моим гостем)
Поместите это в A2 и введите название страны в A1 (например, Турция или Босния и Герцеговина), и он покажет флаг для вашего поиска.
person
derekantrican
schedule
29.06.2021