:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

สุ่มตัวอย่างชื่อคน

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

สุ่มตัวอย่างชื่อคน

#1

Post by Totem »

:D เรียนอาจารย์และเพื่อนสมาชิก
คำถาม สุ่มตัวอย่างชื่อ ครึ่งเดือนแรกกับครึ่งเดือนหลัง
1.สุ่มตัวอย่างช่อง L2 - L21
ต้องการว่า ตั้งแต่วันที่ 1 - 15 สุ่มออกมา 10 ชื่อ
และวันที่ 16-30 สุ่มออกมา 10 ชื่อ
โดยวันที่ให้ดูจากคอลัมน์ D ซึ่งวันที่ ที่ได้มาจะไม่ได้จัดเรียงมาจะกระจัดกระจาย
ในคอลัมน์ G ปรับสูตรอย่างไรครับ

ขอบคุณครับ
สุ่มตัวอย่าง ครึ่งเดือนแรกกับครึ่งเดือนหลัง.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สุ่มตัวอย่างชื่อคน

#2

Post by snasui »

:D ตัวอย่างสูตรครับ

แทรกคอลัมน์ K มาอีก 1 คอลัมน์เพื่อเป็นคอลัมน์ช่วยจากนั้นคีย์สูตรตามด้านล่างครับ
  1. ที่ H2 คีย์
    =IF(DAY(D2)<=15,RAND(),"")
    Enter > Copy ลงด้านล่าง
  2. ที่ I2 คีย์
    =IF(DAY(D2)>15,RAND(),"")
    Enter > Copy ลงด้านล่าง
  3. ที่ J2 คีย์
    =IF(N(H2),RANK(H2,H$2:H$30),"")
    Enter > Copy ลงด้านล่าง
  4. ที่ K2 คีย์
    =IF(N(I2),RANK(I2,I$2:I$30),"")
    Enter > Copy ลงด้านล่าง
  5. ที่ M2 คีย์
    =INDEX($A$2:$A$30,MATCH(MOD((ROWS(M$2:M2)-1),10)+1,INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1),0))
    Enter > Copy ลงด้านล่าง
  6. ที่ N2 คีย์
    =INDEX($D$2:$D$30,MATCH(MOD((ROWS(M$2:M2)-1),10)+1,INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1),0))
    Enter > Copy ลงด้านล่าง
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สุ่มตัวอย่างชื่อคน

#3

Post by Bo_ry »

อีกแบบ
I2
=IF(DAY($D$2:$D$30)<16,SUMPRODUCT(--(H2<(DAY($D$2:$D$30)<16)*$H$2:$H$30))+1,SUMPRODUCT(--(H2<(DAY($D$2:$D$30)>15)*$H$2:$H$30))+15)

L2
=INDEX($A$2:$A$30,MATCH(K2+(K2>10)*5,$I$2:$I$30,0))

M2
=INDEX($D$2:$D$30,MATCH(K2+(K2>10)*5,$I$2:$I$30,0))
You do not have the required permissions to view the files attached to this post.
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#4

Post by Totem »

snasui wrote: Thu May 02, 2019 7:30 pm :D ตัวอย่างสูตรครับ

แทรกคอลัมน์ K มาอีก 1 คอลัมน์เพื่อเป็นคอลัมน์ช่วยจากนั้นคีย์สูตรตามด้านล่างครับ
  1. ที่ H2 คีย์
    =IF(DAY(D2)<=15,RAND(),"")
    Enter > Copy ลงด้านล่าง
  2. ที่ I2 คีย์
    =IF(DAY(D2)>15,RAND(),"")
    Enter > Copy ลงด้านล่าง
  3. ที่ J2 คีย์
    =IF(N(H2),RANK(H2,H$2:H$30),"")
    Enter > Copy ลงด้านล่าง
  4. ที่ K2 คีย์
    =IF(N(I2),RANK(I2,I$2:I$30),"")
    Enter > Copy ลงด้านล่าง
  5. ที่ M2 คีย์
    =INDEX($A$2:$A$30,MATCH(MOD((ROWS(M$2:M2)-1),10)+1,INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1),0))
    Enter > Copy ลงด้านล่าง
  6. ที่ N2 คีย์
    =INDEX($D$2:$D$30,MATCH(MOD((ROWS(M$2:M2)-1),10)+1,INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1),0))
    Enter > Copy ลงด้านล่าง
