
Excel でこのようなことを行うことは可能ですか? 序数を含むアクティブな行のリストのようなものです。
列 B があります。ワークシート内のアクティブな行を表す序数を表示する必要があります。画像を見てください。
行が非アクティブの場合、列Bには序数が入りません。序数の一部を削除する列 B から、序数もそれに応じて更新する必要があります。たとえば、B7 セルのテキストを削除した場合、列 B の値を更新するにはどうすればよいでしょうか。画像をご覧ください。
大量のスクリプトコードを書かずに簡単な方法で実行することは可能ですか?
PS. 私は Excel の専門家ではないので、Excel の埋め込み式による簡単な解決策があれば素晴らしいと思います。:) PPS. この機能は、Word の番号付きリストに似ています。リスト項目を削除すると、後続の要素の値もそれに応じて更新されます。
編集
列 A には 1 から X までのすべてのタスクがリストされます。列 B にはアクティブなタスクがリストされます。タスクはステータス (アクティブ、非アクティブ) 順に並べられています。特定のタスク (たとえば 7 番目のタスク) を完了したら、列 B でその値を削除し、後続の番号をすべて手動で修正します。こうすることで、アクティブなタスクがいくつあり、どれがアクティブであるかがわかります。
まだ不明な点や、さらに説明が必要な部分があればお知らせください。
PS. タスクは列 C、D、E に記載されていますが、その部分はここでは関係ありません。
答え1
行がアクティブかどうかを「x」などで簡単にマークできる追加の列があれば、管理が簡単になると思います。そうすれば、次の列で各アクティブ行の順序ランクを自動的に計算できます。
たとえば、列 B に行がアクティブであることを示すために「x」を保持する場合、列 C には次のように入力できます ( C2
)。
=IF(B2="x",MAX(C$1:C1)+1,"")
次に、これを列に入力します。
答え2
提案に基づいて、これを行うための適切かつ簡単な方法を見つけました。max
関数を使用するだけです。
式は=MAX($B$X:BY)+1
たとえば、セル B2 に数式を入力し=MAX($B$1:B1)+1
、それを B 列の他のすべてのセルにコピーすると、必要なものがすべて得られます。任意のセル値を削除すると、後続のすべての値がすぐに更新されます。
みんなありがとう!
答え3
入力がどのようにそこに到達するか、またはそれが何に使用されるかがわからなくても、次の操作を試すことができます。
セル B1 に「1」を入力し、次の数式をセル B2 にコピーした場合:
=IF(B1 = "", OFFSET(B1,-1,0)+1,B1+1)
リストを維持し、単一の範囲を削除できるようになります。 2 つのセルを削除できるようにするには、前の各セルをチェックする別の if ブロックを追加する必要があります。
注記:Offset
セルの内容を削除し、上のセルが空の場合はリスト内で 1 つ上にジャンプできます。
ループマクロを使用すると、スケーラビリティが向上します。
何を達成しようとしているのかを詳しく教えていただけると大変助かります。