คำถามติดแท็ก array

6
ทดสอบว่าองค์ประกอบอยู่ในอาร์เรย์ในทุบตี
มีวิธีที่ดีในการตรวจสอบว่าอาร์เรย์มีองค์ประกอบในทุบตี (ดีกว่าวนลูปผ่าน)? อีกวิธีหนึ่งในการตรวจสอบว่าจำนวนหรือสตริงเท่ากับค่าคงที่ที่กำหนดไว้ล่วงหน้าหรือไม่?
17 bash  array 

2
แยกค่าจากช่วงที่หายไปจากช่วงอื่น
ฉันมีสองคอลัมน์ใน Excel "ROSTER" และ "PRESENT" ที่แสดงด้านล่าง: มีสูตรเพื่อให้ได้คอลัมน์ "ไม่อยู่ที่นี่" หรือไม่? ฉันพยายามใช้VLOOKUP()และhttps://superuser.com/a/289653/135912เพื่อไม่ให้มีประโยชน์ = ( ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม! ขอบคุณ!

2
วิธีตั้งค่าสถานะแถวด้วยรูปแบบที่ไม่ว่างเปล่าว่างเปล่าและไม่ว่างเปล่าโดยใช้ Excel
ฉันต้องการความช่วยเหลือจากบางสิ่งที่ฉันพยายามคิดมาตลอดสองวันที่ผ่านมา ฉันมีข้อมูลที่มี 1,000 แถวและหลายคอลัมน์ ฉันต้องการแทรกคอลัมน์ด้วยสูตร (อาร์เรย์) ที่ตั้งค่าสถานะแถวทั้งหมดที่มี "หลุม"; นั่นคือแถวใด ๆ ที่มีคอลัมน์ว่างตั้งแต่หนึ่งคอลัมน์ขึ้นไปในระหว่างคอลัมน์ที่ไม่ใช่ช่องว่างเช่นตัวอย่างเหล่านี้: ชุดข้อมูลจริงของฉันมีได้ระหว่าง 3 และ 7 คอลัมน์ สำหรับตัวอย่างด้านบน (4 คอลัมน์) ฉันลองสูตรต่อไปนี้: IF(OR(AND(SUM(B13:C13)=0,COUNT(A13,D13)>1),AND(B13=0,COUNT(A13,C13)>1),AND(C13=0,COUNT(B13,D13)>1)),"Issue","OK") ดูเหมือนว่าจะทำงานได้ แต่ฉันต้องการบางสิ่งที่สามารถทำงานกับคอลัมน์ข้อความหรือข้อมูลตัวเลขได้มากขึ้นและนั่นเป็นสาเหตุที่ทำให้คอลัมน์ที่ไม่ใช่เป้าหมายอื่น ๆ ล้อมรอบข้อมูล ฉันไม่รู้สึกมั่นใจว่าฉันสามารถระบุรูปแบบที่เป็นไปได้ทั้งหมด (พีชคณิต) และแก้ไขสูตรนี้อย่างถูกต้อง ฉันต้องการวิธีที่แข็งแกร่งกว่านี้สำหรับการทำสิ่งนี้

2
นับค่าสูงสุดเปรียบเทียบกับอาร์เรย์ก่อนหน้า
ฉันพยายามนับจำนวนค่าในแถวที่เท่ากันมีค่ามากกว่า MAX () ค่าของ (ส่วนหนึ่ง) ของคอลัมน์ด้านบน ตัวอย่างเช่น: เมื่อเปรียบเทียบกับ 3 เซลล์ด้านบนนั้นเอง ใน E มา 'นับ' ฉันทำเครื่องหมายเซลล์ที่ควรนับด้วย * อาร์เรย์สุดท้ายของฉันประมาณ 200x5000 ... ฉันได้ลอง (ตัวอย่างเซลล์ E4) แล้วเช่น: {=SUM(IF(A4:D4>=MAX(OFFSET(A1,ROW($1:$4)-1,0,3,1)),1,0))} {=COUNTIF(A4:D4,">="&MAX(OFFSET(A1,0,ROW($1:$4)-1,3,1)))} หวังว่า ROW () & amp; OFFSET () ฟังก์ชั่นจะแยกฟังก์ชั่น MAX มากกว่าคอลัมน์ ... แต่ไม่มีใครให้ผลลัพธ์ที่ดี แน่นอนฉันสามารถแยก MAX () มากกว่า 200 คอลัมน์ที่แตกต่างกันในแผ่นงานที่แตกต่างกัน แต่ฉันฝันร้ายเพราะฉันทำมันไม่ได้ในสูตรอาเรย์เดี่ยว