:D ขอบคุณครับ ได้ตามที่ต้องการครับ
ขอถามอาจารย์ มีข้อสงสัยตรงคอลัมน์ ่J2 กับ K2 ในสูตร N(H2) กับ N(I2) ตัวอักษร N ใส่ไปในสูตรมีความหมายอย่างไรครับ ขอบคุณครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#5

Post by Totem »

Bo_ry wrote: Thu May 02, 2019 7:48 pm อีกแบบ
I2
=IF(DAY($D$2:$D$30)<16,SUMPRODUCT(--(H2<(DAY($D$2:$D$30)<16)*$H$2:$H$30))+1,SUMPRODUCT(--(H2<(DAY($D$2:$D$30)>15)*$H$2:$H$30))+15)

L2
=INDEX($A$2:$A$30,MATCH(K2+(K2>10)*5,$I$2:$I$30,0))

M2
=INDEX($D$2:$D$30,MATCH(K2+(K2>10)*5,$I$2:$I$30,0))
:D ขอบคุณครับ ได้ตามที่ต้องการครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#6

Post by Totem »

:D ขอเพิ่มเติมครับ
ในคอลัมน์ A (ชื่อ) และคอลัมน์ D (วันที่) ถ้าต้องการสุ่มชื่อไม่ซ้ำและวันที่ไม่ซ้ำกันจะปรับสูตรอย่างไรครับ ขอบคุณครับ
User avatar
logic
Gold
Gold
Posts: 1511
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: สุ่มตัวอย่างชื่อคน

#7

Post by logic »

Totem wrote: Fri May 03, 2019 9:03 am ตัวอักษร N ใส่ไปในสูตรมีความหมายอย่างไรครับ ขอบคุณครับ
แปลงค่าตัวเลขเป็นตัวเลข แปลงตัวหนังสือเป็น 0 https://support.office.com/th-th/articl ... 733d1278c9
Totem wrote: Fri May 03, 2019 9:13 am ต้องการสุ่มชื่อไม่ซ้ำและวันที่ไม่ซ้ำกันจะปรับสูตรอย่างไรครับ
แบบนี้หรือเปล่าครับ

M2 =INDEX($A$2:$A$30,MATCH(SMALL(IF(FREQUENCY(IF(ISNUMBER(INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1)),MATCH($A$2:$A$30,$A$2:$A$30,0)),ROW($A$2:$A$30)-ROW($A$2)+1),INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1)),MOD((ROWS(M$2:M2)-1),10)+1),INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1),0)) Ctrl+Shift+Enter คัดลอกสูตรลง

N2 =INDEX($D$2:$D$30,MATCH(SMALL(IF(FREQUENCY(IF(ISNUMBER(INDEX($J$2:$K$30,0,INT((ROWS(N$2:N2)-1)/10)+1)),MATCH($A$2:$A$30,$A$2:$A$30,0)),ROW($A$2:$A$30)-ROW($A$2)+1),INDEX($J$2:$K$30,0,INT((ROWS(N$2:N2)-1)/10)+1)),MOD((ROWS(N$2:N2)-1),10)+1),INDEX($J$2:$K$30,0,INT((ROWS(N$2:N2)-1)/10)+1),0)) Ctrl+Shift+Enter คัดลอกสูตรลง
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#8

Post by Totem »

logic wrote: Fri May 03, 2019 10:51 am
Totem wrote: Fri May 03, 2019 9:03 am ตัวอักษร N ใส่ไปในสูตรมีความหมายอย่างไรครับ ขอบคุณครับ
แปลงค่าตัวเลขเป็นตัวเลข แปลงตัวหนังสือเป็น 0 https://support.office.com/th-th/articl ... 733d1278c9
Totem wrote: Fri May 03, 2019 9:13 am ต้องการสุ่มชื่อไม่ซ้ำและวันที่ไม่ซ้ำกันจะปรับสูตรอย่างไรครับ
แบบนี้หรือเปล่าครับ

