Excelda chastotalar jadvalini bitta ustunga kengaytirish

Men Stack Overflow-ning boshqa joylarida bu erda Excel masalalari bo'yicha savollar borligini o'qib chiqdim, shuning uchun sizni bezovta qilmang :) Agar ular boshqa joylarda bo'lishsa, menga xabar beringlar ...

Men xafa bo'ldim, chunki men buni qanday qilishni bilar edim.

Quyidagi jadvalni tasavvur qiling:

Frequency       Object
3               A
2               B
4               C

Uchinchi ustunda Excelga yozishni xohlayman:

A
A  
A
B
B
C
C
C
C

(3 A, chunki A = 3 chastotasi)

Men buni uchinchi ustundan ko'chiradigan bitta formula bilan amalga oshirish mumkinligiga aminman, lekin qanday qilib eslay olmayman. Har qanday taklif bormi?

5
# 1 Sizning savolingiz formulani o'z ichiga olganligi sababli, menimcha bu erda qabul qilinadi. Har qanday savol yanada umumlashtirildi (ya'ni grafikani qanday qilish kerak) superuser.com saytiga o'tishi kerak. Lekin bu mening fikrim. # 2 Bu savolga nima uchun ochiq-oydin etiketiniz bor? Bu butunlay boshqacha dastur.
qo'shib qo'ydi muallif PowerUser, manba
Kichik sonli narsalaringiz bormi? ya'ni A-Cmi yoki A-J yoki boshqa noma'lum raqammi?
qo'shib qo'ydi muallif PowerUser, manba

3 javoblar

(1) formulasining shaffofligi menga juda yoqdi, lekin faqatgina takrorlanadigan narsalar (ma'lumotlar) mavjud bo'lmasa, u ishlaydi.

E2 da qiymati noldan farqli bo'lgan holda, bu doimo ishlaydi E3: E6 dagi frek qiymatlari va D3: D6 da Obj, P3da boshlangan formulalar

=LOOKUP(ROWS(P$3:P3)-1;SUMIF(INDIRECT("E2:E"&ROW($E$2:$E$6));">0");$D$3:$D$6)

yoki (va bu holatda, siz E2da biror narsaga ega bo'lishingiz mumkin)

=INDEX($D$3:$D$6;IF(ROWS(L$3:L3)<=$E$3;1;1+MATCH(ROWS(L$3:L3)-1;SUMIF(INDIRECT("E3:E"&ROW($E$3:$E$6));">0"))))

Ctrl+Shift+Enter in P3 and copy down

CR

2
qo'shib qo'ydi

Siz xohlagan chiqish ustunining birinchi hujayrasida (ushbu misoldagi E1), kiriting

=B1

B1 - birinchi ob'ektning manzilidir. Quyidagi hujayradagi (E2, bu erda) kiriting

=IF(COUNTIF(E$1:E1,E1)=INDEX($A$1:$A$3,MATCH(E1,$B$1:$B$3,0)),
INDEX($B$1:$B$3,MATCH(E1,$B$1:$B$3,0)+1),
E1)

Va kerakli darajada to'ldiring.

1
qo'shib qo'ydi
Kechirasiz. E ustunida men formulaga kirgan joyim. Ushbu ma'lumotni kiritish uchun tahrir qilaman.
qo'shib qo'ydi muallif Excellll, manba
@Excellll, bu ajoyib ta'sir qiladi. O'ylaymanki, men buni tushunishga harakat qilmasdan avval so'lga murojaat qilardim. Yaxshi!
qo'shib qo'ydi muallif Stewbob, manba
Salom, javobingiz uchun rahmat. "E" ustuni nima uchun bu formulada ishtirok etayotganini bilmayman. A va B ma'lumoti bo'lgan ustunlar va S - uchinchi ustun qo'shiladigan ustun.
qo'shib qo'ydi muallif Andrew, manba

Sizning misolingizda o'xshash sonli sonli sonli soningiz bor bo'lsa, buni sinab ko'ring:

  1. In a blank sheet, put your example table in the top left. So Cell A2=3, B2="A", A3=2, etc.
  2. In D2, enter "A" (this is just to get the formula started)
  3. In D3, enter this formula:

    IF(COUNTIF($D$2:D6,$B$2)<$A$2,$B$2,  
    IF(COUNTIF($D$2:D6,$B$3)<$A$3,$B$3,  
    IF(COUNTIF($D$2:D6,$B$4)<$A$4,$B$4)))  
    
  4. Fill this formula down (i.e. copy&paste) about 10 rows and you'll see everything fill in accordingly.

Nima qilyapsiz? Birinchidan, D ustunidagi avvalgi hujayralardagi "A" ning mavjudligini hisoblaydi va uni chastotaga solishtiradi. Agar kamroq bo'lsa, u boshqa A ga kiradi. Keyin ushbu jarayon B va C uchun takrorlanadi.

1
qo'shib qo'ydi
Rahmat. Men uni tuzatdim. Ushbu formulada siz har bir ob'ekt uchun alohida satrni kiritishingizni talab qilganligi sababli u sizning ishingizda ishlamasligi mumkin.
qo'shib qo'ydi muallif PowerUser, manba
Javobingiz uchun tashakkur. Mening son jihatdan juda ko'p sonli obyektlarim bor. Bergan formulangiz kesilganmi? Ehtimol, yopishtiruvchi kvadratchalar etarli emas.
qo'shib qo'ydi muallif Andrew, manba