0

Excel ワークシートがあり、次の数式を理解しようとしています。

私の数式では、列 A の 700 行すべてを検索して、aa_product11.12

列 A の値には、これらの値が含まれる場合と含まれない場合があります (ある場合とない場合があります)。そして、これは部分的な値です。すべてのセルにはより多くのデータがあります。

  Column A
  Sept01_aa_product11.12; 
  Oct01_aa_product11.12; 

など。

B1 に表示するには、一致するセルの完全な値が必要です。したがって、B1 の式は列 A のすべてを検索し、aa_product11.12B1 は次のようになります。

 Cell B1
 Sept01_aa_product11.12, Oct01_aa_product11.12, Jan02_aa_product11.12,    
 Aug08_aa_product11.12

よろしくお願いします。

4

2 に答える 2

0

さて、Visual Basic Editor を開いてモジュールを作成する必要があります。モジュールに次のコードを配置します。

Function Get_Data()

Dim Strg As String
Dim Boo As Boolean
    Boo = False
Dim i
    i = 1

For i = i To 65000

Strg = Cells(i, 1).Value

If InStr(1, Strg, "aa_product11.12") Then

    If Boo = True Then
    Get_Data = Get_Data & Cells(i, 1).Value & ", "
    Else
    Get_Data = Cells(i, 1).Value & ", "
    Boo = True
    End If

End If

Next i

End Function

ファイルをマクロ有効ブックとして保存します。次に、セル B1 に移動し、次のように入力します: =Get_Data()

Enter キーを押すと、関数が機能するはずです。ご不明な点がございましたら、お知らせください。

于 2013-08-27T13:04:57.400 に答える
0

私の答えは、連結された結果をすぐには提供しませんが、これらはこの前のステップです。

数式なし:

  1. フィルタを挿入し、「aa_product11.12 を含む」という条件でテキストをフィルタします。
  2. フィルターの後の列をコピーし、結果を新しいシートに貼り付けます。

その後、フィルターを削除して、結果を元のシートに戻すことができます。


数式を使用:

B1 に次の式を入れます。

=IFERROR(INDEX($A$1:$A$700,SMALL(IF(ISNUMBER(FIND("aa_product11.12",$A$1:$A$700)),ROW($A$1:$A$700),9.9E+208),ROW())),"")

しかし、これは正しく機能するためにCtrl+ + を使用する必要がある配列数式です。Shiftこの後、結果が返されなくなるまで数式を入力して、最後のステップに進みます。


これらのいずれかを実行しCONCATENATEた後、セルに対して a を実行できます。

=CONCATENATE(B1,", ",B2,", ", ... )
于 2013-08-27T13:07:36.063 に答える