รับรายการแรกจาก Split ()


108

ผมใช้SPLIT1.23/1.15ฟังก์ชั่นในการแยกสตริงซึ่งมีลักษณะบางอย่างเช่น

ตอนนี้มันให้ผลสองเซลล์ตามที่ควร แต่ฉันจะได้รับองค์ประกอบบางอย่างจากผลลัพธ์ได้อย่างไร ฉันต้องการทำสิ่งนี้:

SPLIT("1.23/1.15", "/")[0]

1.23สารสกัด ไวยากรณ์ที่ถูกต้องคืออะไร?

ฉันลองใช้INDEXฟังก์ชันนี้แล้วไม่ประสบความสำเร็จ:=INDEX(SPLIT("1.23/1.15", "/"), 0,0)

คำตอบ:


163

คุณสามารถใช้ฟังก์ชันดัชนีเพื่อเลือกว่าจะส่งคืนค่าใด ดังนั้นในการดึงค่าที่สองจากตัวอย่างของคุณคุณสามารถใช้:

=index(SPLIT("1.23/1.15", "/"), 0, 2)

อาร์กิวเมนต์สุดท้ายระบุว่าcolumnคุณต้องการดึงข้อมูลใด - 1จะดึงค่าแรก

หรือคุณสามารถใช้left/ rightและfindดึงค่าจากตัวอย่างของคุณก็ได้ ตัวอย่างเช่นเพื่อรับค่าแรกที่คุณสามารถใช้ได้:

=left("1.23/1.15", find("/", "1.23/1.15"))

1
โอ้ฉันแค่สันนิษฐานว่าดัชนีเป็นศูนย์ ขอบคุณ
filur

ฉันพยายามleft/ rightด้วยsplitและมันจะส่งคืนค่าที่ 1 เสมอ เพียงแค่แจ้งให้ทุกคนทราบว่าคุณต้องใช้findแทน
logicbloke

25

ปัญหาของสองโซลูชันข้างต้นคือไม่รองรับภายในฟังก์ชันอาร์เรย์ฟอร์ม หากคุณรวมฟังก์ชันแบบสอบถามคุณจะได้ผลลัพธ์ที่ต้องการและมีความยืดหยุ่นมากในแง่ของการแยกวิเคราะห์เฉพาะฟิลด์ที่คุณต้องการส่งคืน:

กลับคอลัมน์ที่ 1

=query(SPLIT("1.23/1.15", "/"), "SELECT Col1")

ส่งคืนคอลัมน์ที่ 2

=query(SPLIT("1.23/1.15", "/"), "SELECT Col2")

หากคุณต้องการใช้ในอาร์เรย์ฟอร์มอย่าลืมตั้งค่าส่วนหัวเป็นว่าง: =query(SPLIT("1.23/1.15", "/"), "SELECT Col1 label Col1 '' ")
arno

2

นอกจากนี้หากคุณต้องการใช้สิ่งนี้กับช่วงคุณสามารถใช้:

 =index(split(filter(A2:A,A2:A<>""),"/"),0,2)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.