
シナリオ: 誰かが 416,000 本のビデオの再生時間を表す列を含むスプレッドシートを渡したとします。この情報は、列の事前フォーマットなしで Excel 2007 スプレッドシートに入力されました。ビデオの再生時間が 8 分 10 秒の場合、8:10 と入力されました。1 時間 31 分 38 秒の場合、1:31:38 と入力されました。Excel のデフォルトでは、この情報は h:mm または h:mm:ss 形式の時刻として識別されるようです。
形式を 37:30:55 (Excel の既定の書式設定オプションの 1 つ) の時間形式に変更すると、Excel は最初の例では 8:10:00 を返し、2 番目の例では 1:31:38 を返します。8:10 のビデオは 8 分 10 秒のビデオ (8 時間 10 分のビデオではない) であることがわかります。この種類のビデオ コンテンツで行った他の調査に基づいて、10 個のビデオのうち 2 個だけが 1 時間を超える可能性があると推測しています。各ビデオの長さを確認する方法はありますが、416,000 個すべてについて確認するのは望ましくありません。時間は非常に重要です。1 時間以上のビデオを特定し、できるだけ早く別の機関に送信する必要があります。
目的 1: 時間形式の表示と並べ替え: 入力した元の時間を変更せずに、表示して並べ替えたい場合時間の表示形式Excel がこれらの値をどのように解釈し、ある程度の確信を持ってその情報を報告したかについて、さらに調査および検証します。これらのレコードのランダムなサブセットを検査するだけで十分でしょう。RAND 関数の使い方はわかっていますが、時間形式で表示および並べ替える方法がわかりません。Excel がこれらの値を h:mm または h:mm:ss としてのみ解釈したと思われますが、確信が必要であり、各タイプをランダムに検査したいと考えています。基本的に、Excel の解釈が一貫しているかどうか、一貫していない場合はその理由を知りたいのです。Excel の検索ボックス (検索と置換) を使用できることを期待していましたが、時間形式での検索はオプションではないようです。
目的 2: 再生時間が 60 分を超えるビデオの取得: 時間形式での表示と並べ替えがオプションでない場合は、そのままでかまいませんが、少なくとも、時間、分、秒で表示されるビデオをすべて取得する必要があります。(これらのビデオの長さは 60 分を超えることはほぼ確実ですが、送信する前にその仮定をランダムに検証する必要があります。) また、h:mm 形式で 60:00、90:00、120:00 など、60 分を超える時間の長さとしてリストされているビデオがないことも確認する必要があります。これらが単なる数字であれば、そのような情報を返す条件付き数式を設定できると確信していますが、必要がない場合はそうしたくないでしょう。ただし、時間形式を使用した最初の実験はうまくいかないようです。
以前の実験: 以下のことについて考えたり試したりしたことがあるでしょう:
- 条件付き書式設定ツールの使用
- フィルタリング機能を備えたツールを使用する
これらは、数式で使用される場合、時間形式を認識しないようです。フィルタリングでは時間形式が正しく表示されますが、組み込みの数学演算子を使用した場合は結果が返されません。結果が返される場合は、このシナリオを投稿する必要すらないでしょう。
最終的な考え(シナリオ終了/意図的に一人称視点で書かれています): このサイト (および他のサイト) で、値を数値にフォーマットしてそこから進めることを提案することで同様の問題の解決策を提供している投稿をいくつか見てきましたが、私がこの投稿を書いたのは、回答を得るためだけではなく、このシナリオで提示された目的を達成するための最も効率的な方法について専門家がどう考えているかを知るためです。また、Excel の新しいバージョンでは、Excel 2007 で遭遇した制限 (条件付き書式/フィルター処理など) が考慮されているかどうかも知りたいです。コロンを含む数値を入力するときに、何らかのポップアップ ボックスが表示されるだけでも、ユーザーが書式設定の一貫性について考えるのに役立つかもしれません。さまざまなオプションについてより詳しい説明が記載されたボックスまたはウィンドウがあれば、改善されるでしょう。Excel がユーザーに「これは時刻ですか、それとも時間の長さですか?」と尋ねるだけの簡単なことでも、Excel (およびユーザー) が最初から正しくフォーマットするのに役立ちます。