
隣接していない Excel の行 (または列) からデータを手動でコピーし、テキスト エディターに貼り付けたいと思います。
これまでのところ、これを効率的に行う方法は見つかっていません。(Excel Home/Student 2013 を使用しています。)
例えば:
- Excelで、行
1
、、、を選択(Ctrl+左マウスクリック)します5
。8
10
- コピー ( Ctrl+ C)
- テキストエディタで(Ctrl+ )を貼り付けると、行からVのすべてのデータが取得されます。
1
10
これまでの面倒な回避策:
- Excelで、行
1
、、、を選択(Ctrl+左マウスクリック)します5
。8
10
- コピー ( Ctrl+ C)
- Excelの別の場所(例えば、空のシート)に(Ctrl+ )を貼り付けます。行、、、およびのデータのみを含む4つの隣接する行が表示されます。V
1
5
8
10
- もう一度コピー ( Ctrl+ )C
- テキストエディタでCtrl+ - を押すと、行、、、およびVからデータを取得できます。
1
5
8
10
30 年以上 Excel が開発されてきたにもかかわらず、これが不可能だというのは信じられません。これを直接実行できない理由はあるのでしょうか?
それでも、これをより効率的に行うためのコツはあるのでしょうか?
何か案は?
答え1
それは意図的な「機能」です。
非表示/選択されていないデータもコピーされます。過去数十年間に、フィルターがオンのままでデータが表示されなかったために一部のデータを見逃したという苦情が膨大な数のユーザーから寄せられていたためです。
個人的には、あなたの要望に賛成です。私もいつも同じ問題を抱えています。しかし、私たちは、自分が何をしているのかよくわからない何百万人ものユーザーの制限に耐えなければなりません。そのため、このように実装されています。
答え2
理由はもう少し深いところにあります。
スプレッドシートで実行したい操作には、情報のコピーや転送など、さまざまなものがあります。 ときには「単に」任意のスプレッドシートで実行したい場合もあれば、プログラムの機能や自分で選択した内容に基づいて特定のスプレッドシートで実行したい場合もあります。 Excel は、これらの操作の一部または多くをサポートしています。
ただし、データや書式設定などの一部としてデータと一緒に保持する必要がある情報、または Excel 内で使用したいすべての用途を可能にするために必要な情報は、Windows クリップボードが保持できる範囲をはるかに超えており、その概念に「忠実」であることがよくあります。
クリップボードは、Excel がクリップボードに挿入する可能性のあるデータを表す 1 ビットのテキスト情報と、Excel がクリップボードに挿入する可能性のある書式設定を表すテキスト情報を実際には区別しません。特に書式設定は部分的にサポートされ、部分的にはサポートされません。クリップボードは、たとえばフォント情報を渡します。また、テキストがそのようなものであることを認識する方法がある可能性があります。Excel は、必要な形式で独自のコピーをクリップボードに渡すことができます。ただし、クリップボードには、他のプログラムが認識して適切に使用したり破棄したりできる標準的な方法で「選択範囲の中央」または「セルの結合」情報をマークする方法がない可能性があります。
Excel は、その情報をコピー時に保持して、自身の操作で使用できるようにする必要があります。しかし、同時にクリップボードに渡すと、実際の必要なテキストに奇妙な余計なテキストが追加されてしまいます。(その逆/帰結/その他は、たとえば、Web サイトのログイン入力ボックスに内容を貼り付けるためにセルをコピーすると、Excel が何かを追加して、無視されるか無視されないかのキャリッジ リターン/ライン フィードが追加される場合に見られます。)
そこで Excel は独自の内部クリップボードを使用します。Excel が作成したとみなす「真の」コピーと、必要と思われる情報をすべて取得し、貼り付けるまで保持します。Excel 内で貼り付ける場合、また多くの場合他の Office プログラムで貼り付ける場合 (そうでないこともしばしば)、情報を完全に使用できます。Excel では、プログラムが、選択した 2 つのセルのデータと書式設定を抽出しCtrl-Click
、貼り付ける場所に配置する方法を決定することがあります。つまり、単純な貼り付けで 2 つのセルとその書式設定を取得し、行 2 と 6 などの相対的な位置を維持するように記述することもできたのですが、そのようなものは元々隣接しているかのように貼り付ける必要があると判断したのです。まあ... 選択肢です。(私にとっては便利ですが、イライラすることもあります。他の人にとっては違うと思います。)
同時に、Excel は Windows クリップボード (Excel 自身の内部「クリップボード」とは区別されます) に、プログラマーが書き込むべき (書き込むことができる) と考えたものを書き込みます。プログラマーは必ずしもすべてのテーマのすべてのバリエーションを考えたわけではありません。あなたの例では、開始セルと終了セルでマークされたすべての連続データを使用すると、Excel 以外の用途での使用に適しているとプログラマーが考えたことは明らかです。または、それが当時の標準的な考えでした。または、まったく考えられなかったのです。可能性は無限大です。
(ちなみに、この内部/中間の「クリップボード」は、クリップボードにエラーがあるのに他のプログラムに貼り付けることができるという奇妙なエラー メッセージが表示される問題の原因です。)
したがって、これは決して「バグ」ではなく、選択された機能、偶発的な機能、またはこれまで考えられなかったものであり、正しい(「機能」)または間違っている(「バグ」)ということはあり得ません。
しかし明らかに、Excel は、たとえば行がhidden/filtered out/set to 0 height
貼り付けで不要である場合、たとえ Excel 自体の外部に貼り付けられたものであっても、それを認識しています。おそらく、それらのものが不要であることを示す「積極的なステップ」は、そのようなものを含まないデータ パッケージをクリップボードに送信するのに十分であると考えられていたのでしょう。これらの状況はすべて、それぞれ行の高さを 0 に設定することで実際に達成される可能性があり、そのため Excel はその特性を探すのかもしれません。Ctrl-Click
何年も後に、特定のセルをコピー対象としてマークするために を使用することは、単にクリップボードに書き込む前にその削除をアクティブにしないかもしれません。それだけかもしれません。
いずれにせよ、現在の UserVoice Web ツールにエントリを作成することもできます。長い間、Excel の人々はただ良い意見を述べただけで、その後はエントリを完全に無視しているように見えました。しかし、最近の変更は、彼らが注意を払っていたことを示しています。ただ、彼らがそれに対応するには 10 ~ 20 年かかります。(ため息...) しかし、何が起こるかはわかりません。ただし、雇用主 (またはあなた) がサポート プランに多額のお金を支払わない限り、その場所はそのような提案の公式の場所です。