M2 =INDEX($A$2:$A$30,MATCH(SMALL(IF(FREQUENCY(IF(ISNUMBER(INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1)),MATCH($A$2:$A$30,$A$2:$A$30,0)),ROW($A$2:$A$30)-ROW($A$2)+1),INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1)),MOD((ROWS(M$2:M2)-1),10)+1),INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1),0)) Ctrl+Shift+Enter คัดลอกสูตรลง

N2 =INDEX($D$2:$D$30,MATCH(SMALL(IF(FREQUENCY(IF(ISNUMBER(INDEX($J$2:$K$30,0,INT((ROWS(N$2:N2)-1)/10)+1)),MATCH($A$2:$A$30,$A$2:$A$30,0)),ROW($A$2:$A$30)-ROW($A$2)+1),INDEX($J$2:$K$30,0,INT((ROWS(N$2:N2)-1)/10)+1)),MOD((ROWS(N$2:N2)-1),10)+1),INDEX($J$2:$K$30,0,INT((ROWS(N$2:N2)-1)/10)+1),0)) Ctrl+Shift+Enter คัดลอกสูตรลง
:D นำสูตรไปใช่ในงานจริง ขึ้น This formula uses more levels of nesting than you can use in the current file format.
User avatar
logic
Gold
Gold
Posts: 1511
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: สุ่มตัวอย่างชื่อคน

#9

Post by logic »

สูตรนี้ใช้ได้กับไฟล์ .xlsx ที่แนบมาในโพสต์ #1 ครับ :)
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สุ่มตัวอย่างชื่อคน

#10

Post by Bo_ry »

อีกแบบ
I2
=IF(RANK(H2,$H$2:$H$30)=AGGREGATE(15,6,RANK($H$2:$H$30,$H$2:$H$30)/(($D$2:$D$30=D2)+($A$2:$A$30=A2)>0),1),RANK(H2,$H$2:$H$30),"")
L2
=INDEX($A$2:$A$30,MATCH(AGGREGATE(15,6,$I$2:$I$30,K2),$I$2:$I$30,))
M2
=VLOOKUP(L2,$A$2:$D$30,4,)

ไม่ใด้ใช้ครึ่งเดือนแล้วเพราะ 16-30 มีแค่ 9 วันที่ไม่ซ้ำ
You do not have the required permissions to view the files attached to this post.
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#11

Post by Totem »

Totem wrote: Fri May 03, 2019 3:39 pm
logic wrote: Fri May 03, 2019 10:51 am
Totem wrote: Fri May 03, 2019 9:03 am ตัวอักษร N ใส่ไปในสูตรมีความหมายอย่างไรครับ ขอบคุณครับ
แปลงค่าตัวเลขเป็นตัวเลข แปลงตัวหนังสือเป็น 0 https://support.office.com/th-th/articl ... 733d1278c9
Totem wrote: Fri May 03, 2019 9:13 am ต้องการสุ่มชื่อไม่ซ้ำและวันที่ไม่ซ้ำกันจะปรับสูตรอย่างไรครับ
แบบนี้หรือเปล่าครับ

M2 =INDEX($A$2:$A$30,MATCH(SMALL(IF(FREQUENCY(IF(ISNUMBER(INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1)),MATCH($A$2:$A$30,$A$2:$A$30,0)),ROW($A$2:$A$30)-ROW($A$2)+1),INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1)),MOD((ROWS(M$2:M2)-1),10)+1),INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1),0)) Ctrl+Shift+Enter คัดลอกสูตรลง

