Jak filtrować listę i wybierać losowo jeden z wynikowych rekordów w programie Excel?


2

Chcę losowo wybrać nazwę, która pasuje do określonych kryteriów. Zobacz na przykład obraz:

wprowadź opis zdjęcia tutaj

Jak mogę przefiltrować listę, z których każda zawiera powiązane dane w innych kolumnach, stosując podane kryteria, a następnie wybrać losowo jeden rekord?

W razie potrzeby mogę użyć VB, nie jestem ograniczony do formuł w komórkach.


Czy masz na myśli „Jak losowo filtrować listę na podstawie wielu kryteriów w programie Excel?” || bo tytuł brzmiał „przefiltrowane”, ale „jak mogę filtrować ..” i „Losowe wybieranie komórki spośród prostej tablicy jest łatwe ..” znajduje się w treści pytania.
p._phidot_

Odpowiedzi:


0

Jak dotąd najlepszy wynik to:

  • Dane -> włącz filtr na liście
  • ustaw kryteria filtrowania za pomocą VBA:

    Sheets(mySheet).Range(myRange).AutoFilter Field:=2, Criteria1:="<>" & myValue

  • skopiuj tylko widoczne komórki do innego miejsca:

    Sheets(mySheet).Range(myRange).SpecialCells(xlCellTypeVisible).Copy Sheets(myNewSheet).Range(myNewRange).PasteSpecial Paste:=xlValues

  • wybierz losową komórkę z wynikowej listy:

    =INDEX('myNewSheet'!myNewRange;RANDBETWEEN(1;COUNTA('myNewSheet'!myNewRange)))

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.