• 締切済み

Googleスプレッドシートでリンクを取り出す

Googleスプレッドシートで、例えばA1セルに =HYPERLINK("http://www.yahoo.co.jp","ヤフー") と入力してあります。 A2にURLだけ取り出すことはできるでしょうか? 平凡に「http://www.yahoo.co.jp」 とURLだけ表示されるようにしたいのです。 数百業もデータを作ってしまった後に「URLだけ欲しい」と思ってしまったので、手動で取り出すのが大変で、アドバイスを頂けますと幸いです。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

#1です。#1ではVBAが中心の回答になり、けなされてしまったが、続いて考えてみました。 こちらもエクセルでの回答すが、こちらは関数でやって見ました。 エクセルでは関数だけで、できそうだということです。 「Googleスプレッドシート」では、「FORMUTEXT関数」が今のところ無いようなのですが、(よければ質問者の方で存在するか調べてください)残念です。 エクセルの回答なので、質問者にはこれでは回答として不満でしょう。 今後に、質問者以外の、他の人にも目に留まることも考えて、上げてみます。(私は、ほぼいつも質問者以外の方も、後日読んでくれることを意識して回答してます。) 検索が充実したおかげで、今では(2015年)WEBでの過去質問の疑問点の解説によく出くわします。この質問と同じ質問をするひと(ただしエクセルで)がいて、WEB照会したその際に、その人のお役に立てばと思う。 ーーー B列は関数を入れた結果の見た目です。 例  B列   C列 ヤフー =HYPERLINK("http://www.yahoo.co.jp","ヤフー") http://www.yahoo.co.jp グーグル =HYPERLINK("http://www.google.co.jp","グーグル") http://www.google.co.jp 大塚 =HYPERLINK("https://faq.qqweb.jp/faq/viewer.asp?ID=AC9A687811","大塚") https://faq.qqweb.jp/faq/viewer.asp?ID=AC9A687811 ヨドバシ =HYPERLINK("http://www.yodobashi.com/","ヨドバシ") http://www.yodobashi.com/ <B列の式> B2に (ハイパーリンクの設定) =HYPERLINK("http://www.yahoo.co.jp","ヤフー") <C列の上の方の式> C2に (ハイパーリンク設定式を別セルに文字列表示化) =FORMULATEXT(B2) <C列の下の方の式> C4に (文字列からアドレス部分を抜出し) =MID(C2,13,FIND(",",C2)-14) ーーー グーグル以下の例の式の解説は、同様なので省略。

fjaweoi29380
質問者

お礼

bn9

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

(1)質問者は、「Googleスプレッドシート」での解法を望んでいるのは、わかりますが (2)参考までにエクセルでは、過去に同じような質問があるが、   (A)ワークシート関数(普通にエクセル関数といっている関数)での解法は存在しないようだ、   (B)VBAなら、WEBに下記のような回答があり、 Function GetLinkAdr(Rng As Range) As String Dim StrAdr As String Application.Volatile With Rng.Cells(1) If .HasFormula Then If InStr(.Formula, "=HYPERLINK") = 1 Then _ StrAdr = Split(.Formula, Chr(34))(1) Else If .Hyperlinks.Count > 0 Then _ StrAdr = .Hyperlinks(1).Address End If End With GetLinkAdr = StrAdr End Function 上記VBA関数(Function) Sub test02() Range("c2") = GetLinkAdr(Range("b2")) Range("c7") = GetLinkAdr(Range("b7")) End Sub でできることを確認した。 ーー ただし (x)HYPERLINK関数での設定したセルと (Y)VBAで設定したしたセルと、捉え方に差があるようでややこしい(十分自信なし) それが If .HasFormula Then ・・ Else ・・・ EndIf と聞いて2つの部分(Else以下とその上の部分)に分けている理由のようだ。 (X)のコードは、1セルの例で Sub test01() Range("B3").Hyperlinks.Add Anchor:=Cells(3, 2), Address:="http://www.yahoo.co.jp" End Sub (Y)で設定すると Public Sub GetURL() Dim h As Hyperlink MsgBox ActiveSheet.Hyperlinks.Count For Each h In ActiveSheet.Hyperlinks MsgBox h.Address h.Range.Offset(0, 1) = h.Address Next End Sub では引っかかる(取り出せる)。しかし(X)で設定したものは捉えられないようだ。 ーーー 質問者はエクセルVBAは経験ないだろうが、Googleスプレッドシートのマクロ(Google Apps Scriptプログラミング)も経験ないだろうから、なお勉強しにくい。 この後の回答か、自分でWEBなりを調べて関数での回答を期待して、ください。 (望み薄と思うが) エクセルとの互換性やエクセルが表計算ソフトで先行開発している(特にVBA・マクロ)ので、まずGoogleスプレッドシートにも関数がないのではないか。またマクロの記事でも調べにくいのでは。 もしクセルにデータを移して、VBAでやるのであれば、 ある列の、連続した「数百行ものデータ」をもとに、隣列にでも、アドレスの文字列を出すことはできる。ただし上記の 2.(B)のプログラムを多少修正する必要がある。

fjaweoi29380
質問者

お礼

