2016-09-21 9 views
1

配列からアイテム番号のユニークなリストを作成するために使用できるエクセル式が必要です。私はそれらを数えたくありません。アイテムナンバーのリストを作成したいだけです。これらの部品番号は実際にはAlpha Numericであり、アレイから何度も何度も繰り返すことができます。もう1つのキャッチがあります。このリストには空のセルがあり、配列の最初のレコードになることもあります。このデータは、Excel用のJetレポートアドインを使用してExcelに読み込まれます。配列からアイテム番号のユニークなリストを作成するために使用できるエクセル式を見つける必要があります

例:

カラム の値と
Item No. 
<BLANK> 
7810042050 
783979 
7810006045 
7810006042 
7810006032 
<BLANK> 
7810006022 
7810006032 
+1

あなたはあなたのリストをDEDUPしたいですか?これはExcelの機能に組み込まれています:https://support.office.com/en-us/article/Filter-for-unique-values-or-remove-duplicate-values-ccf664b0-81d6-449b-bbe1-8daaec1e83c2 – JNevill

+0

コピー内容をあなたが望むセルに入れます。新しい列で[重複を削除]を使用します。これは[データ]タブにあります。空白のセルを1つ見つけて削除します。 –

+0

私は重要ではないと思った話の残りはここにあります。私は購入のための自動化されたレポートを構築しています。私は誰もこのレポートをリフレッシュする以外に何もしなくてもいいようにこれを欲しがっています。リストは、レポートが実行されるたびに動的である必要があります。 – Troy

答えて

1

C1における細胞A1..A9以降入力:

=MAX(A1:A10) 

C2に配列数式を入力します。

=MAX(IF(A$1:A$10<C1,A$1:A$10,"")) 

とダウンコピー:ははCtrl +Shiftキーを入力する必要があります

enter image description here

配列数式は、 + を入力だけではなく、キーを入力します。

EDIT#1:

クリス・ニールセンは、列の値がが実際にテキストではなく数値であることを指摘しています。これに対応するために、2つの変更が公式になされなければならない。

  • A1
  • アルファが数値に変換する必要があり、除外されなければなりません。

だから我々は、通常の式に置き換えられます:

=MAX(--(A2:A10)) 

と置き換えます:

=MAX(IF(A$1:A$10<C1,A$1:A$10,"")) 

を配列数式で:配列数式で

=MAX(A1:A10) 

=MAX(IF(--(A$2:A$10)<C1,--(A$2:A$10),"")) 

をコピーしてからコピーしてください。

+0

これは美しいです! :D –

+0

@Delta_zuluありがとうございます。 –

+1

このQでは動作しません。OPから:これらの部品番号は実際にはアルファNumeric_ –

0

部品番号にアルファベットの文字がある場合は、2つの手順でこれを行うことができます。

の両方が配列数式であり、あなたは、Ctrlキーを押しながらShiftキーを押しながら入力します

コルB使用する必要がある - コル内の項目のソートされたリスト

B2 =IFERROR(INDEX($A$2:$A$10,MATCH(COUNTA($A$2:A2),COUNTIF($A$2:$A$10,"<="&$A$2:$A$10),0),1),"") 

コルC - 重複

C2 = IFERROR(INDEX($B$2:$B$10, MATCH(0, COUNTIF($C$1:C1, $B$2:$B$10), 0)),"") 
を排除します

両方の数式をコピーします。

2つの式を結合しようとしましたが、さまざまな行範囲の配列(Col Bの結果)を入れ子にしても機能しませんでした。私は方法を見つけることができませんでしたが、一緒に2つの数式が動作します。

0

FormulaArraysが同時に[Ctrl]+[Shift]+[Enter]を押すと入力した場合、あなたが式の周り{}を見るであろうB2で、この式の配列を入力し、B3:B10にコピーします正しく入力されました

=IFERROR(
INDEX($A$2:$A$10, 
MATCH(1,1+COUNTIF($B1:$B$1,$A$2:$A$10)+(($A$2:$A$10="")*1),0)*1),"") 

enter image description here

関連する問題