• ベストアンサー

if関数でハイパーリンク付きセルをコピーしたい

・A1セルにハイパーリンクが貼ってあります ・B1セルに1と記入してあります ・C1セルに数式があります =IF(B1=1,A1,"") この場合C1セルにハイパーリンクはついて来ません。 どうすればハイパーリンクが付いたままA1セルをC1にコピーできるのでしょうか?

質問者が選んだベストアンサー

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

例データ A1にハイパーリンク http://google.co.jp A2に1(質問ではB1) A3に =IF(A2=1,HYPERLINK(TEXT(A1,"@"),"グーグル"),"") でうまく行くようです。ハイパーリンク色も出る。 ーー =IF(A2=1,HYPERLINK(A1),"")だとある点でうまく行かない。

VitaminBB
質問者

お礼

回答ありがとうございました。 期待通り動きました。

その他の回答 (2)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.3

セルA1の表示文字列をリンクアドレスとは違うものに変えているということでしょうか。 ハイパーリンクのリンクアドレスは関数では取得できません。 リンクアドレスを取得するユーザ関数を作ってみましたので、このユーザ関数との組み合わせで実現してみました。 標準モジュールに以下のコードを入れてください。 Function sHyURL(rHY As Range) As String   sHyURL = ""   If rHY.Hyperlinks.Count = 1 Then     sHyURL = rHY.Hyperlinks(1).Address   End If End Function セルC1には↓と入れてください。 =IF(B1=1,HYPERLINK(sHyURL(A1),A1),"") ハイパーリンクの色やアンダーバーは表示しないようですがハイパーリンクは機能します。 Excel2010で確認しています。

VitaminBB
質問者

お礼

回答ありがとうございました。

  • fmxBeem
  • ベストアンサー率54% (325/599)
回答No.1

=IF(B1=1,A1,"") これを =IF(B1=1,HYPERLINK(A1),"") に修正して下さい(^^)/

VitaminBB
質問者

補足

回答ありがとうございました。 残念ながら、ハイパーリンクはついてきませんでした。 =HYPERLINK(A1)これを直接記入するとハイパーリンクはついて来ました。

関連するQ&A