bkk

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Googleドキュメント スプレッドシート

    Googleドキュメントのスプレッドシートを利用しています。 WEBで直接利用したり、ローカルのデスクトップからエクセルデータをアップロードして 使っています。 【質問】 Googleスプレッドシートを使っている際に、長文を一つのセル内に入れます。 そうしますと、何行もセルが改行されてしまいます。 たとえば、マイクロソフトのExcelなどだと、長文を改行せずに、1つのセル内に納めることが できるはずです。 Googleスプレッドシートではどのようにすればそれが出来るのでしょうか? 非常に読みづらくなってしまっています。

  • Googleスプレッドシートの表示について

    Googleスプレッドシートについて。 スプレッドシートのセルに文字を入力するとして、文字が入った段階で、文字を()で囲む設定、または数式があれば教えていただけませんか。

  • googleスプレッドシートのプルダウンについて

    googleのスプレッドシートでプルダウンリストを作成し プルダウンから選択し入力するようにしているのですが、 絶対にプルダウンから選択させる方法はありますでしょうか。 googleのヘルプには ・リストに含まれているアイテムの入力のみ許可するには、[無効なデータの場合] で [入力を拒否] を選択します。 とあり、プルダウンできるセルに直接リストと異なるものを入力した場合は拒否できるのですが、 全く関係ない文字の入っているセルや空白セルをコピーしてプルダウンできるセルに貼り付けた場合 プルダウンごと上書きされてしまい自由に編集できてしまいます。 何かしらの設定でこういうことを回避できるのでしょうか。 ご存知の方、教えていただけると幸いです。よろしくお願いいたします。

  • Googleスプレッドシートについて

    お世話になります。 Googleスプレッドシートの使い方についてご質問させて頂きたいです。 セルにURLをコピペすると自動でリンクっぽくなり、 そこにカーソルを合わせると吹き出しみたいなのが今まで出てました。 その吹き出しをクリックするとリンク先へ飛んでたのですが、 突然その吹き出しが出なくなり困っております。 URLのところにカーソルを合わせても何も反応がなく、そのリンクを開きたいときコピペしないといけない状況です。 改善方法やアドバイスを頂けましたら幸い出ございます。 どうぞよろしくお願いいたします。

  • グーグルのスプレッドシートについて質問です

    探したのですが、見つからなかったので・・・。 グーグルのスプレッドシートを使っているのですが、 例えば、A列の文字をC列の入力結果によって色を変えることができるのでしょうか?文字ではなくてもセルの色とか・・・?(C1のセルが「OK」ならA1の色(文字もしくはセル)は青色とか・・・) もしくはそんな機能(関数?書式?)はないのでしょうか? よろしくお願いします

  • Googleスプレッドシートについて

    Googleスプレッドシートのセルとタブ?メニューの表示サイズが異なってしまっています。(拡大されている) パーセンテージは50%になっています、、。 どうしたら同じサイズに変更でき通常のサイズに戻せるのか教えていただけますでしょうか。

  • Googleスプレッドシートでセルの文字数の関数

    こんにちは。 エクセル系にあまり詳しくないもので教えてください。 現在Googleスプレッドシートを使っているのですが、 セルに入力した文字の「文字数」を表示したいです。 例えばA1セルに500文字日本語を入力していると、 A2セルに「500」と出るようにしたいのですが、 この場合どのような関数を書けばよいでしょうか? 詳しい方ご伝授いただけると助かります。 宜しくお願い致します。

  • Googleスプレッドシートの%表示について

    Googleスプレッドシートで現在%表記されているセル、例えば80%(この設定は0.8と入力後にアイコンの%をクリックしました)の部分を変更しようとその部分を選択し数字の90を入れると90%とならずに数字の90が上書きされてしまいます。エクセルではセルの書式設定で%表記に設定して、その部分に数字を入れれば数字ではなく%表示になるのですが。。。スプレッドシートで同様の設定はできないのでしょうか?ご存じの方がいたら教えてください。

  • Googleスプレッドシートについて

    オンラインである人がスプレッドシートを表示させていたのですが、そのURLを入力すれば自分もアクセスできるかなと思い、入れてみたのですが、ページが見つかりませんと表示されます。 もし共有範囲をメアドを知ってる人だけにしてたら「アクセス権限がありません」と表示されると思うのですが、単にURLが間違ってるだけでしょうか?

  • googleドキュメントのスプレッドシートについて

    googleドキュメントのスプレッドシートを利用してみたのですがセルに文字を入力するときに日本語で何かを打とうとすると、すぐにそのセルのある列の中で一番上のセルに入力されている言葉が候補として表示されてしまいます。 (excelで途中まで入力すれば前の履歴から、入力したい文字列を表示してくれるようなものなのですが、この場合と違って何を打っても表示されるのです)。 そしてそのときセルに打ち込んでいた情報が消えてしまうので作業が滞り、とても困っています。どの設定はどのようにすれば解除されるのでしょうか。 ちなみに使用しているOSはWindows-XP, インターネットブラウザはAppleのSafari3.1.1です 質問内容が分かりにくいかとは思いますがどうかよろしくお願いいたします。

このQ&Aのポイント
  • 金融庁の基準をクリアしている投資信託は日本で買えるのはたったの200本です。
  • 金融庁基準をクリアした投資信託一覧を見れるスクリーニングサイトを教えてください。
  • 金融庁基準の投資信託で赤字になっているものはあるのでしょうか?
回答を見る

専門家に質問してみよう