20-02-2011, 19:51
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
דיוק הספרות של אקסל הוא 15. בדוגמא שלך (מספר כרטיס אשראי של מאסטרקארד), יש 16 ספרות. אי לכך, אקסל לא ידייק בספרה ה 16, ככל שהנתון הוא מספר.
כשהתא במצב טקסט, זה לא מספר, אלא סתם מחרוזת, ומטבע הדברים, אין עניין של דיוקים ועיגולים.
פתרון? אין לי. לצערי תוכנת ה spreadsheet של OpenOffice הועתקה אחת לאחת עם כל המגבלות של זו של מיקרוסופט, ולכן גם שם חלה אותה המגבלה בדיוק (גם ב 64 ביט...).
מעקף לפתרון? טור שבו יהיו כתובים המספרים כטקסט רציף. טור נוסף שיחתוך אלמנטים של הטור שבו הטקסט הרציף, לארבע קבוצות.
נניח שב A1 נתון מספר כרטיס האשראי. ב B1 תוכל לכתוב:
קוד:
=CONCATENATE(MID(A1,1,4), "-", MID(A1,5,4), "-", MID(A1,9,4), "-", MID(A1,13,4))
ואז תגרור את הנוסחא לכל הטור. אחרי שתסיים, תוכל לעשות hide לטור A אם אתה לא רוצה לראות אותו. אבל מובן שכל פעם שתרצה לעדכן מספרים, תצטרך לעשות לו unhide.
אולי למישהו יהיה פתרון יותר טוב
נ.ב. אם מעניינת אותך הסיבה לכך, קרא על עניין הנקודה הצפה...
|