0
การคำนวณเกิดขึ้นที่ไหน? [ปิด]
ในสเปรดชีตของ Google ฉันมีสูตรอาร์เรย์ค่อนข้างซับซ้อนจำนวนมากในเซลล์จำนวนมาก ที่ใช้เวลานานในการคำนวณ ความเร็วในการคำนวณขึ้นอยู่กับทรัพยากรในพีซีของฉันหรือการคำนวณนั้นทำในเซิร์ฟเวอร์ของ Google หรือไม่

2
Excel - ฟังก์ชั่นอาร์เรย์เพื่อลบช่องว่าง
ฉันมีคอลัมน์ของรายการข้อความที่สามารถมีช่องว่าง (เซลล์ว่าง) ในระหว่างรายการ ในชีตอื่นฉันกำลังพยายามใช้สูตรอาร์เรย์ในช่วงที่มีอยู่เพื่อกรองพื้นที่ว่างเหล่านั้นออก นี่คือสูตร: {=IFERROR(INDEX(Input_Page!$C$2:$C$61,SMALL(IF(ISTEXT(Input_Page!$C$2:$C$61),ROW(Input_Page!$C$2:$C$61),""),ROW(Input_Page!C2))),"")} ซึ่งได้รับแรงบันดาลใจจาก นี้ เว็บไซต์. ในเวิร์กบุ๊กที่ว่างทำงานได้ตามที่คาดไว้อย่างไรก็ตามเมื่อฉันพยายามใช้สูตรในเวิร์กบุ๊กที่มีอยู่แล้วมันจะวางเซลล์ที่มี '0' ลงในรายการที่สร้างโดยฟังก์ชันอาร์เรย์ของฉัน ทั้งคอลัมน์อินพุตและคอลัมน์เอาต์พุตสร้างถูกจัดรูปแบบเป็นข้อความ ฉันต้องการคอลัมน์ที่ว่างเปล่าเหล่านี้เพื่อไม่ให้แสดงเลยในพื้นที่แสดงผลของฉัน ภูมิภาคอินพุต ภูมิภาคเอาท์พุท ความช่วยเหลือหรือคำแนะนำใด ๆ ที่จะได้รับการชื่นชมอย่างดี!

1
เพิ่มแฮชด้วยคีย์ที่ซ้ำกันในอาร์เรย์
ฉันมีพวงของแฮชใน PowerShell ด้วยปุ่มเหมือนกัน แม้ว่าการสร้างชุดของแฮชที่มีคีย์แตกต่างกันนั้นมีความตรงไปตรงมาและพูดคุยกันอย่างละเอียดบนอินเทอร์เน็ต แต่ฉันไม่สามารถหาข้อมูลใด ๆ เกี่ยวกับการเพิ่มแฮชในอาร์เรย์ด้วยคีย์ซ้ำ ข้อผิดพลาดสองข้อที่ฉันได้รับเมื่อพยายามทำสิ่งนี้: Item has already been added. Key in dictionary: 'time' Key being added: 'time' A hash table can only be added to another hash table.

