לאחרונה קיבלתי את הפצירה קורעת הלב הזו מקורא שברור שהיה נאבק זמן מה והגיע לסוף קשירתם: יש לי רשימה של מוצרים שאנו מוכרים, ואחד התחומים הוא UPC - תחום זה יכול להיות באורך של עד 18 ספרות. כשאני מוסיף מעבר ל 15 ספרות, Excel מעוגל אוטומטית את השלוש עד 000 האחרונות. אם אני מגדיר שדה זה כטקסט, הוא מוסיף את ה- + E11 בסוף המחרוזת. זה לא משנה אם רוחב העמודה ארוך יותר משלושה מהאורך הרגיל. כיצד אוכל לתקן זאת?
אני רק מאחל שאקסל יעשה את מה שאומרים לו בלי צורך להוסיף דברים. לדוגמא, אם פורמט התא הוא TEXT אז אל תפרמט בו שום דבר! נראה שאני צריך להשתמש ב- Access רק כדי לבצע כמה שינויים קטנים בקובץ CSV - להשתמש ב- Access כגיליון אלקטרוני במקום כגיליון אלקטרוני. אני חייב לתהות אם OpenOffice עושה את אותו הדבר.
לא משנה איזה גודל המספר או היכן ממוקמת הנקודה העשרונית, אקסל יאחסן רק את 15 הספרות המשמעותיות הראשונות שלה ויזרוק את כל השאר
כמה מסכים בדיסני +
ישנן מגבלות מהותיות לכל מוצר תוכנה, ואקסל אינו יוצא מן הכלל. Excel יכול להחזיק מספרים ל -15 נתונים משמעותיים בלבד מכיוון שהוא משתמש במתמטיקה של IEEE Floating Point, אשר מכתיב כיצד מאוחסנים מספרים - שיכולים להיות גדולים כמו 1.79769313486231E + 308 או קטנים ככל 2.229E-308 - מבלי לגרום לחוברת העבודה לצרוך גיגה-בייט של שטח ולקחת שעות לחשב מחדש. מגבלה זו מוגדרת בבירור בטקסט העזרה של Excel.
שים לב שנתונים משמעותיים אינם זהים למקומות עשרוניים; לא משנה איזה גודל המספר או היכן ממוקמת הנקודה העשרונית, אקסל ישמור רק את 15 הספרות המשמעותיות הראשונות שלה ויזרוק את כל השאר.
UPC מייצג קוד מוצר אוניברסלי, שהוא למעשה שם סמלי או קוד המורכב מספרים, במקום להיות מספר מתמטי.
הוספה או חיסור של שני UPCs אינם הגיוניים ואינם מובילים לקוד UPC תקף אחר, למרות שכל קוד מורכב כולו מספרות. אם אינך עושה שום מתמטיקה על הנתונים שלך, כפי שקורה ב- UPC, תוכל להכריח את Excel לאחסן אותם כטקסט על ידי הקלדת אפוסטרוף לפני שתקליד את הספרה הראשונה. זה אומר ל- Excel שמה שאתה מקליד אינו מספר, למרות שהוא נראה כמו אחד, וכי יש לאחסן אותו כטקסט.
לחלופין, אם אתה מעצב תא כטקסט ואז מקליד בו מחרוזת ספרות ארוכה, Excel עושה בדיוק את מה שאתה מצפה ושומר על כל הספרות שלו מכיוון שהוא מתייחס אליהם כאל תווי טקסט, ולא ספרות מספריות. עם זאת, אם תשכח לעצב את התא כטקסט לפני שתקליד את הספרות, או אם לא תקליד אפוסטרוף מוביל, Excel יתייחס לספרות כמספר, וברגע שהוזן נתונים הוא יחתוך ל 15 נתונים משמעותיים ולא ניתן להחזיר את הספרות שאבדו.
יתרה מכך, ייבוא נתונים מקובץ CSV שונה למדי מהקלדת הנתונים ישירות ל- Excel, מכיוון שקובץ CSV אינו מכיל רמזים לגבי פורמט הנתונים בשדותיו. כאשר אתה פשוט לוחץ פעמיים על קובץ CSV כדי לפתוח אותו ב- Excel, או כאשר אתה משתמש בקובץ של Excel | תיבת דו-שיח פתוחה, Excel ינחש כי יש להתייחס לכל שדות המכילים את כל הספרות כמספרים, וזה לעתים קרובות יותר ממה שרוצים. לא משנה אם שדות אלה מוקפים במרכאות: אם כולם ספרות, Excel פשוט מניח שמדובר במספרים.
עם זאת, אם במקום לפתוח רק את קובץ ה- CSV לחץ על נתונים | קבל נתונים חיצוניים | מ- Text, אז תקבל שליטה על תהליך הייבוא ותוכל לבחור את הפורמט עבור כל עמודת נתונים, כך שתוכל לומר ל- Excel כי יש להתייחס למחרוזות הספרות הארוכות שלך כאל טקסט, ולא כמספרים.
OpenOffice מניחה את אותן ההנחות בדיוק: בכל פעם שאתה מקליד או מייבא נתונים שנראים כמו מספר, גם OpenOffice וגם Excel יתייחסו אליו כמספר כברירת מחדל, ואם ברצונך לעקוף את ההנחה ההגיונית לחלוטין, יהיה עליך לתת את יישום קצת עזרה.