ブックマークが何を指すのかわからないので、Geminiに丸投げしてみました。
以下、その回答です。
----
「Excelにブックマークでデータを取り入れる」という表現は、Excelの標準機能の用語には存在しません。質問をされた方は、おそらく以下のいずれかの状況や機能を、独自の言い回しで「ブックマーク」と呼んでいる可能性が高いです。
1. Wordの「ブックマーク」機能からのデータ抽出
Wordには特定のテキスト領域に目印をつける「ブックマーク」という標準機能があります。VBAなどを使用して、契約書や報告書などのWord文書内にあるブックマーク箇所のテキストを、Excelの指定セルに自動転記する仕組みを使っているのかもしれません。
2. 外部システムやWebクエリでの条件保存
社内システムやWebデータベースからデータを抽出する際、特定の検索条件やURLを保存しておく機能を、そのシステム上で「ブックマーク」と呼んでいるケースです。そこからPower Queryなどで接続してデータを取り込んでいる状態です。
3. Excelの「名前の定義」やハイパーリンクの混同
Excel内で特定のセル範囲に名前をつける「名前の定義」や、特定のシート・セルへ飛ぶ「ハイパーリンク」のことを、Webブラウザなどの一般的な用語である「ブックマーク」と勘違いして呼んでいるパターンです。
質問者の方への回答案(日付計算ができない原因と解決策)
「ブックマーク」の正体が何であれ、「開始から終了までの日数を引き算(終了日 - 開始日)で出せない」という問題の根本原因は明確です。
外部からデータを取り込んだ影響で、Excel側でその日付が**「シリアル値(数値)」ではなく、ただの「文字列」として認識されてしまっている**ことが原因です。
質問者の方には、以下のいずれかの方法で文字列をシリアル値に変換するようアドバイスしてみてください。
「区切り位置」機能を使う(手軽に列ごと変換)
計算できない日付の列を選択します。
「データ」タブの「区切り位置」をクリックします。
ウィンドウが開いたら、何も設定を変えずにそのまま「完了」をクリックします。
(これにより文字列が再評価され、正しい日付データ(シリアル値)に変換されます)
数式内で強制的に数値化する
計算用の数式内で DATEVALUE 関数を使うか、セルに *1 を掛けることで、一時的に数値に変換して計算させます。
例:=DATEVALUE(終了日のセル) - DATEVALUE(開始日のセル)
例:=(終了日のセル*1) - (開始日のセル*1)