2
วิธีการแปลงสตริงของค่าที่คั่นด้วยเครื่องหมายจุลภาคเป็นอาร์เรย์
ฉันมีเซลล์หลายเซลล์ที่มีสตริงเช่นนี้: "จอห์นคาร์ล่า, ปีเตอร์จอห์น, บ๊อบ, คริส, คาร์ล่าเอนเดรีย" ฉันต้องการนับจำนวนผู้คนที่แตกต่างกัน (เช่นจำนวนค่าที่ไม่ซ้ำกัน) จำนวนสำหรับสตริงด้านบนจะเป็น 6 โปรดทราบว่าจำนวนชื่อทั้งหมดในสตริงสามารถแตกต่างกันมาก บางชื่อมีเพียงชื่อเดียวและชื่อที่ใหญ่ที่สุดมี 14 ชื่อ (ซึ่งบางชื่อสามารถทำซ้ำได้) บางชื่อมีช่องว่างในนั้น (เช่น "Peter Smith, Andrea, Carla Moore") แต่เราสามารถพึ่งพาเครื่องหมายจุลภาคเพื่อแยกพวกเขาออก ฉันคิดว่าวิธีแก้ปัญหาคือการแปลงสตริงเป็นอาร์เรย์แล้วใช้การรวมกันของสูตร SUM, IF และ FREQUENCY ที่ฉันพบออนไลน์ ที่นี่ ใช้กับอาร์เรย์นั้น อย่างไรก็ตามฉันไม่ทราบวิธีการแปลงสตริงให้เป็นอาร์เรย์

1
Bash- การจัดเก็บค่าคีย์ในตัวแปรที่ประกาศใน Associative Array
ฉันกำลังพยายามสร้างอาเรย์แบบเชื่อมโยงในทุบตีที่มีชื่อไฟล์ (วิดีโอ) และระยะเวลาของมัน รหัสคือ: #!/bin/sh shopt -s nullglob movie=(*.mp4) declare -A MYMAP[$filename]=${duration} total=${#movie[*]} for (( i=0; i<=$(( $total -1 )); i++ )) do MYMAP[duration]=10 MYMAP[filename]=${movie[i]} echo "${MYMAP[@]}" echo "${!MYMAP[@]}" done echo "${#MYMAP[@]}" ฉันต้องการส่งชื่อไฟล์และเก็บไว้ในตัวแปรหลักและระยะเวลาในตัวแปรค่า ระยะเวลาจะถูกสอบถามผ่าน ffprobe จริง ๆ แต่มันไม่มีนัยสำคัญ ณ จุดนี้เนื่องจากค่าจะไม่ถูกส่งผ่านไปยังตัวแปรอย่างถูกต้อง ผลลัพธ์ที่ได้คือ: $ sh test2.sh test2.sh: line 6: MYMAP[]: bad array …
bash  array 

