0

私はこれに関するガイダンスを探しましたが、少し経験が浅いため、明らかなことを見落としている可能性があります-申し訳ありません!

私は一連の型を変換できることを望んでいます。たとえば、インスタンスの数を更新すると、リストが更新されます (新しい行に入力します)。

Type 1  |   0
Type 2  |   3
Type 3  |   2
Type 4  |   1

戻るだろう

Project 1   |  Type 2
Project 2   |  Type 2
Project 3   |  Type 2
Project 4   |  Type 3
Project 5   |  Type 3
Project 6   |  Type 4

VBAなしで可能であれば、それは素晴らしいことです。

理想的には配列として返されないでしょう - 返されても問題ありませんが (特にそれがより単純な場合)

VBA で定義された関数があり、配列を返し、100 行を超えてインスタンスの数が変更されたときに入力できると思いますか?

いいえのときに管理できる必要があります。インスタンス数が変化します。たとえば、タイプ 4 には 10 個のインスタンスがあり、タイプ 2 にはインスタンスがありません。

それが明確であることを願っています。助けてくれてありがとう!

4

1 に答える 1

0

中間結果を含むヘルパー列を使用することで、VBA を使用せずに Excel でこれを実現できます。次のスクリーンショットは、その仕組みを示しています。

行 2 から始まる F 列と G 列に結果が表示された Excel のスクリーンショット

これは Excel のスクリーンショットでD、中間列として があり、必要な結果が行から始まる列Fおよびにあります。G2

1には、数式をブートストラップするための開始値が含まれています。列のセルはDカウンターとして使用されます。ゼロになるたびに、列のセルから新しい値が読み取られますBD2たとえば、セル のカウントダウン式は次のようになります。

=IF(D1=0,INDIRECT("B"&(G1+2))-1,D1-1)

行インデックスは自動的に調整され、その列のすべてのセルで同様です。

column のセルGは現在の Type 数値を追跡し、 column のセルがヒットする1たびに増加します。たとえば、cell の式は次のとおりです。D0G2

=IF(D1=0,G1+1,G1)

これはあなたが探していることを行います...ほぼ。列のセルBの値が の場合、問題があります0。その場合、次のゼロ以外のセルにスキップする必要があります。これは実行可能であり、例全体をいくらかクリーンアップすることもできます。ただし、この回答に対して実際になんらかの反応を示して、より高度な Excel 数式を自分で学習することに関心があることを証明するまで、あまり労力を費やしたくありませんでした。

于 2012-07-19T06:18:39.353 に答える