1

[データ検証]ドロップダウンの値を指定するために使用しているExcelワークシートに名前付き範囲の設定があります。私のソース式は、基本的に、これです:

=INDIRECT( "OnePartOfTheRangeName" & "AnotherPart" )

行内の別の値に基づいて範囲が変わるため、文字列などを組み合わせる必要があります。

データ検証リストに値を追加したいのですが、うまくいきません。ある種の「ユニオン」関数があれば、INDIRECTリストを単一の値と組み合わせることができると思いましたが、そのような関数を見つけることができませんでした。

誰かが私の問題を解決する別の方法を知っていますか?

4

1 に答える 1

0

Excel のエラー メッセージは非常に具体的です (実際、かなり良い変更です!)。

SO12207603 の例

そのため、直接的なアプローチを試みることに多大な労力を費やす価値があるとは思えません。そして、完全に理解できる問題に対する解決策がないまま 3 年以上経過するということは、おそらく「不可能」を意味することを心に留めています。

ただし、間接的なアプローチが役立つ場合がありますが、そのためには、名前付き範囲が現在どのように構築されているかなど、一部の詳細欠落している可能性があります。Part1説明のために、 はR1:R12 を指し、末尾に空白 (拡張の余地を残すため) と中央に空白 (汎用性を示すため)があると仮定します。「別の部分」に名前が付けられPart2、S1:S10 を参照し、中間と最後 (および最初) に空白があると仮定します。

Data Validation は、 Source:=wholeが という名前の範囲 T1:T22である List である可能性がありwholeます。

T1 には次のデータが読み込まれます。

=IFERROR(INDEX(Part1,SMALL(IF(ISBLANK(Part1),"",ROW(Part1)-MIN(ROW(Part1))+1),ROW(A1))),IFERROR(INDEX(Part2,SMALL(IF(ISBLANK(Part2),"",ROW(Part2)-MIN(ROW(Part2))+1),ROW(A1)-SUMPRODUCT(--NOT((ISBLANK(Part1)))))),""))  

(Get Digital Help 提供) Ctrl+ Shift+で入力Enterし、T22 にコピーします。

これは動的です。たとえば、ColumnR にエントリを追加すると、それが ColumnT に追加され、それが検証ドロップダウンに追加されます。

短所には、SエントリTがソートされず、「拡張の余地」がドロップダウンに残っている場合、ドロップダウンが順番にソートされないことが含まれます。

于 2015-12-13T03:28:24.060 に答える