• ベストアンサー

エクセル関数のハイパーリンクについて

初めて質問します。よろしくお願いします。 エクセル2000を使っています。 A列に商品番号 B列にハイパーリンクを下記の関数で入力しています。 =HYPERLINK("c:\windows\デスクトップ\○○\"&A1&".jpg") デスクトップの○○というフォルダ内に商品の画像を商品番号の名前で保存してあります。 B列のハイパーリンクをクリックすればその名前の商品の画像が見れるようになっています。 商品が1000個ほどあるため、B列の関数はコピーしたのですが、今現在、どの商品の画像があるのかないのかわからない状態です。 そこで、C列にリンク先が存在するかどうかを関数で入力したいのです。そのような方法はあるでしょうか?出来ればマクロではなく関数でお願い致します。 また、その方法はエクセル2003でも問題ないかどうかもお願い致します。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 今、試しに関数で考えてみました。1000個ですと、かなり重くなります。 私の示すものは、Excel2003 では、マクロに分類されてしまいますが、Excel 2002 以下では、マクロには分類されません。 位置の確認: B1: =HYPERLINK("c:\windows\デスクトップ\○○\"&A1&".jpg") A1 に、ファイル名 つまり、B1の表示は、 c:\windows\デスクトップ\○○\×××.jpg と表示されていることにします。 式の作り方: まず、セルポインターをC1に置き、 メニューバーから、挿入-名前-定義 名前(W) MYFILE (任意) 参照範囲(R) =FILES(B1)&LEFT(NOW(),0) ※ 相対位置ですから、C1 に対して、B1 の位置に表示されているものを調べるように出来ています。つまり、ひとつセル左隣 にあるものということです。 「OK」をクリック C1:~ =IF(ISERROR(MYFILE),"ナシ","") このようにし、ドラッグダウン・コピーしてください。 ない場合は、"ナシ" と出てきます。

staff1
質問者

お礼

エクセル2000で試したところうまくいきました。 助かりました!ありがとうございます。

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

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。KenKen_SP です。 > 出来ればマクロではなく関数で... Excel の組み込み関数には外部ファイルの存在チェックができる ものがありません。したがって、マクロを使って独自の関数を作る 以外には方法はないと思います。 > 今現在、どの商品の画像があるのかないのかわからない状態です。 画像があるのかないのかチェックする、、これが目的なのですよね? マクロを含んだブックにしたくないのであれば、別ブックにマクロ を記述する方法もありますよ? 余談ですが、 =HYPERLINK("c:\windows\デスクトップ\○○\"&A1&".jpg") について、A1セルにでも画像ファイルのあるパスを書いておいて、 次の数式を書くとパスの変更が容易になります。 A1セル: c:\windows\デスクトップ\○○\ A2セル: 商品番号=画像ファイル名(拡張子なし) B2セル: =HYPERLINK($A$1 & A2 & ".jpg")

staff1
質問者

お礼

ご回答ありがとうございます! 現在臨時的に作っている訳ですが、今後動作が重くなるなどの不都合が出てくると思いますので、マクロ化も検討してみます。 また、ハイパーリンクの記述についてもあわせて検討してみます。ありがとうございます!

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

関連するQ&A