web-dev-qa-db-ja.com

別のシートのURLに基​​づいてセル値を書き込む

URLの値に基づいてGoogleシートのセルにデータを入力する方法はありますか?

例:以下のハイパーリンクがsheetAにあり、リンクがクリックされた場合。 ?cell=englishをsheetBのセルに入れる方法はありますか?

=HYPERLINK("#gid=2018939279?cell=english","English")
1
Mr. B

スプレッドシートに埋め込まれたハイパーリンクをクリックするイベントは、スプレッドシート自体には表示されません。変更をトリガーすることはできません。 (リンクがスプレッドシートを変更するようにプログラムされているWebアプリケーションへのリンクでない限り)。

=hyperlink数式を使用してセルからURLを抽出する場合-これは組み込みのスプレッドシート関数では実行できませんが、それを行うカスタム関数(Google Apps Scriptで実装)があります。参照 ハイパーリンクされたセルからリンクテキストとURLを抽出します

2
user135384

これはクリックイベントではできませんが、ある程度偽装することができます。

  • cell SheetA!A1:データ検証によるカスタムチェックボックスの挿入
  • cell SheetA!B1:=IF(A1=1, HYPERLINK("https://www.themoviedb.org/", "English"), )
  • cell SheetA!C1:=IF(B1<>"", HYPERLINK("https://www.themoviedb.org/"), )
  • cell SheetB!A1:=INDIRECT("SheetA!C1")

1

2

3

4

もう1つの方法は、https://bitly.com/などのURL短縮サービスを介してそのリンクをマスクし、IMPORTXML()そして、単純なIF()ステートメントを次のように使用します。
IF(IMPORTXML(imported click-count)>2(click-counts), INDIRECT("SheetA!C1"), )
ocured click and fill cellSheetB!A1を検出するには-唯一の欠点は、それが1回だけのトリガー検出器であることです。

0
user0