יום שבת, 30 בדצמבר 2017

Excel: the fastest method to fill an arithmetic series in a column




Excel: A faster method to fill an arithmetic series in a column


The following method (which I believe is my own invention :-)) shows how to fill a series of numbers (in a predefined range) without telling Excel what is the stop (last cell's) result.

Explanation:
Suppose you want to fill the series: 7, 10, 13…. in cells: M3:M200

Usually you would use the following (“traditional”) method:

1.   Enter 7 in cell M3 and press: CTRL+ENTER (to stay in cell M3)
2.   Click the Home Tab
3.   Click the Editing Group
4.   Select the Fill icon
5.   Select the Series option
6.   In the Series dialog box select: Columns in the: Series radio button
7.   In the Series dialog box select: linear in the: Type radio button
8.   In the Step value text box: type 3
9.   Now you need to calculate the Stop value:
The formula is:  7 + (2003)*3 = 598, where: 200 is the last cell’s row and 3 is the first cell’s row.
10.  In the Stop value text box type the result of step 9.: 598
11.  Press OK in the Series dialog box and Excel will display the requested series in the defined range (M3:M200)


Now, to my method:
I propose a new method, which is faster: You don’t need to
precalculate the stop value, i.e. the value at the range’s last cell.

1.   Enter 7 in cell M3 and press: CTRL+ENTER (to stay in cell M3)
2.   Press F5 to display the Go To dialog box
3.   Enter M3:M200 in the Reference Text Box
4.   Press OK
5.   Press F2 to edit cell M3
6.   Press CTRL+ENTER to propagate the number in cell M3 (7) to the entire range
7.   In cell M4 Enter 10 (the second number of the series)
8.   Select cells M3:M4 and double-click the Fill Handle of cell M4 (at the lower right corner of that cell)
9.   Et voilà, Cells M3:M200 now contain the desired series…

 Picture No.1: The “traditional” method




Picture No.2: My method







יום שלישי, 26 בספטמבר 2017

אתגר בינלאומי באקסל – אוגוסט 2017


אתגר בינלאומי באקסל – אוגוסט 2017

שמח להופיע בחברה טובה, עם המומחים הגדולים ביותר בעולם ב"אקסל"

לפני כחודש גיליתי במקרה ב"יוטיוב" את האתגר הבא ב"אקסל":
https://www.youtube.com/watch?time_continue=1&v=OJLfPc9YlqE

למי שמתעצל, הנה הסבר מילולי:
במטריצה שבעמודות B,C,D (תאיםB5: D45  - מסומנים באפור בתמונה) מופיעים שמות משחקים. כל משחק מופיע רק פעם אחת והוא שייך רק לאחת מהקטגוריות: Productivity, Games, Utility המופיעות בכותרת העמודות (בתאים B4:D4) [מסומנות באדום]
האתגר: שליפת קטגוריה של כל אחד מהמשחקים.

תמונה מס.1 - האתגר




לבעיה יש, כמובן, מספר פתרונות.
אני מציג כאן 2 פתרונות שהם מקוריים שלי והם מופיעים גם בקובץ האקסל, לצד פתרונות של ענקי אקסל.

תמונה מס. 2 – פתרונות שלי לצד פתרונות ענקי אקסל



הפתרונות מוצגים בעמודות H:I, כאשר בעמודה H מופיעים שמות המשחקים ובעמודה I מופיעים שמות הקטגוריות, ליד כל שם משחק

פתרון מס. 1:



                                    תמונה מס. 3 - פתרון מס. 1 בגליון



                                             תמונה מס.4 – פתרון מס. 1 - הנוסחה

הסבר על הפתרון:
הפתרון מתבסס על  Nested If:
אנו מחפשים את שם המשחק ב-3 העמודות בעזרת הפונקציה: MATCH. אם לא נמצא בעמודה המבוקשת, "אקסל" מחזיר שגיאה (#N/A) ואנו אומרים לאקסל להתעלם מהשגיאה (בעזרת הפונקציה IFNA) ולהמשיך לחפש בעמודות הנותרות.



פתרון מס.2:



                                   תמונה מס. 5 - פתרון מס. 2 בגליון



                                       תמונה מס.6 – פתרון מס. 2- הנוסחה



הסבר על הפתרון:
הפתרון מבוסס על הפונקציה COUNTIF אשר סופרת כמה פעמים מופיע השם בכל אחת משלוש העמודות. אם השם נמצא בעמודה מסוימת – הפונקציה תחזיר ערך: 1, אחרת תחזיר: 0.
מכיון שהשם חייב להופיע באחת משלוש העמודות, אם "נשרשר" את 3 התוצאות – נקבל מספר בן 3 ספרות, שאחת מספרותיו היא 1 ומיקום הספרה במספר מציין את מספר העמודה.
אם תוצאת השרשור היא:
100 – אז השם מופיע בעמודה הראשונה (Productivity),
אם תוצאת השרשור היא: 010 – אז השם מופיע בעמודה השניה (Games),
ואם תוצאת השרשור היא: 001 – אז השם מופיע בעמודה השלישית (Utility),
חיפוש מיקום הספרה 1 נעשה באמצעות הפונקציה FIND, ומיקום זה משמש את הפונקציה INDEX כדי להביא את כותרת העמודה במיקום המתאים מבין 3 העמודות.




ניתן להוריד את הקובץ שבו מופיעים הסברים על פתרונות שונים שהציעו מומחי "אקסל", רובם MVP (התואר המכובד שמעניקה "מיקרוסופט" למומחים הגדולים ביותר בעולם ב"אקסל" – בעולם כולו יש פחות מ-100 Excel MVPs)
בקובץ מופיעים גם 2 הפתרונות שלי J J J, בצד פתרונות של ענקי ה"אקסל".
מחמיא לי מאוד.

הקישור לקובץ:







יום רביעי, 20 בספטמבר 2017

פרויקט תרגום סימולטני - 2017.09.04




פרויקט תרגום סימולטני - 2017.09.04


לפני כשבועיים נערך בכפר המכביה ברמת-גן כנס בנושא: מכשור, אוטומציה ובקרה.
בכנס נערכו הרצאות ותצוגות בעברית.
לכנס הוזמנו גם שני אורחים מיפן דוברי אנגלית.
היה לי הכבוד והעונג לשמש מתורגמן סימולטני שלהם מעברית לאנגלית, במשך כל הכנס מהבוקר ועד אחר הצהריים, בכל ההרצאות והמצגות שביקרו.

מצורף מכתב התודה שלהם






יום שישי, 18 באוגוסט 2017

ציון מעולה באקסל - 2017.08.07



ציון מעולה באקסל – 07.08.2017

הציון 100 בבחינת גמר ב"אקסל" JJJ

תלמיד שלי שלומד במרכז בבינתחומי - הרצליה










יום שישי, 7 ביולי 2017

אקסל - שתי שיטות להפיכת נוסחה לערך


אקסל - שתי שיטות להפיכת נוסחה לערך

נניח שבתא מסוים יש לך נוסחה שאתה רוצה להפוך לערך קבוע.
למשל, אם בתא: A3 מופיעה הנוסחה: =TODAY()
ערכה ישתנה בכל יום.
היום ערכה הוא: 07/07/2017
מחר ערכה יהיה: 08/07/2017 וכו'.
אבל אנחנו רוצים שהערך שלה יישאר קבוע גם מחר ומחרתיים וגם בעוד שנתיים....
אנחנו רוצים שערך התא יהיה: 07/07/2017 – תמיד.

ישנן לפחות שתי דרכים להפוך נוסחה לערך:

שיטה א. שמוש במקש ימני בעכבר
שלב א

העמד את סמן העכבר על מסגרת התא. מתקבל צלב ארבע-ראשי 
כמו בתמונה המצורפת:

     תמונה 1: העמד את סמן העכבר על מסגרת התא A3


            שלב ב:
בעזרת המקש הימני של העכבר, גרור את התא לתא סמוך כלשהו (נניח לתא A2)   – מבלי להרפות את אחיזת העכבר

                     תמונה 2: גרור את התא לתא סמוך (A2 


שלב ג:
כשאתה עדיין אוחז במקש הימני של העכבר, חזור לתא A3 – והרפה מן העכבר.
"אקסל" מציג מיני-תפריט.
בחר ב: Copy Here as Values Only
(בגרסה עברית: העתק לכאן כערכים בלבד)
תמונה 3: חזור לתא A3 ובחר ב:  OnlyCopy Here as Values 


וכך ייראה התא לאחר השינוי. הוא מכיל כעת ערך קבוע ולא נוסחה:

 תמונה 4: התאריך בתא A3 הפך מנוסחה לערך קבוע



שיטה ב.   ללא שמוש בעכבר: F2->F9->Enter
שלב א:
בחר בתא (A3)  והקש: F2
שלב ב:
הקש: F9
שלב ג:
הקש: Enter

התאריך בתא A3 יהפך מנוסחה לערך קבוע


הערות:
1)    שיטה ב' הרבה יותר קצרה, אבל החסרון שלה הוא שאפשר להפעיל אותה על תא בודד בלבד בנגוד לשיטה א' שאותה אפשר להחיל גם על תחום תאים רציף (range) ולא רק על תא בודד
2)    במקום להשתמש בפונקציה: TODAY() כדי לקבל את תאריך היום, אפשר להשתמש בצרוף המקשים:;+CTRL.
התאריך שנקבל יהיה תאריך קבוע ולא נצטרך לשנות אותו לערך כדי לקבע אותו.