システムwiki

Office:範囲を含むExcelの数式

RyanL20 解決済 最終更新日:2020-08-20 16:46

これが可能なことをオンラインで見つけたことがありません.H、V、またはXLOOKUPがこれに対して機能する方法を考えることはできませんが、次のような浮動範囲のようにする方法はありますか.検索する範囲が始まります
特定のテキストが始まるところはどこですか? Excelレポートがあり、特定のテキストを次の特定のテキストの後に取得する必要があるなど.

例:数式は名前の最初のインスタンスを見つけて「合計」を選択/返しますが、その名前の下に多くの行があり、次にその下で別の名前を見つけて「合計」を選択/返します.
その2番目の名前の下にある多くの行など.具体的には、「合計」が含まれているセルの数値のみが必要です.これらはすべて同じ列にあります.

よろしくお願いいたします.

返信リスト(回答:11)

1 #
Jeovany

こんにちは、ライアン

次のような場合に役立ちます.

1-データのスクリーンショットを表示します(行と列の参照が表示されます)

2-または、サンプルファイルを提供する場合(機密情報なしで)より良い

これは、シナリオを視覚化し、問題の適切な解決策を見つけるのに役立ちます.

応答1# ->にスキップ
3 #
RyanL20

私の遅れを許します.添付を参照してください.

応答3# ->にスキップ
5 #
Jeovany

あなたの報告の構造はあなたの問題に対する簡単な式解決策ではありません、

私はVBAソリューションを見つけました、それはプレーする余地がないので困難です.

投稿した写真のパターンに応答します.

1-入力データは "a"

にあります

2-あなたの最後の行= "合計:値"

3-従業員の名前は常にcell= "name"

を超えています

コードを実行するとき

1-入力ボックスはあなたに尋ねるでしょう、結果を貼り付ける場所?

それから

2-結果を貼り付けるワークブック上のセルを選択します(ファイルが以前開いていることを確認してください)

それはすべて

です

これはコード

です

サブgetthetatals()

Dim OutputRng範囲

Dim i、誓い、LROW、K LONG

ストロー= 1 ''入力データ開始行

'入力データの開始最後の行

LROW= ActiveSheet.cells(Rows.Count、 "A").終了(XLUP).ROW

k= 2

''合計と名前のループを取得します

i= LROWの散布ステップ-1

セルの場合(i、 "a")."Total*"のような値

セル(k、 "d").値=セル(I、 "A").値

ELSEIFトリム(セル(I、 "A").値)= "名前"

セル(K、「C」).値=セル(I-1、「A」).値

k= k + 1

の場合終了

次のi

OUTPUTRNG= Application.InputBox(プロンプト:= "出力データを貼り付ける場所を選択します"、type:= 8)

'' ''のコピーと貼り付けデータ

範囲(セル(2、 "C")、セル(2、 "D").END(XDDOWN)).COPY OUTPUTRNG

範囲(セル(2、 "C")、セル(2、 "D").末端(XlDOWN)).クリア

msgbox "All Done"

終了SUB

これがあなたを助けることを願っています

私たちに知らせて

応答5# ->にスキップ
7 #
RyanL20

それは魅力的です.本当にありがとうございました.ありがとうございました.

いくつか:自動化(これらの値/列Aをワークブックに貼り付けると結果が自動的に生成されます)して、数値(「合計:」を差し引いたもの)のみを返す必要があります.これは、他の数式または合計.貼り付けます
列Aを別のワークブックに入れ、返される必要のあるデータは、会社の月次レポートテンプレートの特定のセル(別のシートである可能性が高い)にフィードされるため、合計/数値のみを取得する必要があります.それが明確になることを願っています.
ありがとうございます.

応答7# ->にスキップ
9 #
Jeovany

Re:「...わかりやすくするために.」

残念ながら、そうではありません

必要なものについて具体的に説明する必要があります.説明に明確なものはありません.

詳細に応じて、正解しました.

現在、これはまったく別の話です.

応答9# ->にスキップ
10 #
RyanL20

私の謝罪.もう一度やり直してみましょう.元の説明から:

は、検索する範囲が特定のテキストを起動する範囲が開始されるように、浮遊範囲のような方法があります[=すなわち.従業員の名前]私はExcelのレポートを持っていて、特定のテキスト[=列aから獲得する必要があります、そして私は数だけを意味します
「合計:」の後、別の特定のテキスト[=従業員名]の後、列[= i.e].各従業員名の後に総数をつかむプロセスを繰り返します.

式は、名前の最初のインスタンスを見つけてから、「合計:」の後に「番号」を選択してください.その後、[番号を選択/返します
「合計:」の後、その2番目の名前の下の多くの行など.そしてより具体的にするために、私はその中の「合計」のセルの数だけを必要としています.これはすべて同じ列にあります.

さらに:別のシートでは、(理想的に)は、各従業員の合計をつかむために異なるセルに設定された式を示します.列Aをワークブックに貼り付ける必要があり、式はそれを参照して従業員の合計をつかみます.

2 #
VS

ライアンさん、

現在、ここで何が必要かはあまり明確ではありません.

探しているものの例を提供してください.

これは、問題をより早く解決するのに役立ちます.

応答2# ->にスキップ
4 #
RyanL20

私の遅れを許します.添付を参照してください.

応答4# ->にスキップ
6 #
AmitTan

セルA6の式を入力し、各グループの末尾にコピーします.

= COUNTIF(インデックス(A $ 2:A5、ルックアップ2,1/2:A5= "")、行(A $ 2:A5)-ロウ(A $ 2)+ 1)+3):A5 、 "<>")

式は、式セルの前の最後のブランクセルを識別し、その空白セルの後の3列目以降、式セルの前のセルの後に非ブランクセルをカウントします.

式は他の条件でも変更できます.

応答6# ->にスキップ
8 #
RyanL20

ありがとうございます.お時間をいただきありがとうございます.明確にするのに役立ついくつかのこと:

列A/例は、別のオンラインレポートから自動的に生成されます.
列A(値)を別のワークブックに貼り付けます.返される必要のあるデータは、会社の月次レポートテンプレートの特定のセル(別のシートと思われます)にフィードされるため、合計/数だけである必要があります
他の数式または合計されるものにフィードされるため、プルされます.

私が念頭に置いている(そして希望があれば可能です!)式は、そのシートに式を毎回追加する必要がなく、値を自動的に認識するものです.つまり、静的な月次レポートに入る式を探しています.
テンプレートとその複数の特定のセル、そしてその列Aレポートが生成された後、それをワークブック内の別のシートに貼り付けることができ、データは従業員の名前とその合計に基づいて自動的に取得されます.

つまり、VやXLOOKUPのように機能し、毎月データをシートに貼り付けて、レポートの数式を自動的に更新するのが理想的です.それが明確になることを願っています.もう一度ありがとう.

11 #
AmitTan 1

セルH11の本式(Ctrl + Shift + Enter)として式を下に入力し、コピーダウン:

= ifError(-代替(index($ 2:100ドル、一致( "total:*"、 "IF($ 2)+ 1>min(if) $ 2:$ 100= g11、行($ 2)+ 1)、$ 2:$ 100)、0))、 "合計:"、 ""、 "")<)<)

これは合計WRTを隣接セル(すなわち、G11)名に戻す.