0

Excelシートがあります
代替テキスト

要件は、列「C」のセルの数字を合計し、列「B」の対応するセルに値を入れることです (私の例では 0.25 + 1 + 0.25 + 1 = 2.5)。

列「C」の値は変更される可能性があります。要件は、列「C」のセルが変更されるとすぐに「B」の値を更新することです。

作成者に 2 つの異なる列をテキストと数字に変更するように依頼しましたが、標準のテンプレートでは受け入れられません。

4

1 に答える 1

4

これは、マクロを使用して、セル内のテキストを変更せずに実現できます。いくつかのことを行う必要があるため、実装が少し遅くなることは認めざるを得ません。

1 - セルの内容全体をトークン化し、トークンを文字列配列に格納します。

すでに問題があります。セル内のテキストに一貫性がありません。-250 ミリ秒、- 250 ミリ秒、- 1 秒、- 1 秒があります。このため、各インスタンスを確認する必要があります。したがって、値が数値であるかどうかを確認するだけではなく、チーム メンバーが都合よく提供した順列をすべて確認する必要があります。

これを行う最善の方法は、正規表現に対してチェックすることです。したがって、#2は次のようになります。

2 - 各値をチェックして、多くの 4 つの正規表現のいずれかに一致するかどうかを確認します。

3 - 一致する正規表現に応じて、数値を抽出します。

a) 単純な値 (ie->250) の場合、ms または sec が値を進めているかどうかを確認します。ミリ秒の場合は数値を 1000 で割ります。秒の場合は数値をそのままにします。合計に数を追加します。
b) 数字の前にダッシュ (-) がある場合は、ダッシュを削除し、手順 a) を繰り返します。
c) 数字の後に文字が続く場合は、文字を削除して手順 a) を繰り返し
ます。 d) 数字の後にピリオドが続く場合は、何もしません。これは箇条書きです。

于 2009-05-05T19:10:18.410 に答える