N2 =INDEX($D$2:$D$30,MATCH(SMALL(IF(FREQUENCY(IF(ISNUMBER(INDEX($J$2:$K$30,0,INT((ROWS(N$2:N2)-1)/10)+1)),MATCH($A$2:$A$30,$A$2:$A$30,0)),ROW($A$2:$A$30)-ROW($A$2)+1),INDEX($J$2:$K$30,0,INT((ROWS(N$2:N2)-1)/10)+1)),MOD((ROWS(N$2:N2)-1),10)+1),INDEX($J$2:$K$30,0,INT((ROWS(N$2:N2)-1)/10)+1),0)) Ctrl+Shift+Enter คัดลอกสูตรลง
:D นำสูตรไปใช่ในงานจริง ขึ้น This formula uses more levels of nesting than you can use in the current file format.
:D ไฟล์ xlsx สูตรทำงาน สูตรที่นำไปใช้ในคอลัมน์ N2 วันที่ มีบางช่อง cell ขึ้น #NUM! ติดต่อกันหลาย cell ผมจึงปรับใช้โดย N2=INDEX($D$2:$D$30,MATCH(SMALL(IF(FREQUENCY(IF(ISNUMBER(INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1)),MATCH($A$2:$A$30,$A$2:$A$30,0)),ROW($A$2:$A$30)-ROW($A$2)+1),INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1)),MOD((ROWS(M$2:M2)-1),10)+1),INDEX($J$2:$K$30,0,INT((ROWS(M$2:M2)-1)/10)+1),0)) Ctrl+Shift+Enter คัดลอกสูตรลง