0
เปรียบเทียบสองอาร์เรย์ของวันที่เมื่อใช้ INDEX, SMALL และ ROW เพื่อรับการจับคู่ที่ n
ฉันมีช่วงของวันที่และจากนั้นก็มีรายการอีเมลจำนวนมากซึ่งทุกคนมีวันที่ส่ง ฉันต้องการสูตรที่ค้นหาการจับคู่ครั้งแรกระหว่างสองอาร์เรย์ของวันที่แล้วคัดลอกมันลงและให้แสดงการจับคู่ครั้งแรกการจับคู่ที่สองการจับคู่ที่สามเป็นต้น ฉันได้เท่านี้ (เปลี่ยนค่าในตอนท้ายเป็นจำนวนที่ n): {=INDEX($D$2:$D$100,SMALL(IF($A$2:$A$100=$Q$1,ROW($A$2:$A$100)-ROW(INDEX($A$2:$A$100,1,1))+1),1))} แต่ปัญหาคือฉันสามารถใช้สิ่งนี้เพื่อเปรียบเทียบหนึ่งวันจากช่วงวันที่ดั้งเดิมของฉันกับช่วงของวันที่ส่งอีเมลของฉัน ฉันมีความรู้สึกว่าฉันอาจจะไปในทิศทางที่ผิดและเริ่มคิดว่ามันจะเป็นการเสิร์ฟที่ดีขึ้นโดยใช้VBAแต่ฉันรู้สึกเหมือนมีวิธีที่จะทำมันที่ไหนสักแห่งโดยใช้สูตร ฉันลองIF($A$2:$A$100=$Q$1:$Q$10แล้ว แต่มันไม่ได้ผล (ฉันคาดหวังไว้) ข้อมูลเชิงลึกใด ๆ ที่จะได้รับการชื่นชม

2
การตรวจจับอาร์เรย์
ฉันรีสตาร์ทเครื่องของฉันวันนี้และตอนนี้มันจะไม่บูต มันวิ่งผ่านไบออสหลักจากนั้นก็ให้ข้อความที่สองว่า Media rom bios กำลังตรวจจับอาร์เรย์ ... และหยุดทำงาน คำแนะนำใด ๆ ที่จะได้รับการชื่นชมมาก
bios  array 

4
Furmulae อาร์เรย์หลายเซลล์ซ้อนกัน
ข้อมูลของฉันอยู่ใน 2 ตารางแรก ( A1:B6และD1:F6): ผลสุดท้ายที่ฉันตั้งใจอยู่ในทุกค่าที่สอดคล้องกันในI1:I4H1:H4 ตัวอย่างเช่นคุณใช้ค่า "A" คุณจะพบทุกรหัสที่ตรงกันจากB1:B6(เช่น "code1", "code2" และ "code3") จากนั้นคุณค้นหาวันที่ล่าสุดในE1:E5(ตรงกับรหัสจากขั้นตอนก่อนหน้า ) D1:D5และให้ผลที่สอดคล้องกับวันที่ค่าใน ฉันติดอยู่กับขั้นตอนการค้นหาวันที่ล่าสุด ฉันลองสิ่งเหล่านี้: {=IF($F$1:$F$5=IF($A$1:$A$6=$H$1,$B$1:$B$6),$E$1:$E$5)} {=IF($F$1:$F$5={IF($A$1:$A$6=$H$1,$B$1:$B$6)},$E$1:$E$5)} คำแนะนำใด ๆ โปรด? ฉันสามารถเพิ่มคอลัมน์เพิ่มเติมได้ แต่ปัญหาคือผลลัพธ์หลายอาเรย์ซึ่งเท่าที่ฉันรู้ไม่สามารถเก็บไว้ในเซลล์เดียว

1
Excel รับค่าระหว่าง 2 วัน
ฉันพยายามที่จะดึงค่าจากตารางที่มีวันที่กำหนด ตัวอย่างเช่นให้ตารางด้านล่างหากผู้ใช้ป้อนวันที่ 01/07/2019 มันจะดึง D หรือ 4 หากผู้ใช้ป้อน 01/07/2017 แล้วมันจะดึง B หรือ 2 A B C D E 1 1/01/2016 31/12/2016 A 1 2 1/01/2017 31/12/2017 B 2 3 1/01/2018 31/12/2018 C 3 4 1/01/2019 31/12/2019 D 4 5 1/01/2020 31/12/2020 E 5 6 1/01/2021 31/12/2021 F 6 7 1/01/2022 …

1
ตรวจสอบสูตรของ Excel คืนค่าข้อความผิดพลาด
ฉันมีแผ่นงาน Excel ที่ใช้อาร์เรย์เพื่อส่งคืนข้อความที่พบบ่อยที่สุดจากนั้นผลลัพธ์จะถูกคัดลอกไปยังแผ่นงานแยกต่างหากเพื่อให้เราสามารถดูข้อความที่พบบ่อยที่สุดต่อเดือนของปี แผ่นงานนี้ใช้อาร์เรย์เดียวกันเพื่อค้นหาสิ่งที่พบบ่อยที่สุดสำหรับปี ทุก ๆ ครั้งมีเดือนที่ไม่มีค่าซ้ำกันซึ่งส่งกลับ "# N / A" อย่างชัดเจน เป็นไปได้หรือไม่ที่ Excel จะทำข้อผิดพลาดในการตรวจสอบอาร์เรย์ที่มีข้อผิดพลาดแทนที่จะส่งกลับ "# N / A" จะส่งกลับ "unreported" หรือไม่ หรือว่าล้มเหลวมีอาร์เรย์บนแผ่นงานที่สองละเว้นข้อผิดพลาดใด ๆ แก้ไข: {=INDEX(D4:D54,MODE(IF((D4:D54<>"")*ISNA(MATCH(D4:D54,$I$1:$I1,0)),MATCH(D4:D54,D4:D54,0))))} ขออภัยที่ไม่รวมสูตรกับ OP
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.