5

わかりましたので、現在、別のシートの範囲から取り込まれたドロップダウンがあります。

各値テキスト内の別のセルからのテキスト値を持つ値を追加するだけで、ドロップダウンの値を減らすことができるようにしたいと考えています。

例: セル A1 は「テーブル」と表示されます セル A2 は範囲から値を取得するドロップダウンです 範囲には「テーブル」、「大きなテーブル」、「スツール」があります

現在、ドロップダウンはすべての値をもたらします。この例では、「テーブル」と「大きなテーブル」の両方に「テーブル」が含まれているため、「テーブル」と「大きなテーブル」だけを持ってきてほしいと思います。

私のファイルの例はここにあり ます http://www.filedropper.com/example_1

助けてください.. 私は髪を引き裂いています!

ありがとうマイク

4

2 に答える 2

2

これはより単純化された答えです。

最初に、シート 'Items' のアイテムをヘルパー列にグループ化し、式 (C2 の場合) を使用して列 'C' と入力し、入力します。

=IFERROR(RIGHT($A2,LEN($A2)-FIND(" ",$A2)),$A2)

シート「Choose Items」のセル B2 で、検証リストのソースとして次を使用します。

=OFFSET(Items!$A$1,MATCH('Choose Items'!$A2,Items!$C$2:$C$10,0),,COUNTIF(Items!$C$2:$C$10,'Choose Items'!$A2),)

入力して検証を列「B」の他の行に拡張できます

シート 'Items' のデータを 10 を超える行に拡張する必要がある場合は、オフセット関数の一致範囲と countif 関数を適切に変更して、データ全体を包含するようにします (前述のように列 'C' でグループ化した後)。 )。

シート 'Items' のリストがヘルパー列 (昇順または降順) で並べ替えられていることを確認します。この場合は列 'C' です。

于 2013-04-27T15:38:10.737 に答える
1

VBA を使用しない場合の 1 つの方法を次に示します。

(特に明記されていない限り、すべての指示はアイテムリストのシートで行われます): ここに画像の説明を入力

  1. 提供されたテキストを検索します。C2に、入力=NOT(ISERROR(SEARCH('Choose Items'!$A$2,A2)))して下にコピーします
  2. D2 のヒット数: =IF(C2,1,0)、D3 のヒット数: =IF(C3,D2+1,D2)- 下にコピー
  3. 動的リストの作成: F2:F9 に 1 ~ 8 の数字を配置します。G2 では、次の式を使用します:=IFERROR(INDEX($A$2:$A$9,MATCH(F2,$D$2:$D$9,0)),IF(F2=1,"No match",""))下にコピーします。
  4. 動的な名前付き範囲を作成します - Name Manager ( Formulas -> Name Manager ) で、新しい名前ItemsDynamicを挿入し、式として提供=OFFSET(Items!$G$2:$G$9,0,0,MAX(Items!$D$2:$D$9,1),1)します。
  5. フィールド検証でドロップダウンのソースとして新しいItemsDynamicを使用する

終わり!解決策については、このファイルを確認してください。

于 2013-04-26T23:39:15.743 に答える