- ベストアンサー
if関数でハイパーリンク付きセルをコピーしたい
・A1セルにハイパーリンクが貼ってあります ・B1セルに1と記入してあります ・C1セルに数式があります =IF(B1=1,A1,"") この場合C1セルにハイパーリンクはついて来ません。 どうすればハイパーリンクが付いたままA1セルをC1にコピーできるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
例データ A1にハイパーリンク http://google.co.jp A2に1(質問ではB1) A3に =IF(A2=1,HYPERLINK(TEXT(A1,"@"),"グーグル"),"") でうまく行くようです。ハイパーリンク色も出る。 ーー =IF(A2=1,HYPERLINK(A1),"")だとある点でうまく行かない。
その他の回答 (2)
- mt2015
- ベストアンサー率49% (258/524)
セル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で確認しています。
お礼
回答ありがとうございました。
- fmxBeem
- ベストアンサー率54% (325/599)
=IF(B1=1,A1,"") これを =IF(B1=1,HYPERLINK(A1),"") に修正して下さい(^^)/
補足
回答ありがとうございました。 残念ながら、ハイパーリンクはついてきませんでした。 =HYPERLINK(A1)これを直接記入するとハイパーリンクはついて来ました。
お礼
回答ありがとうございました。 期待通り動きました。