• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • 一つのセルでIF関数を二つ使いたい

    二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??

  • セルのコピー

    EXCELにおいて数式を記入したセルを別のセルにコピーすると、コピー先のセルの数式は自動的に行・列の差を考慮したものに変更されます。 例えば(行・列)=(1・A)に「=C1」と数式を入力します。 これを(3・B)にコピーすれば「=D3」、(5・D)にコピーすれば「=F5」となってしまいます。 どこにコピーしても「=C1」となるようにしたいのですが、どうすればよいでしょうか?

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • ハイパーリンクのコピーについて。

    EXCEL2003使用 2つのEXCELを開いて、2つの関連した別々の表を作成しています。 (仮に各々「A表」「B表」とします。) 「A表」に住所等の一覧をつくり、一覧の各セルにハイパーリンクをして有ります。 そしてその「A表」のハイパーリンクが有るセルを、もう一方の「B表」にコピーをすると、「A表」のセルの周辺のハイパーリンクまでコピーされ「B表」にペーストされてしまいます。 その為、「B表」に有ったの元々のハイパーリンクが、「A表」のハイパーリンクに変更されたり、空白のセルにまで、ハイパーリンクが出来てしまっています。 この無駄なハイパーリンクのコピーを消す方法は有りませんか? お願いします。

  • IF関数でしょうか?

    IF関数だと思うのですが、セルA1に仮に数値30と入っています。で条件としてセルB1が0.2の場合にはA1(値30)に1.1を掛けます。ただB1が0.3の場合はA1(値30)に0.9を掛けます。B1が0.4の場合にはA1(値30)に0.7を掛けます。同じ様にB1が0.5の場合にはA1に0.6を掛けます。その値をC1に表示したいと言う場合、C1の数式はどのように描けばよいのでしょうか?

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • IF関数を使った数式がおかしいのですが…

    エクセルに詳しくない為、下の数式のどこがおかしいのか全くわかりません。どうかよろしくお願いします。 ・B1が「0」であればC1は「×」 ・B1が「0」以外でA1とA2の両方が「◎」ならC1は「◎」 ・または、B1が「0」以外でA1とA2の両方が「△」ならC1は「△」 ・B1が「0」以外で、A1とA2の両方が「◎」または「△」に揃っていない場合はC1は「○」 …となるようにしたいのですが、どうしてもうまく表示されません(A1が「○か△」でA2が「◎」の時は正常に表示されるのですが、A1「◎」でA2「○か△」の時にどうしても「◎」となってしまいます)。 C1のセルに入力している数式は、 =IF(B1=0,"×",IF(A1:A2="◎","◎",IF(A1:A2="△","△","○"))) です。自分なりに調べてみたもののさっぱりです。IF関数 では無理なのでしょうか…。 よろしくお願いいたします。

  • エクセルのIF関数とVLOOKUP関数について教えてください。

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • IF関数について教えてください。

    IF関数について教えてください。    A    B    C    D     1              ここの関数     この場合D1の数式をご教授お願いします。   もしA1に数値を入力した場合は「C1+A1」、もしB1に数値を入力した場合は「C1-B1」   おそらく2つのIFがあるのはわかるのですができません。      よろしくお願いいたします。

専門家に質問してみよう