システムwiki

住所との一致の使用に関する問題

Lebensb 受付中 最終更新日:2022-06-25 22:45

F列からDA列に空白またはR文字が含まれているスプレッドシートがあります.MATCH関数を使用して、特定の行でRが最初に出現する場所を見つけました.行3の場合、次のようになります.

= MATCH( "R"、F3:DA3,0)

これをセルDF3に保存しました.この特定のケースでは、値は35です.つまり、最初のRがセルAN3で見つかりました(ANは40番目の列です).

セルDG3に、Rの2番目のオカレンスをその行に格納します.この目的のために、最初に出現した場所のknowlEdgeを利用して、MATCH関数の範囲を制限すると思いました.

= MATCH( "R"、ADDRESS(3、DF3 + 6):DA3,0)

(オフセット6は、私が無視している最初の5列のA~Eを考慮に入れており、Rの最初の出現が見つかった列を1列超えています.

ただし、これは機能しません.Excelは、私が間違っていることについてのヒントなしに、数式を返送するだけです.

= ADDRESS(3、DF3 + 6)だけを入力すると、$ AO $ 3が得られます.これは、Rの2番目の出現が検出される範囲の正しい開始点であるため、数式の一部は問題ないように見えます.(少なくともそれ自体で).また、DF3とDG3のセル形式は[一般]に設定されています.

明らかに私は何か間違ったことをしているのですが、何ですか?

返信リスト(回答:5)

1 #
Rand220

やあ. あなたには優れた解決策があるので、詳細には立ち入りません. 共有するだけです. 365を持っていると書いてあるので、テクニックとしてはマッチを使いません.

K1の単一のワークシート関数は最初の2列を要求します. O1は最初の3つなどを要求しています.

これを使用する人はあまりいませんが、何ができるかをお見せしたいと思いました.

応答1# ->にスキップ
2 #
Lebensb

Posはどこにありますか? Office2016を実行しています. 確かにそれを行う簡単な方法に見えます.

5 #
HansVMV

ADDRESSは、範囲ではなくテキスト文字列を返します.

使用する可能性があります

= MATCH( "R"、OFFSET(F3,0、DF3):DA3,0)

または

= MATCH( "R"、INDEX(F3:DA3、DF3 + 1):DA3,0)

応答5# ->にスキップ
4 #
Lebensb

ああ、ありがとう! どちらも正常に機能します.

修正とは別に、最初のオカレンス(+ DF3)の場所を追加する必要があることに気付きました.そうしないと、1番目のオカレンスに対する2番目のオカレンスの場所しか取得できません.

応答4# ->にスキップ
3 #
HansVMV

はい、それについて言及するのを忘れました.