เปลี่ยนจาก =INDEX($D$2:$D$30 เป็น =INDEX($D$2:$D$30 แล้วไปผลลัพธ์วันที่ไม่ขึ้น #NUM! และใช้งานได้ครับ
ขอบคุณครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#12

Post by Totem »

Bo_ry wrote: Fri May 03, 2019 4:45 pm อีกแบบ
I2
=IF(RANK(H2,$H$2:$H$30)=AGGREGATE(15,6,RANK($H$2:$H$30,$H$2:$H$30)/(($D$2:$D$30=D2)+($A$2:$A$30=A2)>0),1),RANK(H2,$H$2:$H$30),"")
L2
=INDEX($A$2:$A$30,MATCH(AGGREGATE(15,6,$I$2:$I$30,K2),$I$2:$I$30,))
M2
=VLOOKUP(L2,$A$2:$D$30,4,)

ไม่ใด้ใช้ครึ่งเดือนแล้วเพราะ 16-30 มีแค่ 9 วันที่ไม่ซ้ำ
:D ขอบคุณครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#13

Post by Totem »

:D ขอเพิ่มเติมว่าถ้าต้องการสุ่มตัวอย่างให้สุ่มชื่อไม่ซ้ำกันเท่านั้น ไม่คำนึงถึงวันครึ่งเดือนแรกกับครึ่งเดือนหลัง จะปรับสูตรอย่างไรครับ ขอบคุณครับ
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สุ่มตัวอย่างชื่อคน

#14

Post by Bo_ry »

Post #10 ชื่อไม่ซ้ำ วันไม่ซ้ำ ไม่สนครึ่งเดือน

ชื่อไม่ซ้ำ วันซ้ำได้ ไม่สนครึ่งเดือน
I2
=IF(RANK(H2,$H$2:$H$30)=AGGREGATE(15,6,RANK($H$2:$H$30,$H$2:$H$30)/($A$2:$A$30=A2),1),RANK(H2,$H$2:$H$30),"")
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#15

Post by Totem »

Bo_ry wrote: Fri May 03, 2019 6:53 pm Post #10 ชื่อไม่ซ้ำ วันไม่ซ้ำ ไม่สนครึ่งเดือน

ชื่อไม่ซ้ำ วันซ้ำได้ ไม่สนครึ่งเดือน
I2
=IF(RANK(H2,$H$2:$H$30)=AGGREGATE(15,6,RANK($H$2:$H$30,$H$2:$H$30)/($A$2:$A$30=A2),1),RANK(H2,$H$2:$H$30),"")
:D ขอบคุณครับได้ตามต้องการ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#16

Post by Totem »

:D ขอถามอาจารย์และเพื่อนสมาชิกเพิ่มเติมครับในกรณี สุ่มตัวอย่าง ครึ่งเดือนแรกกับครึ่งเดือนหลัง ไม่ซ้ำคนและวันที่ ใน sheet1 คอลัมน์ M และ N หรือ sheet2 คอลัมน์ L และ M ปรับสูตรอย่างไรครับ

สุ่มตัวอย่าง ครึ่งเดือนแรกกับครึ่งเดือนหลัง ไม่ซ้ำคนและวันที่.xlsx
You do not have the required permissions to view the files attached to this post.
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#17

Post by Totem »

:D อีกกรณี สุ่มตัวอย่าง ชื่อไม่ซ้ำ วันไม่ซ้ำ ไม่สนครึ่งเดือน แล้ว
ในคอลัมน์ G ปรับเป็น >2 วัน ทำให้การสุ่มตัวอย่างในคอลัมน์ L สุ่มไม่ครบ 20 ตัวอย่าง ครับ จะปรับสูตรให้ได้ตามต้องการครับ

สุ่มตัวอย่าง ชื่อไม่ซ้ำ วันไม่ซ้ำ ไม่สนครึ่งเดือน.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สุ่มตัวอย่างชื่อคน

#18

Post by Bo_ry »

Totem wrote: Wed May 08, 2019 1:44 pm :D ขอถามอาจารย์และเพื่อนสมาชิกเพิ่มเติมครับในกรณี สุ่มตัวอย่าง ครึ่งเดือนแรกกับครึ่งเดือนหลัง ไม่ซ้ำคนและวันที่ ใน sheet1 คอลัมน์ M และ N หรือ sheet2 คอลัมน์ L และ M ปรับสูตรอย่างไรครับ


สุ่มตัวอย่าง ครึ่งเดือนแรกกับครึ่งเดือนหลัง ไม่ซ้ำคนและวันที่.xlsx
J2:K30
=IF(H2="","",IF(RANK(H2,H$2:H$30)=AGGREGATE(15,6,RANK(H$2:H$30,H$2:H$30)/(($D$2:$D$30=$D2)+($A$2:$A$30=A2)>0),1),RANK(H2,H$2:H$30),""))

M2:M30
=INDEX($A$2:$A$30,MATCH(AGGREGATE(15,6,INDEX($J$2:$K$30,,INT((L2-1)/10)+1),MOD(L2-1,10)+1),INDEX($J$2:$K$30,,INT((L2-1)/10)+1),))

N2:N30
=VLOOKUP(M2,$A$2:$D$30,4,)
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สุ่มตัวอย่างชื่อคน

#19

Post by Bo_ry »

Totem wrote: Wed May 08, 2019 2:07 pm :D อีกกรณี สุ่มตัวอย่าง ชื่อไม่ซ้ำ วันไม่ซ้ำ ไม่สนครึ่งเดือน แล้ว
ในคอลัมน์ G ปรับเป็น >2 วัน ทำให้การสุ่มตัวอย่างในคอลัมน์ L สุ่มไม่ครบ 20 ตัวอย่าง ครับ จะปรับสูตรให้ได้ตามต้องการครับ


สุ่มตัวอย่าง ชื่อไม่ซ้ำ วันไม่ซ้ำ ไม่สนครึ่งเดือน.xlsx
ตัวอย่างเดิมที่ไม่ซ้ำมีแค่ 19 ต้องแก้ให้ไม่ซ้ำ
I2
=IF(G2,IF(RANK(H2,$H$2:$H$34)=AGGREGATE(15,6,RANK($H$2:$H$34,$H$2:$H$34)/(($D$2:$D$34=D2)+($A$2:$A$34=A2)>0),1),RANK(H2,$H$2:$H$34),""),"")
You do not have the required permissions to view the files attached to this post.
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สุ่มตัวอย่างชื่อคน

#20

Post by Totem »

:D ขอบคุณครับ ได้ตามที่ต้องการครับ
Post Reply