iWork Kaavat ja funkiot -käyttöopas - Manuels - Apple Apple sur FNAC.COM

 

 

 

TELECHARGER LE PDF :

http://manuals.info.apple.com/MANUALS/0/MA665/fi_FI/iWorkin09_kaavat_ja_funktiot.pdf

 

 

Voir également d'autres Guides APPLE :

Apple-iPhone-User-Guide-For-iOS-6-Software

Apple-iPhone-Manual-del-usuario-Para-el-software-iOS-5-1

Apple-iPhone-Benutzerhandbuch-Fur-iOS-5-1-Software

Apple-Enterprise_Deployment_Guide_CH

Apple-iphone_manuali_i_perdoruesit

Apple-iphone_user_guide_bg

Apple-iphone_manual_do_usuario

Apple-iPhone_Anvandarhandbok

Apple-iphone_user_guide_ta

Apple-iphone_4s_il_mondo_tra_le_dita

Apple-iPhone-OS-Enterprise-Deployment-Guide-Second-Edition-for-Version-3-2-or-later

Apple-iPhone_Bluetooth_Headset_Manual_del_usuario

Apple-iPhone_3G_Important_Product_Information_Guide_en_US

Apple-iphone_4s_informations_importantes_sur_le_produit

Apple-Case-Design-Guidelines

Apple-ipad_brugerhandbog

Apple-ipod_touch_user_guide_ta

Apple-macbook_air-13-inch_mid-2012-qs_br

Apple-iphone_4s_podstawy

Apple-ipad_user_guide_ch

Apple-ipod_touch_user_guide_cn

Apple-Manuel_de_l'utilisateur_de_Final_Cut_Server

Apple-iMac_G5_de_lutilisateur

Apple-Cinema_Tools_4.0_User_Manual_F

Apple-Personal-LaserWriter300-User-s-Guide

Apple-QuickTake-100-User-s-Guide-for-Macintosh

Apple-User-s-Guide-Macintosh-LC-630-DOS-Compatible

Apple-iPhone_iOS3.1_User_Guide

Apple-iphone_4s_important_product_information_guide

Apple-iPod_shuffle_Features_Guide_F

Liste-documentation-apple

Apple-Premiers_contacts_avec_iMovie_08

Apple-macbook_pro-retina-mid-2012-important_product_info_br

Apple-macbook_pro-13-inch-mid-2012-important_product_info

Apple-macbook_air-11-inch_mid-2012-qs_br

Apple-Manuel_de_l_utilisateur_de_MainStage

Apple-Compressor_3_User_Manual_F

Apple-Color_1.0_User_Manual_F

Apple-guide_de_configuration_airport_express_4.2

Apple-TimeCapsule_SetupGuide

Apple-Instruments_et_effets_Logic_Express_8

Apple-Manuel_de_l_utilisateur_de_WaveBurner

Apple-Macmini_Guide_de_l'utilisateur

Apple-PowerMacG5_UserGuide

Disque dur, ATA parallèle Instructions de remplacement

Apple-final_cut_pro_x_logic_effects_ref_f

Apple-Leopard_Installationshandbok

Manuale Utente PowerBookG4

Apple-thunderbolt_display_getting_started_1e

Apple-Compressor-4-Benutzerhandbuch

Apple-macbook_air_11inch_mid2011_ug

Apple-macbook_air-mid-2012-important_product_info_j

Apple-iPod-nano-Guide-des-fonctionnalites

Apple-iPod-nano-Guide-des-fonctionnalites

Apple-iPod-nano-Guide-de-l-utilisateur-4eme-generation

Apple-iPod-nano-Guide-de-l-utilisateur-4eme-generation

Apple-Manuel_de_l_utilisateur_d_Utilitaire_de_reponse_d_impulsion

Apple-Aperture_2_Raccourcis_clavier

AppleTV_Setup-Guide

Apple-livetype_2_user_manual_f

Apple-imacG5_17inch_harddrive

Apple-macbook_air_guide_de_l_utilisateur

Apple-MacBook_Early_2008_Guide_de_l_utilisateur

Apple-Keynote-2-Guide-de-l-utilisateur

Apple-PowerBook-User-s-Guide-for-PowerBook-computers

Apple-Macintosh-Performa-User-s-Guide-5200CD-and-5300CD

Apple-Macintosh-Performa-User-s-Guide

Apple-Workgroup-Server-Guide

Apple-iPod-nano-Guide-des-fonctionnalites

Apple-iPad-User-Guide-For-iOS-5-1-Software

Apple-Boot-Camp-Guide-d-installation-et-de-configuration

Apple-iPod-nano-Guide-de-l-utilisateur-4eme-generation

Power Mac G5 Guide de l’utilisateur APPLE

Guide de l'utilisateur PAGE '08 APPLE

Guide de l'utilisateur KEYNOTE '09 APPLE

Guide de l'Utilisateur KEYNOTE '3 APPLE

Guide de l'Utilisateur UTILITAIRE RAID

Guide de l'Utilisateur Logic Studio

Power Mac G5 Guide de l’utilisateur APPLE

Guide de l'utilisateur PAGE '08 APPLE

Guide de l'utilisateur KEYNOTE '09 APPLE

Guide de l'Utilisateur KEYNOTE '3 APPLE

Guide de l'Utilisateur UTILITAIRE RAID

Guide de l'Utilisateur Logic Studio

Guide de l’utilisateur ipad Pour le logiciel iOS 5.1

PowerBook G4 Premiers Contacts APPLE

Guide de l'Utilisateur iphone pour le logiciel ios 5.1 APPLE

Guide de l’utilisateur ipad Pour le logiciel iOS 4,3

Guide de l’utilisateur iPod nano 5ème génération

Guide de l'utilisateur iPod Touch 2.2 APPLE

Guide de l’utilisateur QuickTime 7  Mac OS X 10.3.9 et ultérieur Windows XP et Windows 2000

Guide de l'utilisateur MacBook 13 pouces Mi 2010

Guide de l’utilisateur iPhone (Pour les logiciels iOS 4.2 et 4.3)

Guide-de-l-utilisateur-iPod-touch-pour-le-logiciel-ios-4-3-APPLE

Guide-de-l-utilisateur-iPad-2-pour-le-logiciel-ios-4-3-APPLE

Guide de déploiement en entreprise iPhone OS

Guide-de-l-administrateur-Apple-Remote-Desktop-3-1

Guide-de-l-utilisateur-Apple-Xserve-Diagnostics-Version-3X103

Guide-de-configuration-AirPort-Extreme-802.11n-5e-Generation

Guide-de-configuration-AirPort-Extreme-802-11n-5e-Generation

Guide-de-l-utilisateur-Capteur-Nike-iPod

Guide-de-l-utilisateur-iMac-21-5-pouces-et-27-pouces-mi-2011-APPLE

Guide-de-l-utilisateur-Apple-Qadministrator-4

Guide-d-installation-Apple-TV-3-eme-generation

User-Guide-iPad-For-ios-5-1-Software

[TXT]

 Apple-mac_mini_mid20..> 28-Feb-2014 15:10  2.9M  

[TXT]

 Apple-Premiers_conta..> 28-Feb-2014 15:10  3.5M  

[TXT]

 Apple-Pages09_Guide_..> 28-Feb-2014 15:09  4.1M  

[TXT]

 Apple-apple_tv_3rd_g..> 28-Feb-2014 15:09  3.5M  

[TXT]

 Apple-ipod_touch_use..> 28-Feb-2014 15:08  4.5M  

[TXT]

 Apple-iPod_classic_1..> 28-Feb-2014 15:08  4.3M  

[TXT]

 Apple-AirPort-Time-C..> 28-Feb-2014 15:06  4.6M  

[TXT]

 Apple-AirPort-Extrem..> 28-Feb-2014 15:06  4.6M  

[TXT]

 Apple-macbook_air-mi..> 28-Feb-2014 15:05  4.6M  

[TXT]

 Apple-boot_camp_inst..> 28-Feb-2014 15:05  4.7M  

[TXT]

 Apple-iPod-touch-Gui..> 28-Feb-2014 15:03  5.1M   

[TXT] Apple-MacBook-Pro-Gu..> 28-Feb-2014 15:03 4.8M 

[TXT]

 Apple-Power-Macintos..> 28-Feb-2014 10:25  1.3M  

[TXT]

 Apple-MacBook_13inch..> 28-Feb-2014 10:25  1.4M  

[TXT]

 Apple-iPad-Anvandarh..> 28-Feb-2014 10:25  1.7M  

[TXT]

 Apple-AirPort-Extrem..> 28-Feb-2014 10:25  1.4M  

[TXT]

 Apple-Mac_Pro_Early2..> 28-Feb-2014 10:24  1.8M  

[TXT]

 Apple-AirPort-Time-C..> 28-Feb-2014 10:24  1.8M  

[TXT]

 Apple-iPod_nano_4th_..> 28-Feb-2014 10:23  2.0M  

[TXT]

 Apple-iPod_nano_5th_..> 28-Feb-2014 10:23  2.1M  

[TXT]

 Apple-premiers_conta..> 28-Feb-2014 10:23  2.2M  

[TXT]

 Apple-ipad_gebruiker..> 28-Feb-2014 10:23  2.5M  

[TXT]

 Apple-Formulas_and_F..> 28-Feb-2014 10:22  3.5M  

[TXT]

 Apple-Manual_del_usu..> 28-Feb-2014 10:22  2.9M

 [TXT] Apple-nikeipod_guide..> 27-Feb-2014 10:13 3.2M  

[TXT]

 Apple-Logic-Express-..> 27-Feb-2014 10:11  3.5M  

[TXT]

 Apple-iMac-G5-Manual..> 27-Feb-2014 10:11  1.4M  

[TXT]

 Apple-DVD-Studio-Pro..> 27-Feb-2014 10:10  1.9M  

[TXT]

 Apple-Loops-Utility-..> 27-Feb-2014 10:10  2.0M  

[TXT]

 Apple-Final-Cut-Pro-..> 27-Feb-2014 10:09  3.1M  

[TXT]

 Apple-Final-Cut-Stud..> 27-Feb-2014 10:09  2.1M  

[TXT]

 Apple-iPod-mini-User..> 27-Feb-2014 10:08  3.2M  

[TXT]

 Apple-Xserve -Apple-..> 27-Feb-2014 10:08  3.2M  

[TXT]

 Apple-Logic-Pro-7.2 ..> 27-Feb-2014 10:07  4.4M  

[TXT]

 Apple-Soundtrack-Pro..> 27-Feb-2014 10:07  4.1M  

[TXT]

 Apple-Time-Capsule-I..> 27-Feb-2014 10:06  4.6M  

[TXT]

 Apple-MacBook-Pro-Ma..> 27-Feb-2014 10:06  4.5M  

[TXT]

 Apple-iPhone-OS-Ente..> 05-Dec-2013 07:30  2.4M  

[TXT]

 Apple-Mac_OSX_Server..> 05-Dec-2013 07:29  2.1M  

[TXT]

 Apple-Compressor-4-ã..> 05-Dec-2013 07:23  2.8M  

[TXT]

 Apple-Remote-Desktop..> 27-Jun-2013 08:59  2.3M  

[TXT]

 Apple-MacBook_Pro_17..> 27-Jun-2013 08:51  3.0M  

[TXT]

 Apple-Compressor-Man..> 06-Jun-2013 14:35  2.1M  

[TXT]

 Apple-Soundtrack_Pro..> 06-Jun-2013 14:35  3.4M  

[TXT]

 Apple-LiveType_2_Use..> 06-Jun-2013 14:35  2.3M  

[TXT]

 Apple-Motion_3_User_..> 06-Jun-2013 14:34  5.8M  

[TXT]

 Apple-MacBook_13inch..> 06-Jun-2013 14:34  6.0M  

[TXT]

 Apple-MainStage-Manu..> 06-Jun-2013 14:32  6.0M  

[TXT]

 Apple-PowerMacG5_Use..> 06-Jun-2013 14:32  6.1M  

[TXT]

 Apple-MacBook-Air-Ma..> 06-Jun-2013 14:30  6.1M  

[TXT]

 Apple-iMac_G5_de_lut..> 06-Jun-2013 14:30  6.3M  

[TXT]

 Apple-final_cut_pro_..> 06-Jun-2013 14:28  7.6M  

[TXT]

 Apple-Xcode_User_Gui..> 06-Jun-2013 14:28  6.6M  

[TXT]

 Apple-macbook_pro_17..> 06-May-2013 17:01  3.5M  

[TXT]

 Apple-Cocoa-Bindings..> 09-Nov-2012 10:25  1.9M  

[TXT]

 Apple-Stream-Program..> 09-Nov-2012 09:19  3.0M  

[TXT]

 Apple-View-Programmi..> 09-Nov-2012 09:19  3.2M  

[TXT]

 Apple-OpenGL-Program..> 09-Nov-2012 09:18  3.5M  

[TXT]

 Apple-Preferences-an..> 09-Nov-2012 09:18  3.6M  

[TXT]

 Apple-AV-Foundation-..> 09-Nov-2012 09:17  3.7M  

[TXT]

 Apple-Windows-Guide-..> 09-Nov-2012 09:16  3.7M  

[TXT]

 Apple-Date-and-Time-..> 09-Nov-2012 09:15  1.4M  

[TXT]

 Apple-Event-Driven-X..> 09-Nov-2012 09:15  1.5M  

[TXT]

 Apple-OpenCL-Program..> 09-Nov-2012 09:15  1.6M  

[TXT]

 Apple-Core-Text-Prog..> 09-Nov-2012 09:15  1.7M  

[TXT]

 Apple-Document-Based..> 09-Nov-2012 09:14  1.8M  

[TXT]

 Apple-URL-Loading-Sy..> 09-Nov-2012 09:14  3.0M  

[TXT]

 Apple-livetype_2_use..> 09-Nov-2012 08:07  2.0M  

[TXT]

 Apple-iPod_nano_4th_..> 09-Nov-2012 08:07  1.8M  

[TXT]

 Apple-iPhone_4_Deux_..> 09-Nov-2012 08:06  2.1M  

[TXT]

 Apple-airportextreme..> 09-Nov-2012 08:06  2.0M  

[TXT]

 Apple-Object-Oriente..> 09-Nov-2012 08:05  2.3M  

[TXT]

 Apple-TableView_iPho..> 09-Nov-2012 08:05  2.2M  

[TXT]

 Apple-Universal-Bina..> 09-Nov-2012 08:05  2.4M  

[TXT]

 Apple-Objective-C-Ru..> 09-Nov-2012 08:05  2.5M  

[TXT]

 Apple-Local-and-Push..> 09-Nov-2012 08:04  2.7M  

[TXT]

 Apple-Mac-App-Progra..> 09-Nov-2012 08:04  2.6M  

[TXT]

 Apple-CocoaEncyclope..> 09-Nov-2012 08:03  2.9M  

[TXT]

 Apple-Blocks-Program..> 09-Nov-2012 08:03  2.9M  

[TXT]

 Apple-External-Acces..> 09-Nov-2012 08:02  3.0M  

[TXT]

 Apple-multimediaprog..> 09-Nov-2012 08:02  2.9M  

[TXT]

 Apple-iphone_3gs_fin..> 08-Nov-2012 10:12  2.6M  

[TXT]

 Apple-SafariWebConte..> 08-Nov-2012 10:12  1.7M  

[TXT]

 Apple-ARD3_AdminGuid..> 08-Nov-2012 10:12  2.9M  

[TXT]

 Apple-iTunes_Videoan..> 08-Nov-2012 10:11  2.0M  

[TXT]

 Apple-ipod_nano_3rd_..> 08-Nov-2012 10:11  2.1M  

[TXT]

 Apple-Event-Handling..> 08-Nov-2012 10:10  2.3M  

[TXT]

 Apple-QuickTime7_Use..> 08-Nov-2012 10:10  2.4M  

[TXT]

 Apple-drawingprintin..> 08-Nov-2012 10:10  2.6M  

[TXT]

 Apple-SharkUserGuide..> 08-Nov-2012 10:09  2.6M  

[TXT]

 Apple-Location-Aware..> 08-Nov-2012 10:09  2.7M  

[TXT]

 Apple-Key-Value-Obse..> 08-Nov-2012 10:08  2.7M  

[TXT]

 Apple-CocoaTextArchi..> 08-Nov-2012 10:08  1.4M  

[TXT]

 Apple-Text-System-Us..> 08-Nov-2012 10:07  1.4M  

[TXT]

 Apple-iTunes_Extrasa..> 08-Nov-2012 10:07  1.5M  

[TXT]

 Apple-Archives-and-S..> 08-Nov-2012 10:07  1.5M  

[TXT]

 Apple-TV_2nd_gen_Set..> 08-Nov-2012 09:11  2.6M  

[TXT]

 Apple-WorkingWithUSB..> 08-Nov-2012 07:57  2.6M  

[TXT]

 AppleSafariVisualEff..> 08-Nov-2012 07:29  2.7M  

[TXT]

 Apple-Resource-Progr..> 08-Nov-2012 07:28  2.8M  

[TXT]

 Apple-Cryptographic-..> 08-Nov-2012 07:28  1.7M  

[TXT]

 Apple-CocoaDrawingGu..> 08-Nov-2012 07:27  2.0M  

[TXT]

 Apple-macbook_pro-13..> 08-Nov-2012 07:27  2.0M  

[TXT]

 Apple-Xsan_2_Admin_G..> 08-Nov-2012 07:27  2.2M  

[TXT]

 Apple-ipad_wifi_info..> 08-Nov-2012 07:26  2.3M  

[TXT]

 Apple-ipad_uzivatels..> 08-Nov-2012 07:26  2.9M  

[TXT]

 Apple-ipad_manual_de..> 08-Nov-2012 07:26  2.6M  

[TXT]

 Apple-Nike_Plus_iPod..> 08-Nov-2012 07:25  3.0M  

[TXT]

 Apple-iphone_user_gu..> 08-Nov-2012 07:25  3.7M  

[TXT]

 Apple-ipad_user_guid..> 08-Nov-2012 07:24  4.3M  

[TXT]

 Apple-ipad_user_guid..> 08-Nov-2012 07:24  4.6M  

[TXT]

 Apple-macbook_pro_re..> 08-Nov-2012 07:22  2.7M  

[TXT]

 Apple-AppStoreMarket..> 08-Nov-2012 07:22  2.7M  

[TXT]

 Apple-macbook_air-13..> 08-Nov-2012 07:22  2.8M  

[TXT]

 Apple-macbook_air_us..> 08-Nov-2012 07:21  2.8M  

[TXT]

 Apple-Logic-Pro-9-TD..> 08-Nov-2012 07:21  2.8M  

[TXT]

 Apple-InstrumentsUse..> 08-Nov-2012 07:20  1.6M  

[TXT]

 Apple-Core-Data-Mode..> 07-Nov-2012 21:59  2.5M  

[TXT]

 Apple-App-Sandbox-De..> 07-Nov-2012 21:24  2.0M  

[TXT]

 Apple-iTunes-Connect..> 07-Nov-2012 21:24  1.9M  

[TXT]

 Apple-Transitioning-..> 07-Nov-2012 21:23  2.0M  

[TXT]

 Apple-RED_Workflows_..> 07-Nov-2012 21:23  2.0M  

[TXT]

 Apple-KernelProgramm..> 07-Nov-2012 21:23  2.4M  

[TXT]

 Apple-iPod_shuffle_4..> 07-Nov-2012 19:37  2.1M  

[TXT]

 Apple-Mac-Pro-2008-P..> 07-Nov-2012 19:31  2.2M  

[TXT]

 Apple-iOS_Security_M..> 07-Nov-2012 19:31  2.3M  

[TXT]

 Apple-macbook_pro-re..> 07-Nov-2012 19:31  2.2M  

[TXT]

 Apple-PackageMaker_U..> 07-Nov-2012 19:30  2.3M  

[TXT]

 Apple-Apple_Server_D..> 07-Nov-2012 19:30  2.3M  

[TXT]

 Apple-OS-X-Server-Pr..> 07-Nov-2012 19:29  2.3M  

[TXT]

 Apple-OS-X-Mountain-..> 07-Nov-2012 19:29  2.4M  

[TXT]

 Apple-mac_mini-late-..> 07-Nov-2012 19:29  2.4M  

[TXT]

 Apple-KeyValueObserv..> 07-Nov-2012 19:29  2.4M  

[TXT]

 Apple-ViewController..> 07-Nov-2012 19:28  2.6M  

[TXT]

 Apple-CodeSigningGui..> 07-Nov-2012 19:28  2.7M  

[TXT]

 Apple-TimeCapsule_Se..> 07-Nov-2012 19:27  2.8M  

[TXT]

 Apple-TimeCapsule_Se..> 07-Nov-2012 19:27  2.7M  

[TXT]

 Apple-time_capsule_4..> 07-Nov-2012 19:26  2.8M  

[TXT]

 Apple-TimeCapsule_Se..> 07-Nov-2012 19:26  2.8M  

[TXT]

 Apple-Apple_AirPort_..> 07-Nov-2012 19:26  2.8M  

[TXT]

 Apple-Secure-Coding-..> 07-Nov-2012 19:25  1.9M  

[TXT]

 Apple-String-Program..> 07-Nov-2012 19:25  1.6M  

[TXT]

 Apple-Apple_Composit..> 01-Nov-2012 13:36  3.9M  

[TXT]

 Apple-Premiers-conta..> 01-Nov-2012 13:36  2.1M  

[TXT]

 AppleiPod_shuffle_4t..> 01-Nov-2012 13:36  2.1M  

[TXT]

 Apple-ipod_touch_geb..> 01-Nov-2012 13:35  2.4M  

[TXT]

 Apple-Instruments_et..> 01-Nov-2012 13:35  3.8M  

[TXT]

 Apple-ipad_manual_do..> 01-Nov-2012 13:35  4.1M  

[TXT]

 Apple-UsingiTunesPro..> 01-Nov-2012 13:34  4.2M  

[TXT]

 Apple-wp_osx_configu..> 01-Nov-2012 13:33  4.2M  

[TXT]

 Apple_ProRes_White_P..> 01-Nov-2012 13:32  4.2M  

[TXT]

 Apple-ipod_nano_kayt..> 01-Nov-2012 13:32  4.4M  

[TXT]

 Apple-Instrumentos_y..> 01-Nov-2012 13:31  3.4M  

[TXT]

 Apple-nike_plus_ipod..> 01-Nov-2012 13:31  2.1M  

[TXT]

 Apple-Pages09_Anvand..> 01-Nov-2012 13:30  2.8M  

[TXT]

 Apple-aperture3.4_10..> 01-Nov-2012 13:30  2.8M  

[TXT]

 Apple-ipod_nano_benu..> 01-Nov-2012 13:29  3.0M  

[TXT]

 Apple-airmac_express..> 01-Nov-2012 13:29  3.0M  

[TXT]

 Apple-Aan-de-slag-Ne..> 01-Nov-2012 13:28  1.7M  

[TXT]

 Apple-iphone_priruck..> 01-Nov-2012 13:28  2.1M  

[TXT]

 Apple-Apple_TV_Opsti..> 01-Nov-2012 11:14  2.7M  

[TXT]

 Apple-iPod_touch_2.2..> 01-Nov-2012 11:13  3.1M  

[TXT]

 Apple-VoiceOver_Gett..> 01-Nov-2012 11:13  2.8M  

[TXT]

 Apple-iPod_classic_1..> 01-Nov-2012 11:12  3.2M  

[TXT]

 Apple-iPod_shuffle_3..> 01-Nov-2012 11:12  3.2M  

[TXT]

 Apple-Qmaster-4-User..> 01-Nov-2012 11:11  2.3M  

[TXT]

 Apple-iPod_touch_2.1..> 01-Nov-2012 11:11  2.9M  

[TXT]

 Apple-Final-Cut-Pro-..> 01-Nov-2012 11:11  3.1M  

[TXT]

 Apple-DEiPod_photo_B..> 01-Nov-2012 11:10  3.2M  

[TXT]

 Apple-AirPort_Expres..> 01-Nov-2012 11:10  3.2M  

[TXT]

 Apple-MacBook_Pro_15..> 01-Nov-2012 11:09  3.2M  

[TXT]

 Apple-Xserve-RAID-Pr..> 01-Nov-2012 11:09  3.4M  

[TXT]

 Apple-MacBook_13inch..> 01-Nov-2012 11:08  3.5M  

[TXT]

 Apple-MacBook_Pro_Mi..> 01-Nov-2012 11:07  3.5M  

[TXT]

 Apple-AirPort_Networ..> 01-Nov-2012 11:07  3.7M  

[TXT]

 Apple-Compressor-4-B..> 01-Nov-2012 11:06  3.3M  

[TXT]

 Apple-ipad_guide_de_..> 01-Nov-2012 11:05  3.8M  

[TXT]

 Apple-ResEdit-Refere..> 01-Nov-2012 11:05  3.5M  

[TXT]

 Apple-ipod_classic_f..> 28-Oct-2012 20:54  2.7M  

[TXT]

 Apple-MacBook_Mid200..> 28-Oct-2012 20:49  2.7M  

[TXT]

 Apple-MacBook_13inch..> 28-Oct-2012 20:49  1.9M  

[TXT]

 Apple-iMac_Mid2010_U..> 28-Oct-2012 20:49  2.0M  

[TXT]

 Apple-Guide_de_confi..> 28-Oct-2012 20:48  2.1M  

[TXT]

 Apple-videocard.pdf-..> 28-Oct-2012 20:48  2.1M  

[TXT]

 Apple-atacable.pdf-M..> 28-Oct-2012 20:47  2.1M  

[TXT]

 Apple-Pile-Interne-M..> 28-Oct-2012 20:47  2.1M  

[TXT]

 Apple-Boitier-de-l-o..> 28-Oct-2012 20:47  2.1M  

[TXT]

 Apple-battery.cube.p..> 28-Oct-2012 20:47  2.1M  

[TXT]

 Apple-Couvercle-Manu..> 28-Oct-2012 20:46  2.1M  

[TXT]

 Apple-iPhone_Finger_..> 28-Oct-2012 20:46  2.1M  

[TXT]

 Apple-Carte-AirPort-..> 28-Oct-2012 20:45  2.1M  

[TXT]

 Apple-Lecteur-Optiqu..> 28-Oct-2012 20:45  2.1M  

[TXT]

 Apple-Server_Adminis..> 28-Oct-2012 20:44  2.5M  

[TXT]

 Apple-Administration..> 28-Oct-2012 10:54  2.3M  

[TXT]

 Apple-Supplement_au_..> 28-Oct-2012 10:53  2.5M  

[TXT]

 Apple-Aperture_Perfo..> 28-Oct-2012 10:53  2.6M  

[TXT]

 Apple-Network_Servic..> 28-Oct-2012 10:52  2.1M  

[TXT]

 Apple-MacBook_Pro_15..> 28-Oct-2012 10:52  2.2M  

[TXT]

 Apple-Final_Cut_Expr..> 28-Oct-2012 10:52  2.2M  

[TXT]

 Apple-AirPort_Extrem..> 28-Oct-2012 10:51  2.3M  

[TXT]

 Apple-iOS_Business.p..> 28-Oct-2012 10:51  2.3M  

[TXT]

 Apple-iPod_nano_5th_..> 28-Oct-2012 10:51  2.5M  

[TXT]

 Apple-Designing_AirP..> 28-Oct-2012 10:50  1.9M  

[TXT]

 Apple-Opstillingsvej..> 28-Oct-2012 10:50  2.6M  

[TXT]

 Apple-Administration..> 28-Oct-2012 10:49  2.8M  

[TXT]

 Apple-Time_Capsule_I..> 28-Oct-2012 10:49  2.8M  

[TXT]

 Apple-Feuille_de_ope..> 28-Oct-2012 10:48  2.8M  

[TXT]

 Apple-iPod_2ndGen_US..> 28-Oct-2012 10:48  2.9M  

[TXT]

 Apple-Comment_demarr..> 28-Oct-2012 10:47  1.5M  

[TXT]

 Apple-MacBook_Pro_17..> 28-Oct-2012 10:47  1.6M  

[TXT]

 Apple-iPod_touch_2.0..> 28-Oct-2012 10:47  1.8M  

[TXT]

 Apple-Mac_OS_X_Serve..> 28-Oct-2012 10:46  2.2M  

[TXT]

 Apple-Mac_mini_Late2..> 28-Oct-2012 10:46  2.0M  

[TXT]

 Apple-MacBookPro_Lat..> 28-Oct-2012 10:46  2.6M  

[TXT]

 Apple-Mise_a_niveau_..> 28-Oct-2012 10:46  2.5M  

[TXT]

 Apple-Aperture_Getti..> 23-Oct-2012 16:20  1.8M  

[TXT]

 Apple-Mac-OS-X-Serve..> 23-Oct-2012 16:19  2.3M  

[TXT]

 Apple-Apple_AirPort_..> 23-Oct-2012 16:19  2.2M  

[TXT]

 Apple-MacBook_Pro_17..> 23-Oct-2012 16:18  2.7M  

[TXT]

 Apple-Administration..> 23-Oct-2012 16:18  2.6M  

[TXT]

 Apple-iPod_touch_Fun..> 23-Oct-2012 16:17  2.8M  

[TXT]

 Apple-iPhone-et-iPad..> 23-Oct-2012 16:17  2.8M  

[TXT]

 Apple-F034-2262AXerv..> 22-Oct-2012 17:35  2.2M  

[TXT]

 Apple-Mac_OS_X_Serve..> 22-Oct-2012 17:00  2.2M  

[TXT]

 Apple-F034-2262AXerv..> 22-Oct-2012 16:59  2.2M  

[TXT]

 Apple-Deploiement-d-..> 22-Oct-2012 16:59  2.2M  

[TXT]

 Apple-iPod_mini_2nd_..> 22-Oct-2012 16:41  2.7M  

[TXT]

 Apple-getting_starte..> 22-Oct-2012 16:41  2.6M  

[TXT]

 Apple-Aperture_Getti..> 22-Oct-2012 16:37  2.6M  

[TXT]

 Apple-FUIntroduction..> 22-Oct-2012 16:37  2.3M  

[TXT]

 Apple-Logic_Studio_I..> 22-Oct-2012 16:36  2.8M  

[TXT]

 Apple-sur-Fnac.com.htm  22-Oct-2012 16:36  2.3M  

[TXT]

 Apple-imacg5_17inch_..> 22-Oct-2012 16:35  2.9M  

[TXT]

 Apple-Mac_Pro_Early2..> 22-Oct-2012 16:35  2.9M  

[TXT]

 Apple-Mac_mini_Mid20..> 22-Oct-2012 16:34  3.0M  

[TXT]

 Apple-XsanGettingSta..> 22-Oct-2012 16:27  2.3M  

[TXT]

 Apple-iBook-G4-Getti..> 22-Oct-2012 16:26  2.8M  

[TXT]

 Apple-iPod_nano_4th_..> 22-Oct-2012 16:26  3.0M  

[TXT]

 Apple-imacg5_17inch_..> 22-Oct-2012 16:25  2.8M  

[TXT]

 Apple-Administration..> 22-Oct-2012 16:25  2.7M  

[TXT]

 Apple-MacBook_Late20..> 22-Oct-2012 16:24  2.3M  

[TXT]

 Apple-Guide_de_confi..> 22-Oct-2012 16:24  2.2M  

[TXT]

 Apple-Guide_des_fonc..> 22-Oct-2012 16:24  2.2M  

[TXT]

 Apple-Mac_mini_UG-Ea..> 22-Oct-2012 16:23  2.1M  

[TXT]

 Apple-iphone_bluetoo..> 22-Oct-2012 16:23  2.0M  

[TXT]

 Apple-FRLogic_Pro_7_..> 22-Oct-2012 16:14  275K  

[   ]

 telecharger.php         17-Oct-2012 14:20  960   

[TXT]

 Liste-documentation-..> 17-Oct-2012 10:02   62K  

[TXT]

 Apple-Installation_d..> 17-Oct-2012 09:43  208K  

[TXT]

 Apple-MacBook_Pro_15..> 17-Oct-2012 09:43  420K  

[TXT]

 Apple-MacBook_Pro_13..> 17-Oct-2012 09:43  347K  

[TXT]

 Apple-Pages-Guide-de..> 17-Oct-2012 09:43  580K  

[TXT]

 Apple-Installation_d..> 17-Oct-2012 09:43  443K  

[TXT]

 Apple-PowerBookG3Use..> 17-Oct-2012 09:42  701K  

[TXT]

 Apple-iBookG3_DualUS..> 17-Oct-2012 09:42  730K  

[TXT]

 Apple-iMacG3_2002Mul..> 17-Oct-2012 09:42  761K  

[TXT]

 Apple-MainStage-2-Us..> 17-Oct-2012 09:42  1.0M  

[TXT]

 Apple-Concurrency-Pr..> 17-Oct-2012 09:42  1.2M  

[TXT]

 Apple-iOS-App-Progra..> 17-Oct-2012 09:42  1.5M  

[TXT]

 Apple-Advanced-Memor..> 17-Oct-2012 09:42  1.5M  

[TXT]

 Apple-Wireless_Might..> 17-Oct-2012 09:41  1.5M  

[TXT]

 Apple-ipod_touch_fea..> 17-Oct-2012 09:41  1.7M  

[TXT]

 Apple-iPod_nano_5th_..> 17-Oct-2012 09:41  1.8M  

[TXT]

 Apple-iPod_classic_1..> 17-Oct-2012 09:40  2.0M  

[TXT]

 Apple-iPod_shuffle_3..> 17-Oct-2012 09:40  2.0M  

[TXT]

 Applairportextreme_8..> 17-Oct-2012 09:40  2.1M  

[TXT]

 Apple-Color-User-Man..> 17-Oct-2012 09:40  2.7M  

[TXT]

 Apple-ipod_shuffle_f..> 17-Oct-2012 09:39  2.8M  

[TXT]

 Apple-aluminumAppleK..> 17-Oct-2012 09:39  2.8M  

[TXT]

 Apple-Shake_4_User_M..> 17-Oct-2012 09:38  3.4M  

[TXT]

 Apple-Aperture_Quick..> 17-Oct-2012 09:37  3.4M  

[TXT]

 Apple-prise_en_charg..> 17-Oct-2012 09:37  2.7M  

[TXT]

 Apple-FCP6_Formats_d..> 17-Oct-2012 09:36  2.9M  

[TXT]

 Apple-imacg5_20inch_..> 17-Oct-2012 09:36  3.0M  

[TXT]

 Apple-iMac_Guide_de_..> 17-Oct-2012 09:35  3.0M  

[TXT]

 Apple-Installation_d..> 17-Oct-2012 09:35  3.0M  

[TXT]

 Apple-Guide_de_l_uti..> 17-Oct-2012 09:34  3.1M  

[TXT]

 Apple-imacG5_20inch_..> 17-Oct-2012 09:34  3.0M  

[TXT]

 Apple-imacg5_20inch_..> 17-Oct-2012 09:33  2.5M  

[TXT]

 Apple-eMac_2005UserG..> 17-Oct-2012 09:33  2.6M  

[TXT]

 Apple-premiers_conta..> 17-Oct-2012 09:33  2.6M  

[TXT]

 Apple-premiers_conta..> 17-Oct-2012 09:33  2.5M  

[TXT]

 Apple-Nouvelles-fonc..> 17-Oct-2012 09:32  2.6M  

[TXT]

 Apple-MacBook_Pro_Ea..> 17-Oct-2012 09:32  2.6M  

[TXT]

 Apple-iSightUserGuid..> 17-Oct-2012 09:31  2.6M  

[TXT]

 ApplePowerMacG5_(Ear..> 17-Oct-2012 09:31  2.8M  

[TXT]

 Apple-MacBook_Late20..> 17-Oct-2012 09:30  2.6M  

[TXT]

 Apple-MacBook_Air_Su..> 17-Oct-2012 09:30  2.6M  

[TXT]

 Apple-Migration_10.4..> 17-Oct-2012 09:29  2.8M  

[TXT]

 Apple-XsanAdminGuide..> 14-Oct-2012 21:10  2.0M  

[TXT]

 Apple-Xserve_Intel_D..> 14-Oct-2012 20:58  1.5M  

[TXT]

 Apple-Xsan_Migration..> 14-Oct-2012 20:58  1.6M  

[TXT]

 Apple-PowerBookG4_UG..> 14-Oct-2012 20:58  1.7M  

[TXT]

 Apple-Welcome_to_Tig..> 14-Oct-2012 20:57  1.8M  

[TXT]

 Apple-Keynote2_UserG..> 14-Oct-2012 20:57  2.2M  

[TXT]

 Apple-MacBook_UsersG..> 14-Oct-2012 18:40  1.5M  

[TXT]

 Apple-MacBook_Air_Us..> 14-Oct-2012 18:40  1.3M  

[TXT]

 Apple-iPod_shuffle_F..> 14-Oct-2012 18:39  1.6M  

[TXT]

 Apple-iMacG5_17inch_..> 14-Oct-2012 18:39  1.6M  

[TXT]

 Apple-Aperture_Perfo..> 14-Oct-2012 18:39  1.6M  

[TXT]

 Apple-iMacG5_iSight_..> 14-Oct-2012 18:39  1.9M  

[TXT]

 Apple-QuickTime71_Us..> 14-Oct-2012 18:38  1.3M  

[TXT]

 Apple-nikeipod_users..> 14-Oct-2012 18:22  1.3M  

[TXT]

 Apple-Aperture_Photo..> 14-Oct-2012 18:21  1.3M  

[TXT]

 Apple-iPod_nano_6thg..> 14-Oct-2012 17:31  1.7M  

[TXT]

 Apple-MacPro_HardDri..> 14-Oct-2012 17:30  1.5M  

[TXT]

 Apple-MacBook_Pro_15..> 14-Oct-2012 17:22  2.5M  

[TXT]

 Apple-iWork09_formle..> 14-Oct-2012 17:22  3.0M  

[TXT]

 Apple-PowerBook G4 K..> 14-Oct-2012 17:21  3.2M  

[TXT]

 Apple-Logic_Pro_8_Ge..> 14-Oct-2012 17:21  2.5M  

[TXT]

 Apple-iMacG5_Battery..> 14-Oct-2012 17:21  2.5M  

[TXT]

 Apple-Xserve_Intel_D..> 14-Oct-2012 17:20  1.8M  

[TXT]

 Apple-StoreKitGuide...> 14-Oct-2012 17:20  1.9M  

[TXT]

 Apple-iPod_classic_1..> 14-Oct-2012 17:03  2.4M  

[TXT]

 Apple-Apple_AirPort_..> 14-Oct-2012 17:02  2.3M  

[TXT]

 Apple-iPad_iOS4_Bruk..> 14-Oct-2012 16:55  2.5M  

[TXT]

 Apple-MacBook_13inch..> 14-Oct-2012 16:53  2.8M  

[TXT]

 Apple-iPhone_3G_Vikt..> 14-Oct-2012 16:53  2.8M  

[TXT]

 Apple-MacBook_13inch..> 14-Oct-2012 16:52  2.7M  

[TXT]

 Apple-iMac_Mid2010_U..> 14-Oct-2012 16:52  2.6M  

[TXT]

 Apple-MacBook_Air_11..> 14-Oct-2012 16:51  2.9M  

[TXT]

 Apple-iDVD_08_Komme_..> 14-Oct-2012 16:51  2.5M  

[TXT]

 Apple-imac_mid2011_u..> 14-Oct-2012 16:50  2.8M  

[TXT]

 Apple-MacBook_Pro_15..> 14-Oct-2012 16:50  2.8M  

[TXT]

 Apple-GarageBand_09_..> 14-Oct-2012 16:50  3.1M  

[TXT]

 Apple-MacBook_13inch..> 14-Oct-2012 16:49  3.1M  

[TXT]

 Apple-iPod_Fifth_Gen..> 14-Oct-2012 16:49  3.2M  

[TXT]

 Apple-Wireless_Keybo..> 14-Oct-2012 16:49  3.3M  

[TXT]

 Apple-MacBook_13inch..> 14-Oct-2012 16:48  2.4M  

[TXT]

 Apple-iPhone_3GS_Vik..> 14-Oct-2012 16:48  2.5M  

[TXT]

 Apple-MacBook_13inch..> 14-Oct-2012 16:47  2.6M  

[TXT]

 Apple-Pages09_Bruker..> 14-Oct-2012 16:47  3.1M  

[TXT]

 Apple-MacBook_Air_Br..> 14-Oct-2012 16:46  3.2M  

[TXT]

 Apple-iPhoto_08_Komm..> 14-Oct-2012 16:46  3.2M  

[TXT]

 Apple-ipad2_brukerha..> 14-Oct-2012 16:45  2.4M  

[TXT]

 Apple-Mac_mini_Early..> 14-Oct-2012 16:45  2.4M  

[TXT]

 Apple-macbook_air_13..> 14-Oct-2012 16:45  2.5M  

[TXT]

 Apple-iMacG5_iSight_..> 14-Oct-2012 11:29  1.8M  

[TXT]

 Apple-Snow_Leopard_I..> 14-Oct-2012 11:29  1.8M  

[TXT]

 Apple-iPhone_3GS_Hur..> 14-Oct-2012 11:29  1.8M  

[TXT]

 Apple-TimeCapsule_Kl..> 14-Oct-2012 11:28  1.4M  

[TXT]

 Apple-Velkommen_til_..> 14-Oct-2012 11:28  1.6M  

[TXT]

 Apple-MacBook_Pro_17..> 14-Oct-2012 11:28  1.5M  

[TXT]

 Apple-MacBook_Pro_13..> 14-Oct-2012 11:27  1.7M  

[TXT]

 Apple-NiPod_photo_Br..> 14-Oct-2012 11:27  1.8M  

[TXT]

 Apple-Numbers09_Bruk..> 14-Oct-2012 11:27  2.2M  

[TXT]

 Apple-MacBook_Pro_15..> 14-Oct-2012 11:27  2.3M  

[TXT]

 Apple-MacBook_Air_13..> 14-Oct-2012 11:26  2.3M  

[TXT]

 Apple-iPod_touch_iOS..> 14-Oct-2012 11:26  2.7M  

[TXT]

 Apple-iPod_nano_6thg..> 14-Oct-2012 11:25  2.8M  

[TXT]

 Apple-GE_Money_Bank_..> 14-Oct-2012 11:24  1.5M  

[TXT]

 Apple-ipad_brukerhan..> 14-Oct-2012 11:24  1.8M  

[TXT]

 Apple-iPod_Handbok_S..> 14-Oct-2012 11:24  1.4M  

[TXT]

 Apple-Boot_Camp_Inst..> 14-Oct-2012 11:24  1.4M  

[TXT]

 Apple-Network-Servic..> 14-Oct-2012 11:23  1.4M  

[TXT]

 Apple-iPod_classic_1..> 14-Oct-2012 11:23  1.5M  

[TXT]

 Apple-iMovie_08_Komm..> 14-Oct-2012 11:23  1.6M  

[TXT]

 Apple-Apple_TV_Klarg..> 14-Oct-2012 11:23  1.3M  

[TXT]

 Apple-iPhone_4_Vikti..> 14-Oct-2012 11:22  1.4M  

[TXT]

 Apple-iPod_shuffle_3..> 14-Oct-2012 11:22  1.5M  

[TXT]

 Apple-MacOSX10.3_Wel..> 14-Oct-2012 11:22  1.5M  

[TXT]

 Apple-Boot_Camp_Inst..> 14-Oct-2012 11:22  1.5M  

[TXT]

 Apple-iPod_touch_2.1..> 14-Oct-2012 11:21  1.7M  

[TXT]

 Apple-PowerMacG5_Use..> 14-Oct-2012 11:21  1.8M  

[TXT]

 Apple-Welcome_to_Leo..> 14-Oct-2012 11:21  1.5M  

[TXT]

 Apple-System_Image_A..> 14-Oct-2012 09:43  2.1M  

[TXT]

 Apple-Administration..> 14-Oct-2012 09:42  2.1M  

[TXT]

 Apple-L-Apple-Multip..> 14-Oct-2012 09:42  2.1M  

[TXT]

 Apple-MagSafe_Airlin..> 14-Oct-2012 09:42  1.9M  

[TXT]

 Apple-AirPort_Expres..> 14-Oct-2012 09:42  1.9M  

[TXT]

 Apple-Mail_Service_v..> 14-Oct-2012 09:41  2.2M  

[TXT]

 Apple-iPod_2ndGen_US..> 14-Oct-2012 09:41  2.2M  

[TXT]

 Apple-Network_Servic..> 14-Oct-2012 09:40  2.5M  

[TXT]

 Apple-User_Managemen..> 14-Oct-2012 09:40  2.1M  

[TXT]

 Apple-Aperture_Insta..> 14-Oct-2012 09:39  2.1M  

[TXT]

 Apple-PCIDualAttache..> 14-Oct-2012 09:39  2.2M  

[TXT]

 Apple-iOS_Business_M..> 14-Oct-2012 09:39  2.3M  

[TXT]

 Apple_Component_AV_C..> 14-Oct-2012 09:38  2.3M  

[TXT]

 Apple-AppleCare_Prot..> 14-Oct-2012 09:38  2.4M  

[TXT]

 Apple-Mac_OS_X_Serve..> 14-Oct-2012 09:37  3.5M  

[TXT]

 Apple-iPod_touch_2.2..> 14-Oct-2012 09:37  2.0M  

[TXT]

 Apple-atadrive_pmg4m..> 14-Oct-2012 09:36  2.2M  

[TXT]

 Apple-iPhone開発ã‚..> 14-Oct-2012 09:36  2.4M  

[TXT]

 Apple-AirMac-カーã..> 14-Oct-2012 09:36  2.0M  

[TXT]

 Apple-Power-Mac-G4-M..> 14-Oct-2012 09:36  1.3M  

[TXT]

 Apple-iPhone_3GS_Fin..> 14-Oct-2012 09:35  1.4M  

[TXT]

 Apple-iMac_Intel-bas..> 14-Oct-2012 09:35  1.4M  

[TXT]

 Apple-Print_Service...> 13-Oct-2012 10:09  2.0M  

[TXT]

 Apple-MacOSX10.3_Wel..> 13-Oct-2012 09:45  1.9M  

[TXT]

 Apple-g4mdd-fw800-lo..> 13-Oct-2012 09:44  1.9M  

[TXT]

 Apple-Motion_3_New_F..> 13-Oct-2012 09:44  1.9M  

[TXT]

 Apple-Windows_Servic..> 13-Oct-2012 09:44  1.7M  

[TXT]

 Apple-DVD_Studio_Pro..> 13-Oct-2012 09:43  3.2M  

[TXT]

 Apple-iBookG3_14inch..> 13-Oct-2012 09:43  1.7M  

[TXT]

 Apple-boot_camp_inst..> 13-Oct-2012 09:43  3.2M  

[TXT]

 Apple-Mac-OS-X-Serve..> 13-Oct-2012 09:42  3.5M  

[TXT]

 Apple-Administration..> 13-Oct-2012 09:41  4.0M  

[TXT]

 Apple-guide_des_fonc..> 13-Oct-2012 09:41  4.1M  

[TXT]

 Apple-Installation_d..> 13-Oct-2012 09:40  4.1M  

[TXT]

 Apple-iMac_Intel-bas..> 13-Oct-2012 09:40  4.2M  

[TXT]

 Apple-PowerBookG4_17..> 13-Oct-2012 09:39  3.1M  

[TXT]

 Apple-Xserve_Setup_G..> 13-Oct-2012 09:39  3.1M  

[TXT]

 Apple-Decouverte_d_A..> 13-Oct-2012 09:38  3.3M  

[TXT]

 Apple-guide_de_l_uti..> 13-Oct-2012 09:38  3.9M  

[TXT]

 Apple-Mac_Pro_Early2..> 13-Oct-2012 09:37  3.9M  

[TXT]

 Apple-Web_Technologi..> 13-Oct-2012 09:36  4.1M  

[TXT]

 Apple-QT_Streaming_S..> 13-Oct-2012 09:35  4.2M  

[TXT]

 Apple-Nouvellesfonct..> 13-Oct-2012 09:35  2.8M  

[TXT]

 Apple-macbook_air_11..> 12-Oct-2012 21:01  3.2M  

[TXT]

 Apple-iphone_guide_d..> 12-Oct-2012 21:01  3.6M  

[TXT]

 Apple-imac_mid2011_u..> 12-Oct-2012 21:01  3.7M  

[TXT]

 Apple-Motion_Supplem..> 12-Oct-2012 21:00  3.9M  

[TXT]

 Apple-mac_pro_server..> 12-Oct-2012 20:59  3.2M  

[TXT]

 Apple-RemoteSupportJ..> 12-Oct-2012 20:42  3.2M  

[TXT]

 Apple-iPod_nano_6thg..> 12-Oct-2012 20:42  3.4M  

[TXT]

 Apple-World_Travel_A..> 12-Oct-2012 20:42  3.3M  

[TXT]

 Apple-Recycle_Contra..> 12-Oct-2012 20:41  3.4M  

[TXT]

 Apple-081811_APP_iPh..> 12-Oct-2012 20:41  3.4M  

[TXT]

 Apple-ARA_Japan.pdf.htm 12-Oct-2012 20:40  3.4M  

[TXT]

 Apple-iPod_shuffle_4..> 12-Oct-2012 20:40  3.5M  

[TXT]

 Apple-mac_integratio..> 12-Oct-2012 20:38  3.0M  

[TXT]

 Apple-Guide_de_confi..> 12-Oct-2012 20:38  2.9M  

[TXT]

 Apple-AppleCare-prot..> 12-Oct-2012 13:41  4.1M  

[TXT]

 PowerBook-G4-15-pouc..> 12-Oct-2012 13:19  3.2M  

[TXT]

 Apple-PowerBook-G4-1..> 12-Oct-2012 13:18  2.8M  

[TXT]

 Apple-Remote-Desktop..> 12-Oct-2012 13:18  3.2M  

[TXT]

 Apple-Manuel-de-l-ad..> 12-Oct-2012 13:18  3.4M  

[TXT]

 Apple-CUPS−Manuel-..> 12-Oct-2012 13:17  3.5M  

[TXT]

 Apple-The-gnu-Binary..> 12-Oct-2012 13:16  3.6M  

[TXT]

 Apple-Motion-5-Manue..> 12-Oct-2012 13:16  3.8M  

[TXT]

 Apple-Mac_mini_Intel..> 12-Oct-2012 13:15  2.9M  

[TXT]

 Apple-Compressor_3_B..> 12-Oct-2012 13:14  3.0M  

[TXT]

 Apple-Mac_mini_Early..> 12-Oct-2012 13:14  3.0M  

[TXT]

 Apple-emac-memory.pd..> 12-Oct-2012 13:13  3.0M  

[TXT]

 Apple-aperture_photo..> 12-Oct-2012 13:13  3.1M  

[TXT]

 Apple-Logic9-examen-..> 12-Oct-2012 13:12  3.2M  

[TXT]

 Apple-Final-Cut-Pro-..> 12-Oct-2012 13:12  3.3M  

[TXT]

 Apple-mac_integratio..> 12-Oct-2012 13:11  2.7M  

[TXT]

 Apple-Prise_en_charg..> 12-Oct-2012 13:11  2.2M  

[TXT]

 Apple-Mac_mini_Intel..> 12-Oct-2012 13:11  2.4M  

[TXT]

 Apple-Premiers__cont..> 12-Oct-2012 13:11  2.3M  

[TXT]

 Apple-ard_admin_guid..> 12-Oct-2012 13:10  2.7M  

[TXT]

 Apple-Nike_+_iPod_Us..> 12-Oct-2012 13:10  2.4M  

[TXT]

 Apple-Open_Directory..> 12-Oct-2012 13:09  1.8M  

[TXT]

 Apple-Final-Cut-Pro-..> 12-Oct-2012 13:09  1.8M  

[TXT]

 Apple-Tiger_Guide_In..> 12-Oct-2012 13:08  1.8M  

[TXT]

 Apple-premiers_conta..> 12-Oct-2012 13:08  1.9M  

[TXT]

 Apple-Guide_de_l_adm..> 12-Oct-2012 13:08  2.3M  

[TXT]

 Apple-Apple-Installa..> 12-Oct-2012 13:08  2.0M  

[TXT]

 Apple-Apple-iPad-Man..> 10-Oct-2012 16:03  2.6M  

[TXT]

 Apple_Universal_Dock..> 10-Oct-2012 16:02  2.7M  

[TXT]

 Apple-MacBook_Pro_15..> 10-Oct-2012 16:02  2.8M  

[TXT]

 Apple-MainStag- 2-ut..> 10-Oct-2012 16:01  2.8M  

[TXT]

 Apple-Xserve_Guide_d..> 10-Oct-2012 16:01  2.8M  

[TXT]

 Apple-Logic-Pro-9-Pr..> 10-Oct-2012 16:01  3.5M  

[TXT]

 Apple-Impulse-Respon..> 10-Oct-2012 16:00  2.9M  

[TXT]

 Apple-iPod-shuffle-B..> 10-Oct-2012 15:59  3.6M  

[TXT]

 Apple-iPod-shuffle-B..> 10-Oct-2012 15:59  3.5M  

[TXT]

 Apple-boot_camp_inst..> 10-Oct-2012 15:58  3.7M  

[TXT]

 Apple-Manual_de_func..> 10-Oct-2012 15:58  3.7M  

[TXT]

 Apple-Xserve_TO_J070..> 10-Oct-2012 08:01  4.0M  

[TXT]

 Apple-Logic-Pro-9-Ef..> 10-Oct-2012 07:58  3.0M  

[TXT]

 Apple-Guide_de_l_uti..> 10-Oct-2012 07:57  2.6M  

[TXT]

 Apple-iPhone_Bluetoo..> 10-Oct-2012 07:57  2.1M  

[TXT]

 Apple-services_de_co..> 10-Oct-2012 07:56  2.9M  

[TXT]

 Apple-premiers_conta..> 10-Oct-2012 07:56  2.7M  

[TXT]

 Apple-iMacG5_iSight_..> 10-Oct-2012 07:55  3.0M  

[TXT]

 Apple-Mac_Pro_User_G..> 10-Oct-2012 07:55  3.1M  

[TXT]

 Apple-systemoverview..> 10-Oct-2012 07:54  3.8M  

[TXT]

 Apple-MainStage-User..> 10-Oct-2012 07:24  5.2M  

[TXT]

 Apple-Compressor-4-U..> 10-Oct-2012 07:23  5.9M  

[TXT]

 Apple-Administration..> 10-Oct-2012 07:22  3.0M  

[TXT]

 Apple-iBookG4Getting..> 10-Oct-2012 07:21  3.1M  

[TXT]

 Apple-iPod_classic_1..> 10-Oct-2012 07:21  3.3M  

[TXT]

 Apple-iPod_shuffle_3..> 10-Oct-2012 07:20  3.4M  

[TXT]

 Apple-PowerBookG4_15..> 09-Oct-2012 18:51  4.8M  

[TXT]

 Apple_iPod_touch_Use..> 09-Oct-2012 18:40  3.7M  

[TXT]

 Apple-guide_des_fonc..> 09-Oct-2012 18:40  3.9M  

[TXT]

 Apple-iDVD5_Getting_..> 09-Oct-2012 18:38  4.2M  

[TXT]

 Apple-iphone_user_gu..> 09-Oct-2012 18:38  4.1M  

[TXT]

 Apple-iMac_Late2009_..> 09-Oct-2012 18:37  4.3M  

[TXT]

 Apple-iMac_Mid2010_U..> 09-Oct-2012 18:37  4.3M  

[TXT]

 Apple-macbook_pro_13..> 09-Oct-2012 18:36  4.6M  

[TXT]

 Apple-MacBook_Pro_15..> 09-Oct-2012 18:36  4.6M  

[TXT]

 Apple-LED_Cinema_Dis..> 09-Oct-2012 18:34  4.7M  

[TXT]

 Apple-MacBook_Pro_15..> 09-Oct-2012 18:34  4.6M  

[TXT]

 Apple-Logic_Pro_8.0_..> 09-Oct-2012 18:33  4.8M  

[TXT]

 Apple_ipad_user_guid..> 01-Oct-2012 09:56  3.5M  

[TXT]

 Apple_iphone_upute_z..> 01-Oct-2012 09:53  3.2M  

[TXT]

 Apple_iphone_4s_fing..> 01-Oct-2012 09:50  2.8M  

[TXT]

 Apple_Time_Capsule_E..> 01-Oct-2012 09:48  2.8M  

[TXT]

 Apple_Guide_de_l_uti..> 01-Oct-2012 09:46  2.8M  

[TXT]

 Apple_macbook_pro_13..> 01-Oct-2012 09:44  2.7M  

[TXT]

 Apple_macbook_pro_re..> 01-Oct-2012 09:37  2.6M  

[TXT]

 Apple_iphone_4s_fing..> 01-Oct-2012 09:35  2.6M  

[TXT]

 Apple_ipod_touch_man..> 01-Oct-2012 09:30  2.6M  

[TXT]

 Apple_TV_2nd_gen_Set..> 01-Oct-2012 09:28  2.3M  

[TXT]

 Apple_ipod_touch_use..> 01-Oct-2012 09:26  2.3M  

[TXT]

 apple_Macintosh-User..> 01-Oct-2012 09:24  2.0M  

[TXT]

 apple_macbook_pro-re..> 01-Oct-2012 09:21  3.3M  

[TXT]

 apple_apple_tv_3rd_g..> 01-Oct-2012 09:19  3.3M  

[TXT]

 apple_iphone_brukerh..> 01-Oct-2012 09:17  3.2M  

[TXT]

 apple_iphone_5_info.htm 01-Oct-2012 09:15  2.9M  

[TXT]

 apple_iphone_gebruik..> 01-Oct-2012 09:13  2.9M  

[TXT]

 apple_earpods_user_g..> 01-Oct-2012 09:11  2.5M  

[TXT]

 apple_tv_3rd_gen_imp..> 22-Sep-2012 18:53  2.5M  

[TXT]

 Apple_TV_2e_gen_Guid..> 22-Sep-2012 18:51  2.4M  

[TXT]

 Apple-MacBook_Pro_13..> 22-Sep-2012 18:49  3.7M  

[TXT]

 Apple-MacBook_13inch..> 22-Sep-2012 18:48  3.6M  

[TXT]

 Apple-MacBook_Air_Gu..> 22-Sep-2012 18:41  3.5M  

[TXT]

 Apple_Xserve_Diagnos..> 22-Sep-2012 18:39  3.4M  

[TXT]

 Apple-MacBook_Pro_17..> 22-Sep-2012 18:35  3.3M  

[TXT]

 Apple-Apple_Wireless..> 22-Sep-2012 18:31  3.2M  

[TXT]

 Apple-NVIDIA_GeForce..> 22-Sep-2012 18:30  3.2M  

[TXT]

 Apple-CinemaDisplays..> 22-Sep-2012 18:26  3.2M  

[TXT]

 Apple-iPhone_Finger_..> 22-Sep-2012 18:22  3.1M  

[TXT]

 Apple-Boot_Camp_Guid..> 22-Sep-2012 12:03  3.1M  

[   ]

 Apple-iphone_5_guide..> 22-Sep-2012 12:01   14M  

[TXT]

 Apple-iPhone-5-Guide..> 22-Sep-2012 12:00  3.1M  

[TXT]

 Apple-iphone_ios5_gu..> 22-Sep-2012 11:59  2.8M  

[TXT]

 Apple-mac_pro_mid201..> 22-Sep-2012 11:58  2.4M  

[TXT]

 Apple-iPod_nano_6thg..> 22-Sep-2012 11:58  3.0M  

[TXT]

 Apple-thunderbolt_di..> 22-Sep-2012 11:57  2.9M  

[TXT]

 Apple-Numbers09_guid..> 22-Sep-2012 11:56  2.8M  

[TXT]

 Apple-boot_camp_inst..> 22-Sep-2012 11:56  2.9M  

[TXT]

 Apple-imacdebut2006g..> 22-Sep-2012 11:55  2.9M  

[TXT]

 Apple-MacBook_Pro_Us..> 22-Sep-2012 11:55  2.8M  

[TXT]

 Apple-iBook.htm         22-Sep-2012 11:54  2.6M  

[TXT]

 Apple-Apple_Qmaster_..> 22-Sep-2012 11:54  2.6M  

[TXT]

 Apple-iPhone_3G_Guid..> 22-Sep-2012 11:53  2.4M  

[TXT]

 Apple-Wireless_Might..> 22-Sep-2012 11:53  2.3M  

[TXT]

 Apple-Logic_Studio_0..> 22-Sep-2012 11:52  2.2M  

[TXT]

 Apple-Xserve_2008_Gu..> 22-Sep-2012 11:52  2.2M  

[TXT]

 Apple-iMac_24inch_Ve..> 22-Sep-2012 11:51  2.9M  

[TXT]

 Apple-Mac-OS-X-Serve..> 22-Sep-2012 11:51  2.9M  

[TXT]

 Apple-Decouverte_d_A..> 22-Sep-2012 11:50  2.8M  

[TXT]

 Apple-PowerBookG4_12..> 22-Sep-2012 11:13  2.5M  

[TXT]

 Apple-ipad_petunjuk_..> 21-Sep-2012 16:40  2.8M  

[TXT]

 apple-airmac_express..> 21-Sep-2012 16:36  2.8M  

[TXT]

 Apple-QuickTake-150.htm 21-Sep-2012 16:32  2.7M  

[TXT]

 Apple-Apple_TV_2nd_g..> 21-Sep-2012 16:28  2.7M  

[TXT]

 Apple-Macintosh-Perf..> 21-Sep-2012 16:25  2.7M  

[TXT]

 Apple-MacBook_Pro_15..> 21-Sep-2012 15:03  2.5M  

[TXT]

 Apple-macbook_air-11..> 21-Sep-2012 14:59  2.4M  

[TXT]

 Apple-iphone_brugerh..> 21-Sep-2012 14:57  2.4M  

[TXT]

 Apple-iPod_shuffle_4..> 21-Sep-2012 14:54  2.9M  

[TXT]

 Apple-compressor_4_u..> 21-Sep-2012 14:51  3.3M  

[TXT]

 Apple-share_monitor_..> 21-Sep-2012 14:49  2.7M  

[TXT]

 Apple-macbook_air-13..> 21-Sep-2012 14:47  3.1M  

[TXT]

 Apple-macbook_pro-15..> 21-Sep-2012 14:45  3.1M  

[TXT]

 Apple-Guide_de_l_uti..> 21-Sep-2012 14:31  3.1M  

[TXT]

 Apple-iPodshuffledel..> 21-Sep-2012 14:28  3.3M  

[TXT]

 Apple-MacBook_13inch..> 21-Sep-2012 14:25  3.7M  

[TXT]

 Apple-iPhone_Deux_do..> 21-Sep-2012 14:20  3.5M  

[TXT]

 Apple-ipad_2_manual_..> 21-Sep-2012 14:18  3.5M  

[TXT]

 Apple-macbook_air-11..> 21-Sep-2012 14:15  3.2M  

[TXT]

 Apple-Power-Macintos..> 21-Sep-2012 14:08  2.9M  

[TXT]

 Apple-Enterprise_Dep..> 21-Sep-2012 10:42  2.7M  

[TXT]

 Apple-iPhone-Benutze..> 21-Sep-2012 10:39  4.0M  

[TXT]

 Apple-iPhone-Manual-..> 21-Sep-2012 10:36  3.6M  

[TXT]

 Apple-iPhone-User-Gu..> 21-Sep-2012 10:32  3.3M  

[TXT]

 Apple-iphone_4s_il_m..> 21-Sep-2012 10:17  3.7M  

[TXT]

 Apple-iphone_user_gu..> 21-Sep-2012 10:12  3.7M  

[TXT]

 Apple-iPhone_Anvanda..> 21-Sep-2012 10:09  3.5M  

[TXT]

 Apple-iphone_manual_..> 21-Sep-2012 10:06  3.2M  

[TXT]

 Apple-iphone_user_gu..> 21-Sep-2012 10:03  4.0M  

[TXT]

 Apple-iphone_manuali..> 21-Sep-2012 10:00  3.6M  

[TXT]

 Apple-ipod_touch_use..> 21-Sep-2012 09:57  3.2M  

[TXT]

 Apple-ipad_user_guid..> 21-Sep-2012 09:52  3.2M  

[TXT]

 Apple-iphone_4s_pods..> 21-Sep-2012 09:50  3.1M  

[TXT]

 Apple-macbook_air-13..> 21-Sep-2012 09:46  3.1M  

[TXT]

 Apple-ipod_touch_use..> 21-Sep-2012 09:44  3.1M  

[TXT]

 Apple-ipad_brugerhan..> 21-Sep-2012 09:41  3.0M  

[TXT]

 Apple-Case-Design-Gu..> 21-Sep-2012 09:36  2.7M  

[TXT]

 Apple-Accessibility-..> 21-Sep-2012 09:33  2.7M  

[TXT]

 Apple-iphone_4s_info..> 21-Sep-2012 09:28  2.7M  

[TXT]

 Apple-iPhone_3G_Impo..> 21-Sep-2012 09:25  2.6M  

[TXT]

 Apple-iPhone_Bluetoo..> 21-Sep-2012 09:24  2.5M  

[TXT]

 Apple-Premiers_conta..> 18-Sep-2012 10:55  2.3M  

[TXT]

 Apple-iPod_shuffle_F..> 18-Sep-2012 10:51  2.2M  

[TXT]

 Apple-iphone_4s_impo..> 18-Sep-2012 10:49  3.5M  

[TXT]

 Apple-iPhone_iOS3.1_..> 18-Sep-2012 10:47  3.4M  

[TXT]

 Apple-User-s-Guide-M..> 18-Sep-2012 10:46  3.1M  

[TXT]

 Apple-QuickTake-100-..> 18-Sep-2012 10:42  2.9M  

[TXT]

 Apple-Personal-Laser..> 18-Sep-2012 10:39  2.8M  

[TXT]

 Apple-Cinema_Tools_4..> 18-Sep-2012 10:36  2.8M  

[TXT]

 Apple-iMac_G5_de_lut..> 18-Sep-2012 10:34  2.2M  

[TXT]

 Apple-Manuel_de_l'ut..> 18-Sep-2012 10:32  2.1M  

[TXT]

 Apple-TimeCapsule_Se..> 18-Sep-2012 09:45  1.8M  

[TXT]

 Apple-guide_de_confi..> 18-Sep-2012 09:40  3.1M  

[TXT]

 Apple-Color_1.0_User..> 18-Sep-2012 09:37  4.6M  

[TXT]

 Apple-Compressor_3_U..> 18-Sep-2012 09:35  4.0M  

[TXT]

 Apple-Manuel_de_l_ut..> 18-Sep-2012 09:32  3.4M  

[TXT]

 Apple-macbook_air-11..> 18-Sep-2012 09:29  3.2M  

[TXT]

 Apple-macbook_pro-13..> 18-Sep-2012 09:27  3.2M  

[TXT]

 Apple-macbook_pro-re..> 18-Sep-2012 09:25  3.5M  

[TXT]

 Apple-macbook_air-mi..> 18-Sep-2012 09:18  3.4M  

[TXT]

 Apple-macbook_air_11..> 18-Sep-2012 09:14  3.4M  

[TXT]

 Apple-Compressor-4-B..> 18-Sep-2012 09:12  4.1M  

[TXT]

 Apple-thunderbolt_di..> 18-Sep-2012 09:09  3.6M  

[TXT]

 Apple-Manuale-Utente..> 18-Sep-2012 09:07  3.5M  

[TXT]

 Apple-Leopard_Instal..> 18-Sep-2012 09:03  3.4M  

[TXT]

 Apple-final_cut_pro_..> 18-Sep-2012 09:01  3.4M  

[TXT]

 Apple-imacg5_HD17_DI..> 18-Sep-2012 08:58  3.4M  

[TXT]

 Apple-PowerMacG5_Use..> 18-Sep-2012 08:55  3.4M  

[TXT]

 Apple-Macmini_Guide_..> 18-Sep-2012 08:53  3.2M  

[TXT]

 Apple-Manuel_de_l_ut..> 18-Sep-2012 08:50  3.8M  

[TXT]

 Apple-Instruments_et..> 18-Sep-2012 08:48  4.5M  

[TXT]

 Apple-Nouvelles_fonc..> 18-Sep-2012 07:58  3.7M  

[TXT]

 Apple-Workgroup-Serv..> 18-Sep-2012 07:41  3.9M  

[TXT]

 Apple-Macintosh-Perf..> 18-Sep-2012 07:41  4.0M  

[TXT]

 Apple-Macintosh-Perf..> 18-Sep-2012 07:40  4.2M  

[TXT]

 Apple-PowerBook-User..> 18-Sep-2012 07:40  4.2M  

[TXT]

 Apple-Keynote-2-Guid..> 18-Sep-2012 07:39  4.4M  

[TXT]

 Apple-MacBook_Early_..> 18-Sep-2012 07:38  4.4M  

[TXT]

 Apple-macbook_air_gu..> 18-Sep-2012 07:37  4.6M  

[TXT]

 Apple-imacG5_17inch_..> 18-Sep-2012 07:37  4.6M  

[TXT]

 Apple-livetype_2_use..> 18-Sep-2012 07:36  4.8M  

[TXT]

 AppleTV_SetupGuide.htm  18-Sep-2012 07:35  3.5M  

[TXT]

 Apple-Aperture_2_Rac..> 18-Sep-2012 07:34  3.6M  

[TXT]

 Apple-Manuel_de_l_ut..> 18-Sep-2012 07:34  3.6M  

[TXT]

 Apple-iPod-nano-Guid..> 17-Sep-2012 17:31  3.7M  

[TXT]

 Apple-iPod-nano-Guid..> 17-Sep-2012 17:30  3.7M  

[TXT]

 Apple-iPod-nano-Guid..> 17-Sep-2012 17:20  3.4M  

[TXT]

 Apple-Boot-Camp-Guid..> 17-Sep-2012 17:18  3.5M  

[TXT]

 Apple-iPad-User-Guid..> 17-Sep-2012 17:15  3.5M  

[TXT]

 APPLEmanuelutilisate..> 05-Sep-2012 07:20  7.0M  

[TXT]

 User-Guide-iPad-For-..> 05-Sep-2012 07:16  2.9M  

[TXT]

 Guide-d-installation..> 05-Sep-2012 07:03  2.6M  

[TXT]

 Guide-de-l-utilisate..> 05-Sep-2012 06:57  2.6M  

[TXT]

 Guide-de-l-utilisate..> 05-Sep-2012 06:54  2.6M  

[TXT]

 Guide-de-l-utilisate..> 05-Sep-2012 06:50  3.1M  

[TXT]

 Guide-de-l-utilisate..> 05-Sep-2012 06:41  3.9M  

[TXT]

 Guide-de-configurati..> 04-Sep-2012 16:49  3.9M  

[TXT]

 Guide-de-configurati..> 04-Sep-2012 16:45  3.9M  

[TXT]

 Guide-de-l-utilisate..> 04-Sep-2012 16:41  3.8M  

[TXT]

 Guide-de-l-administr..> 04-Sep-2012 16:36  3.7M  

[TXT]

 Guide-de-deploiement..> 04-Sep-2012 16:32  3.4M  

[TXT]

 Guide-de-l-utilisate..> 04-Sep-2012 16:21  3.2M  

[TXT]

 Guide-de-l-utilisate..> 04-Sep-2012 16:19  2.8M  

[TXT]

 Guide-de-l-utilisate..> 04-Sep-2012 16:15  2.8M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 16:11  2.3M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 16:01  2.2M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 15:57  2.1M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 15:53  1.9M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 15:48  1.7M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 12:49  1.3M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 12:30  4.5M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 12:23  4.3M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 12:16  4.4M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 12:05  4.4M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 12:00  4.3M  

[TXT]

 Guide-de-l-utilisate..> 04-Sep-2012 12:00  5.1M  

[TXT]

 Guide-de-l-Utilisate..> 04-Sep-2012 11:52  4.1M  

[TXT]

 PowerBook-G4-15-pouc..> 04-Sep-2012 11:21  3.7M  

[TXT]

 iPad-Guide-de-l-util..> 04-Sep-2012 11:08  5.1M  

[TXT]

 Guide-de-l-utilisate..> 04-Sep-2012 10:51  3.4M  

[TXT]

 Guide-de-l-utilisate..> 04-Sep-2012 10:37  3.4M  

[TXT]

 Guide-de-l-utilisate..> 04-Sep-2012 10:32  2.8M  

[TXT]

 Guide-de-l-utilisate..> 04-Sep-2012 10:26  2.5M  

[TXT]

 Power-Mac-G5-Guide-d..> 04-Sep-2012 10:20  2.0M  

[TXT]

 iPod_nano_6thgen_Gui..> 30-Aug-2012 10:53  142K  

[TXT]

 iphone_guide_de_l_ut..> 30-Aug-2012 10:36  377K  

[TXT]

 iPod_nano_6thgen_Use..> 29-Jan-2012 11:37  119K  

[TXT]

 iPadguideutilisateur..> 29-Jan-2012 10:59  379K  

[   ]

 PowerMacG5_UserGuide..> 24-Jan-2012 09:55  9.2M  

[   ]

 TimeCapsule_SetupGui..> 24-Jan-2012 09:55  843K  

[   ]

 quicktime_guide_de_l..> 24-Jan-2012 09:54  617K  

[   ]

 premiers_contacts_av..> 24-Jan-2012 09:54  1.1M  

[   ]

 PowerBookG4_12inch1...> 24-Jan-2012 09:54  2.3M  

[   ]

 PB_G4_15inch1.33-1.5..> 24-Jan-2012 09:53  2.2M  

[   ]

 MacBookPro_17inch_Us..> 24-Jan-2012 09:53  3.2M  

[   ]

 macbookpro_15and17-i..> 24-Jan-2012 09:52  1.8M  

[   ]

 MacBook_Early_2008_G..> 24-Jan-2012 09:52  2.4M  

[   ]

 macbook_air_guide_de..> 24-Jan-2012 09:52  2.0M  

[   ]

 Instruments_et_effet..> 24-Jan-2012 09:51   11M  

[   ]

 livetype_2_user_manu..> 24-Jan-2012 09:51  3.9M  

[   ]

 iSightUserGuide.pdf     24-Jan-2012 09:50  882K  

[   ]

 ipodhifi2006guide.pdf   24-Jan-2012 09:50  5.1M  

[   ]

 guide_des_fonctionna..> 24-Jan-2012 09:48  6.6M  

[   ]

 iMac_G5_de_lutilisat..> 24-Jan-2012 09:48  3.0M  

[   ]

 iMac_Early2008_Guide..> 24-Jan-2012 09:47  2.5M  

[   ]

 Guide_de_lutilisateu..> 24-Jan-2012 09:46  548K  

[   ]

 Guide_de_l_utilisate..> 24-Jan-2012 09:46  727K  

[   ]

 Guide_de_l_utilisate..> 24-Jan-2012 09:46  4.7M  

[   ]

 guide_de_l_utilisate..> 24-Jan-2012 09:46  4.1M  

[   ]

 guide_de_l_utilisate..> 24-Jan-2012 09:44  3.2M  

[   ]

 Comment_demarrer_Leo..> 24-Jan-2012 09:44  8.1M  

[   ]

 Guide_de_l_utilisate..> 24-Jan-2012 09:43  3.7M  

[   ]

 guide_de_configurati..> 24-Jan-2012 09:42  909K  

[TXT]

 AppleMacBookAir14 GH..> 26-Oct-2011 15:54  7.7K

iWork Kaavat ja funkiot -käyttöopas KKApple Inc. © 2009 Apple Inc. Kaikki oikeudet pidätetään. Tekijänoikeuslakien mukaisesti tätä käyttöopasta ei saa kopioida, kokonaan tai osina, ilman Applen kirjallista suostumusta. Oikeutesi ohjelmistoon määritellään mukana tulleessa ohjelmiston lisenssisopimuksessa. Apple-logo on Apple Incorporatedin Yhdysvalloissa ja muissa maissa rekisteröity tavaramerkki. Näppäimistön Apple-logon (Optio-Vaihto-K) käyttö kaupallisiin tarkoituksiin ilman Applen kirjallista ennakkosuostumusta saattaa muodostaa lain rikkomuksen tavaramerkin loukkauksen ja epärehellisen kilpailun muodossa. Tässä käyttöoppaassa annettujen tietojen virheettömyys on pyritty varmistamaan kaikin tavoin. Apple ei vastaa kirjoitus- tai painovirheistä. Apple 1 Infinite Loop Cupertino, CA 95014-2084 408-996-1010 www.apple.com Apple, Apple-logo, iWork, Keynote, Mac, Mac OS, Numbers ja Pages ovat Apple Incorporatedin Yhdysvalloissa ja muissa maissa rekisteröityjä tavaramerkkejä. Adobe ja Acrobat ovat Adobe Systems Incorporatedin tavaramerkkejä tai rekisteröityjä tavaramerkkejä Yhdysvalloissa ja/tai muissa maissa. Muut mainitut yritys- ja tuotenimet saattavat olla omistajiensa tavaramerkkejä. Muiden valmistajien tuotteet on mainittu ainoastaan tiedonvälitystarkoituksessa, eikä maininta tarkoita suositusta. Apple ei vastaa näiden tuotteiden toimivuudesta tai käytöstä. K019-1588 08/2009 11 Johdanto: Tervetuloa iWorkin kaavat ja funktiot -oppaaseen 13 Luku 1:  Kaavojen käyttäminen taulukoissa 13 Kaavojen elementit 15 Välittömien laskutoimitusten suorittaminen Numbersissa 16 Ennaltamääriteltyjen pikakaavojen käyttö 17 Omien kaavojen luominen 22 Kaavojen poistaminen 22 Soluihin viittaaminen kaavoissa 26 Operaattoreiden käyttäminen kaavoissa 28 Merkkijono-operaattori ja jokerimerkit 28 Kaavojen ja niiden laskemien arvojen kopioiminen tai siirtäminen 29 Laskentataulukon kaikkien kaavojen katsominen 29 Kaavaelementtien etsiminen ja korvaaminen 31 Luku 2:  iWorkin funktioiden yleiskatsaus 31 Johdanto funktioihin 32 Funktioiden määritelmissä käytettävät syntaksielementit ja termit 34 Arvotyypit 39 Funktioluokkien luettelo 39 Esimerkkien kopioiminen ja sijoittaminen ohjeista 41 Luku 3:  Päiväys- ja aikafunktiot 41 Päiväys- ja aikafunktioiden luettelo 43 PÄIVÄMÄÄRÄ 44 PÄIVÄYSEROTUS 45 PÄIVÄYSARVO 46 PÄIVÄ 47 PÄIVÄ.NIMI 48 PÄIVÄT360 49 PÄIVÄ.KUUKAUSI 49 KUUKAUSI.LOPPU 50 TUNTI 51 MINUUTTI 3 Sisältö 4 Sisältö 52 KUUKAUSI 52 KUUKAUSI.NIMI 53 TYÖPÄIVÄT 54 NYT 54 SEKUNNIT 55 AIKA 56 AIKA_ARVO 56 TÄNÄÄN 57 VIIKONPÄIVÄ 58 VIIKKONRO 59 TYÖPÄIVÄ 60 VUOSI 60 VUOSI.OSA 62 Luku 4:  Kestofunktiot 62 Kestofunktioiden luettelo 63 KESTO.PÄIVÄT 63 KESTO.TUNNIT 64 KESTO.MILLISEKUNNIT 65 KESTO.MINUUTIT 65 KESTO.SEKUNNIT 66 KESTO.VIIKOT 67 KESTO 68 RIISU.KESTO 69 Luku 5:  Tekniset funktiot 69 Teknisten funktioiden luettelo 70 KANNASTA.10LUKU 71 BESSELJ 72 BESSELY 73 BINDES 73 BINHEKSA 74 BINOKT 75 MUUNNA 76 Tuetut muuntoyksiköt 80 DESBIN 81 DESHEKSA 82 DESOKT 83 SAMA.ARVO 84 VIRHEFUNKTIO 84 VIRHEFUNKTIO.KOMPLEMENTTI 85 RAJA 86 HEKSABIN Sisältö 5 87 HEKSADES 88 HEKSAOKT 89 10LUKU.KANTAAN 90 OKTBIN 91 OKTDES 91 OKTHEKSA 93 Luku 6:  Rahoitusfunktiot 93 Rahoitusfunktioiden luettelo 97 KERTYNYT.KORKO 99 KERTYNYT.KORKO.LOPUSSA 100 KESTO.PAINOTT 101 KESTO.MUUNN 103 KORKOPÄIVÄT.ALUSTA 104 KORKOPÄIVÄT 105 KORKOPÄIVÄT.SEURAAVA 107 KORKOPÄIVÄJAKSOT 108 MAKSETTU.KORKO 110 MAKSETTU.LYHENNYS 111 DB 113 DDB 115 DISKONTTOKORKO 116 KORKO.EFEKT 117 TULEVA.ARVO 119 KORKO.ARVOPAPERI 120 IPMT 122 SISÄINEN KORKO 123 ONMAKSU 125 MSISÄINEN 126 KORKO.VUOSI 127 NJAKSO 129 NNA 130 MAKSU 132 PPMT 133 HINTA 135 HINTA.DISK 136 HINTA.LUNASTUS 138 NA 140 KORKO 142 SAATU.HINTA 143 STP 144 VUOSIPOISTO 145 VDB 6 Sisältö 146 TUOTTO 148 TUOTTO.DISK 149 TUOTTO.ERÄP 151 Luku 7:  Loogiset ja informaatiofunktiot 151 Loogisten ja informaatiofunktioiden luettelo 152 JA 153 EPÄTOSI 154 JOS 155 JOSVIRHE 156 ONTYHJÄ 157 ONVIRHE 158 ONPARILLINEN 159 ONPARITON 159 EI 160 TAI 161 TOSI 163 Luku 8:  Numeeriset funktiot 163 Numeeristen funktioiden luettelo 166 ITSEISARVO 166 PYÖRISTÄ.KERR.YLÖS 168 KOMBINAATIO 168 PARILLINEN 169 EKSPONENTTI 170 KERTOMA 171 KERTOMA.OSA 172 PYÖRISTÄ.KERR.ALAS 173 SUURIIN.YHT.TEKIJÄ 173 KOKONAISLUKU 174 PIENIN.YHT.JAETTAVA 175 LUONNLOG 176 LOG 177 LOG10 177 JAKOJ 178 PYÖRISTÄ.KERR 179 MULTINOMI 180 PARITON 181 PII 182 POTENSSI 182 TULO 183 OSAMÄÄRÄ 184 SATUNNAISLUKU Sisältö 7 185 SATUNNAISLUKU.VÄLILTÄ 185 ROMAN 186 PYÖRISTÄ 188 PYÖRISTÄ.DES.ALAS 189 PYÖRISTÄ.DES.YLÖS 190 ETUMERKKI 190 NELIÖJUURI 191 NELIÖJUURI.PII 191 SUMMA 192 SUMMAJOS 194 SUMMA.JOS.JOUKKO 196 TULOJEN.SUMMA 196 NELIÖSUMMA 197 NELIÖEROTUSTEN.SUMMA 198 NELIÖSUMMIEN.SUMMA 199 EROTUSTEN.NELIÖSUMMA 199 KATKAISE 201 Luku 9:  Viittausfunktiot 201 Viittausfunktioiden luettelo 202 OSOITE 203 ALUEET 204 VALITSE 205 SARAKE 205 SARAKKEET 206 VHAKU 207 HYPERLINKKI 208 INDEKSI 210 EPÄSUORA 211 HAKU 212 VASTINE 214 SIIRTYMÄ 215 RIVI 216 RIVIT 216 TRANSPONOI 217 PHAKU 220 Luku 10:  Tilastofunktiot 220 Tilastofunktioiden luettelo 225 KESKIPOIKKEAMA 225 KESKIARVO 226 KESKIARVOA 227 KESKIARVO.JOS 8 Sisältö 229 KESKIARVO.JOS.JOUKKO 231 BETAJAKAUMA 231 BETAJAKAUMA.KÄÄNT 232 BINOMIJAKAUMA 233 CHIJAKAUMA 234 CHIJAKAUMA.KÄÄNT 235 CHITESTI 237 LUOTTAMUSVÄLI 238 KORRELAATIO 239 LASKE 240 LASKE.A 241 LASKE.TYHJÄT 242 LASKE.JOS 243 LASKE.JOS.JOUKKO 245 KOVARIANSSI 246 BINOMIJAKAUMA.KRIT 246 OIKAISTU.NELIÖSUMMA 247 EXPONENTIAALIJAKAUMA 248 FJAKAUMA 249 FJAKAUMA.KÄÄNT 249 ENNUSTE 251 TAAJUUS 252 GAMMAJAKAUMA 253 GAMMAJAKAUMA.KÄÄNT 253 GAMMALN 254 KESKIARVO.GEOM 255 KESKIARVO.HARM 255 LEIKKAUSPISTE 256 SUURI 258 LINREGR 259 Lisätilastoja 261 LOGNORM.JAKAUMA.KÄÄNT 261 LOGNORM.JAKAUMA 262 MAKS 263 MAKSA 264 MEDIAANI 265 MIN 265 MINA 266 MOODI 267 NEG. BINOMIJAKAUMA 268 NORM.JAKAUMA 269 NORM.JAKAUMA.KÄÄNT 270 NORM.JAKAUMA.NORMIT Sisältö 9 270 NORM.JAKAUMA.NORMIT.KÄÄNT 271 PROSENTTIPISTE 272 PROSENTTIJÄRJESTYS 273 PERMUTAATIO 274 POISSON 275 TODENNÄKÖISYYS 277 NELJÄNNES 278 ARVON.MUKAAN 279 KULMAKERROIN 280 PIENI 281 NORMITA 282 KESKIHAJONTA 283 KESKIHAJONTAA 285 KESKIHAJONTAPVÄ 286 KESKIHAJONTA 288 TJAKAUMA 288 TJAKAUMA.KÄÄNT 289 TTESTI 290 VAR 292 VARA 293 VARP 295 VARPA 296 ZTESTI 298 Luku 11:  Tekstifunktiot 298 Tekstifunktioiden luettelo 300 MERKKI 300 SIIVOA 301 KOODI 302 KETJUTA 303 VALUUTTA 304 VERTAA 304 ETSI 305 KIINTEÄ 306 VASEN 307 PITUUS 307 PIENET 308 POIMI.TEKSTI 309 ERISNIMI 310 KORVAA 310 TOISTA 311 OIKEA 312 KÄY.LÄPI 10 Sisältö 313 VAIHDA 314 T 315 POISTA.VÄLIT 315 ISOT 316 ARVO 317 Luku 12:  Trigonometriset funktiot 317 Trigonometristen funktioiden luettelo 318 ACOS 319 ACOSH 320 ASIN 321 ASINH 321 ATAN 322 ATAN2 323 ATANH 324 COS 325 COSH 325 ASTEET 326 RADIAANIT 327 SIN 328 SINH 329 TAN 330 TANH 331 Luku 13:  Muita esimerkkejä ja aiheita 331 Mukana muita esimerkkejä ja aiheita 332 Tavalliset rahoitusfunktioissa käytetyt argumentit 339 Käytettävän Rahan aika-arvo -funktion valitseminen 343 Esimerkki lainanlyhennystaulukosta 346 Lisää pyöristämisestä 349 Loogisten ja informaatiofunktioiden käyttäminen yhdessä 351 Ehtojen määritteleminen ja jokerimerkkien käyttäminen 354 Tutkimustulosten esimerkki 11 iWorkin mukana tulee yli 250 funktiota, joita voit käyttää tilastollisten, taloudellisten, teknisten ja muiden laskutoimitusten yksinkertaistamiseen. Mukana tuleva Funktioselain tarjoaa nopean tavan oppia funktioiden käyttöä ja lisätä niitä kaavoihin. Pääset alkuun, kun avaat Kaavan muokkaajan kirjoittamalla yhtäsuuruusmerkin tyhjään taulukon soluun. Valitse sitten Lisää > Funktio > Näytä funktioselain. Tämä käyttöopas tarjoaa yksityiskohtaisia ohjeita kaavojen kirjoittamiseen ja funktioiden käyttämiseen. Tämän kirjan lisäksi käytettävissä on myös muita resursseja. Johdanto Tervetuloa iWorkin kaavat ja funktiot -oppaaseen 12 Johdanto Tervetuloa iWorkin kaavat ja funktiot -oppaaseen Näytöllä näkyvät ohjeet Näytöllä näkyvät ohjeet sisältävät tämän kirjan tiedot muodossa, josta on helppoa etsiä ja joka on aina käytettävissä tietokoneella. Voit avata iWorkin kaavat ja funktiot -ohjeet minkä tahansa iWork-ohjelman Ohjeet-valikosta. Valitse Numbersissa, Pagesissa tai Keynotessa Ohjeet > iWorkin kaavat ja funktiot -ohjeet. iWork-verkkosivusto Lue viimeisimmät uutiset ja tiedot iWorkista osoitteessa www.apple.com/fi/iwork. Tukiverkkosivusto Löydät yksityiskohtaisia tietoja ongelmien ratkaisemisesta osoitteesta www.apple.com/fi/support/iwork. Ohjetagit iWork-ohjelmat tarjoavat ohjetageja – lyhyitä tekstikuvauksia – useimmista näytöllä näkyvistä kohteista. Saat ohjetagin näkyviin pitämällä osoitinta kohteen päällä muutaman sekunnin ajan. Verkko-oppitunnit Verkko-oppitunnit osoitteessa www.apple.com/fi/iwork/tutorials sisältävät videoita, jotka kertovat miten Keynotessa, Numbersissa ja Pagesissa suoritetaan yleisiä tehtäviä. Kun avaat iWork-ohjelman ensimmäisen kerran, näkyviin tulee viesti, jossa on linkki näihin verkko-oppitunteihin. Voit katsella näitä verkko-oppitunteja koska tahansa valitsemalla Keynotessa, Numbersissa tai Pagesissa Ohjeet > Verkko-oppitunnit. 13 Tässä luvussa kerrotaan, kuinka taulukon soluissa suoritetaan laskutoimituksia kaavoja käyttäen. Kaavojen elementit Kaava suorittaa laskutoimituksen ja esittää lopputuloksen solussa, johon sijoitat kaavan. Solua, joka sisältää kaavan, kutsutaan nimellä kaavasolu. Voit esimerkiksi lisätä sarakkeen alimpaan soluun kaavan, joka laskee yhteen sen yläpuolella olevien solujen luvut. Jos minkä tahansa kaavasolun yläpuolella olevan solun arvo muuttuu, kaavasolussa näkyvä summa päivittyy automaattisesti. Kaava suorittaa laskutoimitukset käyttäen määrittelemiäsi arvoja. Arvot voivat olla numeroita tai tekstiä (vakioita), jotka kirjoitat kaavaan. Ne voivat olla myös taulukon soluissa olevia arvoja, jotka merkitset kaavassa soluviittauksilla. Kaavat käyttävät operaattoreita ja funktioita laskutoimitusten suorittamiseen annetuilla arvoilla: ÂÂ Operaattorit ovat symboleita, jotka suorittavat laskutoimituksia sekä vertailuja merkkijono-operaatioita. Käyttänällä symboleita kaavoissa voit osoittaa, mitä toimintoja haluat käyttää. Esimerkiksi, symboli + lisää arvoja ja symboli = vertaa kahta arvoa ja määrittelee, ovatko ne yhtä suuria. =A2 + 16:  Kaava, joka käyttää operaattoria kahden arvon yhteenlaskemiseen. =:  On aina kaavan edellä. A2:  Soluviittaus. A2 viittaa ensimmäisen sarakkeen toiseen soluun. +:  Aritmeettinen operaattori, joka lisää sitä edeltävän arvon sitä seuraavaan arvoon. 16:  Numeerinen vakio. Kaavojen käyttäminen taulukoissa 1 ÂÂ Funktiot ovat ennaltamääriteltyjä, nimettyjä laskutoimituksia, kuten SUMMA ja KESKIARVO. Funktiota käytetään syöttämällä sen nimi ja antamalla funktion tarvitsemat argumentit suluissa funktion nimen jälkeen. Argumentit määrittelevät arvot, joita funktio käyttää laskutoimitustensa suorittamiseen. =SUMMA(A2:A10):  Kaava, joka käyttää SUMMA-funktiota solualueen arvojen yhteenlaskemiseen (ensimmäisen sarakkeen yhdeksän solua). A2:A10:  Soluviittaus, joka viittaa solujen A2 - A10 arvoihin. Jos haluat oppia, miten Siirry kohtaan välittömästi näytetään valituissa soluissa olevien arvojen summa, keskiarvo, pienin arvo, suurin arvo tai lukumäärä ja valinnaisesti tallennetaan näiden arvojen johtamiseen käytetty kaava Numbersissa ”Välittömien laskutoimitusten suorittaminen Numbersissa” (sivu 15) lisätään nopeasti kaava, joka näyttää valituissa soluissa olevien arvojen summan, keskiarvon, pienimmän arvon, suurimman arvon, lukumäärän tai tulon ”Ennaltamääriteltyjen pikakaavojen käyttö” (sivu 16) työkaluja ja tekniikoita käytetään kaavojen luomiseen ja muokkaamiseen Numbersissa ”Kaavojen lisääminen ja muokkaaminen Kaavan muokkaajalla” (sivu 17) ”Kaavojen lisääminen ja muokkaaminen kaavapalkilla” (sivu 19) ”Funktioiden lisääminen kaavoihin” (sivu 20) ”Kaavojen poistaminen” (sivu 22) työkaluja ja tekniikoita käytetään kaavojen luomiseen ja muokkaamiseen Pagesissa ja Keynotessa ”Kaavojen lisääminen ja muokkaaminen Kaavan muokkaajalla” (sivu 17) iWorkin satoja funktioita käytetään ja haluat tarkastella esimerkkejä, jotka osoittavat tapoja käyttää funktioita talous-, tekniikka-, tilasto- ja muissa yhteyksissä Ohjeet > iWorkin kaavat ja funktiot -ohjeet Ohjeet > iWorkin kaavat ja funktiot -käyttöopas erilaisia soluviittauksia lisätään kaavaan Numbersissa ”Soluihin viittaaminen kaavoissa” (sivu 22) ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” (sivu 24) ”Suorien ja suhteellisten soluviittausten erottaminen” (sivu 25) 14 Luku 1 Kaavojen käyttäminen taulukoissa Luku 1 Kaavojen käyttäminen taulukoissa 15 Jos haluat oppia, miten Siirry kohtaan operaattoreita käytetään kaavoissa ”Aritmeettiset operaattorit” (sivu 26) ”Vertailuoperaattorit” (sivu 27) ”Merkkijono-operaattori ja jokerimerkit” (sivu 28) kaavoja tai kaavojen laskemia arvoja siirretään taulukon solujen välillä ”Kaavojen ja niiden laskemien arvojen kopioiminen tai siirtäminen” (sivu 28) kaavoja ja kaavojen elementtejä löydetään Numbersissa ”Laskentataulukon kaikkien kaavojen katsominen” (sivu 29) ”Kaavaelementtien etsiminen ja korvaaminen” (sivu 29) Välittömien laskutoimitusten suorittaminen Numbersissa Numbers-ikkunan vasemmassa alakulmassa näkyy tuloksia yleisistä laskutoimituksista, jotka käyttävät taulukossa valittuna olevien kahden tai useamman solun arvoja. Laskutoimitusten suorittaminen välittömästi: 1 Valitse taulukosta vähintään kaksi solua. Niiden ei tarvitse olla vierekkäisiä. Näiden solujen arvoilla suoritettujen laskutoimitusten tulokset näytetään välittömästi ikkunan vasemmassa alakulmassa. Alhaalla vasemmalla näkyvät tulokset perustuvat näiden kahden valitun solun arvoihin. summa:  Näyttää valituissa soluissa olevien numeeristen arvojen summan. ka.:  Näyttää valituissa soluissa olevien numeeristen arvojen keskiarvon. min:  Näyttää valituissa soluissa olevan pienimmän numeerisen arvon. max:  Näyttää valituissa soluissa olevan suurimman numeerisen arvon. määrä:  Näyttää valituissa soluissa olevien numeeristen ja päiväys/aika-arvojen lukumäärän. Tyhjiä soluja ja soluja, joiden sisältämien arvojen tyyppiä ei ole mainittu yllä, ei käytetä laskutoimituksissa. 2 Jos haluat suorittaa muita välittömiä laskutoimituksia, valitse eri soluja. Jos pidät jotakin laskutoimitusta erityisen hyödyllisenä ja haluat lisätä sen taulukkoon, voit lisätä sen kaavana tyhjään soluun taulukossa. Voit vetää summa-, ka.- tai jonkin muun kohteen vasemmasta alakulmasta tyhjään soluun. Solun ei tarvitse olla samassa taulukossa kuin laskutoimituksissa käytettävien solujen. Ennaltamääriteltyjen pikakaavojen käyttö Helppo tapa suorittaa peruslaskutoimituksia käyttäen vierekkäisten solujen arvoja on valita solut ja lisätä pikakaava. Numbersissa tämä voidaan tehdä työkalupalkin Funktio-ponnahdusvalikolla. Keynotessa ja Pagesissa voit käyttää Taulukkoasetusten Muoto-osion Funktio-ponnahdusvalikkoa. Summa:  Laskee valituissa soluissa olevien numeeristen arvojen summan. Keskiarvo:  Laskee valituissa soluissa olevien numeeristen arvojen keskiarvon. Minimi:  Määrittää valituissa soluissa olevan pienimmän numeerisen arvon. Maksimi:  Määrittää valituissa soluissa olevan suurimman numeerisen arvon. Määrä:  Määrittää valituissa soluissa olevien numeeristen ja päiväys/aika-arvojen lukumäärän. Tulo:  Kertoo kaikki valituissa soluissa olevat numeeriset arvot. Voit myös valita Lisää > Funktio ja käyttää näkyviin tulevaa alivalikkoa. Tyhjät solut ja solut, jotka sisältävät muita kuin yllä luetellun tyyppisiä arvoja, jätetään huomioimatta. Näin voit lisätä pikakaavan: mm Jos haluat käyttää valittuja arvoja sarakkeessa tai rivissä, valitse solut. Osoita Numbersissa työkalupalkissa Funktio ja valitse ponnahdusvalikosta laskutoimitus. Valitse Keynotessa tai Pagesissa Lisää > Funktio ja käytä näkyviin tulevaa alivalikkoa. Jos solut ovat samassa sarakkeessa, tulos sijoitetaan ensimmäiseen tyhjään soluun valittujen solujen alapuolelle. Jos tyhjää solua ei ole, tulosta varten lisätään rivi. Solun osoittaminen näyttää kaavan. 16 Luku 1 Kaavojen käyttäminen taulukoissa Luku 1 Kaavojen käyttäminen taulukoissa 17 Jos solut ovat samalla rivillä, tulos sijoitetaan ensimmäiseen tyhjään soluun valittujen solujen oikealle puolelle. Jos tyhjää solua ei ole, tulosta varten lisätään sarake. Solun osoittaminen näyttää kaavan. mm Jos haluat käyttää sarakkeen kaikkien datasolujen arvoja, osoita sarakkeen otsakesolua tai viitepalkkia. Osoita Numbersissa työkalupalkissa Funktio ja valitse ponnahdusvalikosta laskutoimitus. Valitse Keynotessa tai Pagesissa Lisää > Funktio ja käytä näkyviin tulevaa alivalikkoa. Tulos sijoitetaan alaotsakeriville. Jos alaotsakeriviä ei ole olemassa, se lisätään. Solun osoittaminen näyttää kaavan. mm Jos haluat käyttää rivin kaikkien datasolujen arvoja, osoita rivin otsakesolua tai viitepalkkia. Osoita Numbersissa työkalupalkissa Funktio ja valitse ponnahdusvalikosta laskutoimitus. Valitse Keynotessa tai Pagesissa Lisää > Funktio ja käytä näkyviin tulevaa alivalikkoa. Tulos sijoitetaan uuteen sarakkeeseen. Solun osoittaminen näyttää kaavan. Omien kaavojen luominen Vaikka voitkin nopeasti lisätä kaavoja, jotka suorittavat yksinkertaisia laskutoimituksia (katso ”Välittömien laskutoimitusten suorittaminen Numbersissa” sivulla 15 ja ”Ennaltamääriteltyjen pikakaavojen käyttö” sivulla 16), kun haluat enemmän säätövaraa, voit käyttää kaavatyökaluja kaavojen lisäämiseen. Jos haluat oppia, miten Siirry kohtaan Kaavan muokkaajaa käytetään kaavan muokkaamiseen ”Kaavojen lisääminen ja muokkaaminen Kaavan muokkaajalla” (sivu 17) muokattavaa kaavapalkkia käytetään kaavan muokkaamiseen Numbersissa ”Kaavojen lisääminen ja muokkaaminen kaavapalkilla” (sivu 19) Funktioselainta käytetään funktioiden ja kaavojen lisäämiseen nopeasti Kaavan muokkaajaa tai kaavapalkkia käytettäessä ”Funktioiden lisääminen kaavoihin” (sivu 20) virheellinen kaava löydetään ”Kaavojen virheiden ja varoitusten käsitteleminen” (sivu 22) Kaavojen lisääminen ja muokkaaminen Kaavan muokkaajalla Kaavan muokkaajaa voidaan käyttää vaihtoehtona kaavan muokkaamiselle suoraan kaavapalkissa (katso ”Kaavojen lisääminen ja muokkaaminen kaavapalkilla” sivulla 19). Kaavan muokkaajassa on tekstikenttä, joka sisältää kaavan. Kun lisäät soluviittauksia, operaattoreita, funktioita tai vakioita kaavaan, ne näyttävät tältä Kaavan muokkaajassa. Kaikkien kaavojen alussa on oltava yhtäsuuruusmerkki Summa-funktio. Soluviittaukset nimiä käyttäen. Viittaus kolmen solun alueeseen. Vähennysoperaattori. Näin voit käyttää Kaavan muokkaajaa: mm Voit avata Kaavan muokkaajan seuraavilla tavoilla: ÂÂ Valitse taulukon solu ja kirjoita yhtäsuuruusmerkki (=). ÂÂ Kaksoisosoita Numbersissa taulukon solua, joka sisältää kaavan. Valitse Keynotessa ja Pagesissa taulukko ja kaksoisosoita taulukon solua, joka sisältää kaavan. ÂÂ Valitse Numbersissa taulukon solu, osoita työkalupalkissa Funktio ja valitse ponnahdusvalikosta Kaavan muokkaaja. ÂÂ Valitse Numbersissa taulukon solu ja valitse Lisää > Funktio > Kaavan muokkaaja. Valitse Keynotessa ja Pagesissa Taulukkoasetusten Muoto-osion Funktioponnahdusvalikosta Kaavan muokkaaja. ÂÂ Valitse kaavan sisältävä solu ja paina Optio-rivinvaihto. Kaavan muokkaaja aukeaa valitun solun yläpuolelle, mutta voit siirtää sitä. mm Siirrä Kaavan muokkaajaa pitämällä osoitinta Kaavan muokkaajan vasemmalla laidalla, kunnes se muuttuu käden kuvaksi, ja vetämällä. mm Kokoa kaava seuraavasti: ÂÂ Jos haluat lisätä operaattorin tai vakion tekstikenttään, valitse lisäyskohta ja kirjoita. Voit siirtää lisäyskohtaa tekstikentässä nuolinäppäimillä. Katso tietoja operaattoreista, joita voit käyttää, kohdasta ”Operaattoreiden käyttäminen kaavoissa” sivulla 26. Huomaa: Jos kaava tarvitsee operaattorin, mutta et ole lisännyt sellaista, operaattori + lisätään automaattisesti. Voit tarvittaessa valita operaattorin + ja kirjoittaa toisen operaattorin. ÂÂ Jos haluat lisätä soluviittauksen tekstikenttään, sijoita lisäyskohta ja seuraa kohdassa ”Soluihin viittaaminen kaavoissa” sivulla 22 annettuja ohjeita. ÂÂ Jos haluat lisätä funktioita tekstikenttään, sijoita lisäyskohta ja seuraa kohdassa ”Funktioiden lisääminen kaavoihin” sivulla 20 annettuja ohjeita. mm Jos haluat poistaa elementin tekstikentästä, valitse elementti ja paina poistonäppäintä. mm Voit hyväksyä muutokset painamalla rivinvaihtonäppäintä tai osoittamalla Kaavan muokkaajan Hyväksy-painiketta. Voit myös osoittaa taulukon ulkopuolelle. Jos haluat sulkea Kaavan muokkaajan hyväksymättä muutoksia, paina Esc-näppäintä tai osoita Kaavan muokkaajan Kumoa-painiketta. 18 Luku 1 Kaavojen käyttäminen taulukoissa Luku 1 Kaavojen käyttäminen taulukoissa 19 Kaavojen lisääminen ja muokkaaminen kaavapalkilla Numbersissa voit luoda muokkauspalkin alla olevalla kaavapalkilla kaavan valittuun soluun tai muokata valitussa solussa olevaa kaavaa. Kun lisäät soluviittauksia, operaattoreita, funktioita ja vakioita kaavaan, ne näyttävät tältä. Viittaus kolmen Vähennysoperaattori. solun alueeseen. Soluviittaukset Summa-funktio. nimiä käyttäen. Kaikkien kaavojen alussa on oltava yhtäsuuruusmerkki Näin voit käyttää kaavapalkkia: mm Jos haluat lisätä kaavan tai muokata kaavaa, valitse solu ja lisää tai muokkaa kaavaelementtejä kaavapalkissa. mm Kun haluat lisätä elementtejä kaavaan, tee seuraavasti: ÂÂ Jos haluat lisätä operaattorin tai vakion, valitse lisäyskohta kaavapalkissa ja kirjoita. Voit siirtää lisäyskohtaa nuolinäppäimillä. Katso tietoja operaattoreista, joita voit käyttää, kohdasta ”Operaattoreiden käyttäminen kaavoissa” sivulla 26. Jos kaava tarvitsee operaattorin, mutta et ole lisännyt sellaista, operaattori + lisätään automaattisesti. Voit tarvittaessa valita operaattorin + ja kirjoittaa toisen operaattorin. ÂÂ Jos haluat lisätä soluviittauksen kaavaan, sijoita lisäyskohta ja seuraa kohdassa ”Soluihin viittaaminen kaavoissa” sivulla 22 annettuja ohjeita. ÂÂ Jos haluat lisätä funktioita kaavaan, sijoita lisäyskohta ja seuraa kohdassa ”Funktioiden lisääminen kaavoihin” sivulla 20 annettuja ohjeita. mm Jos haluat kasvattaa tai pienentää kaavapalkissa näkyvien kaavaelementtien esityskokoa, valitse vaihtoehto kaavapalkin yläpuolella olevasta Kaavan tekstikoko -ponnahdusvalikosta. Jos haluat lisätä tai vähentää kaavapalkin korkeutta, vedä kaavapalkin oikeassa reunassa olevaa koonmuutossäädintä ylös tai alas tai, jos haluat sovittaa kaavapalkin kaavan kokoon, kaksoisosoita koonmuutossäädintä. mm Jos haluat poistaa elementin kaavasta, valitse elementti ja paina poistonäppäintä. mm Voit tallentaa muutokset painamalla rivinvaihtonäppäintä tai osoittamalla kaavapalkin yläpuolella olevaa Hyväksy-painiketta. Voit myös osoittaa kaavapalkin ulkopuolelle. Jos et halua tallentaa tekemiäsi muutoksia, osoita kaavapalkin yläpuolella olevaa Kumoa-painiketta. Funktioiden lisääminen kaavoihin Funktio on ennaltamääritelty, nimetty laskutoimitus (kuten SUMMA ja KESKIARVO), jota voidaan käyttää laskutoimituksen suorittamiseen. Funktio voi olla yksi monista kaavan elementeistä tai se voi olla kaavan ainoa elementti. Funktioita on monia eri tyyppejä, talousalan funktioista, jotka laskevat korkoja, sijoitusten arvoja ja muita tietoja, tilastollisiin funktioihin, jotka laskevat keskiarvoja, todennäköisyyksiä, keskihajontoja ja niin edelleen. Jos haluat tietoja iWorkin funktioluokista ja niiden funktioista tai haluat tutustua lukuisiin niiden käyttöä havainnollistaviin esimerkkeihin, valitse Ohjeet > iWorkin kaavat ja funktiot -ohjeet tai Ohjeet > iWorkin kaavat ja funktiot -käyttöopas. Vaikka voit kirjoittaa funktion Kaavan muokkaajan tekstikenttään tai kaavapalkkiin (vain Numbersissa), Funktioselain tarjoaa kätevän tavan lisätä funktio kaavaan. Katso funktion tiedot valitsemalla se. Etsi funktiota. Lisää valittu funktio. Katso luokan sisältämiä funktioita valitsemalla luokka. Vasen osio:  Luettelee funktioluokat. Valitsemalla luokan näet sen sisältämät funktiot. Useimmat luokat sisältävät toisiinsa liittyviä funktioita. Kaikki-luokka luettelee kaikki funktiot aakkosjärjestyksessä. Äskeiset-luokka luettelee kymmenen funktiota, jotka on viimeksi lisätty Kaavaselainta käyttäen. Oikea osio:  Luettelee yksittäiset funktiot. Valitsemalla funktion näet tietoja siitä ja voit lisätä sen kaavaan. Alaosio:  Näyttää yksityiskohtaisia tietoja valitusta funktiosta. 20 Luku 1 Kaavojen käyttäminen taulukoissa Luku 1 Kaavojen käyttäminen taulukoissa 21 Funktion lisääminen Funktioselaimella: 1 Sijoita Kaavan muokkaajassa tai kaavapalkissa (vain Numbersissa) lisäyskohta paikkaan, johon haluat lisätä funktion. Huomaa: Jos kaava tarvitsee operaattorin funktion edelle tai jälkeen, mutta et ole lisännyt sellaista, operaattori + lisätään automaattisesti. Voit tarvittaessa valita operaattorin + ja kirjoittaa toisen operaattorin. 2 Avaa Funktioselain Pagesissa tai Keynotessa valitsemalla Lisää > Funktio > Näytä funktioselain. Numbersissa voit avata Funktioselaimen seuraavilla tavoilla: ÂÂ Osoita kaavapalkissa Funktioselain-painiketta. ÂÂ Osoita työkalupalkissa Funktio-painiketta ja valitse Näytä funktioselain. ÂÂ Valitse Lisää > Funktio > Näytä funktioselain. ÂÂ Valitse Sisältö > Näytä funktioselain. 3 Valitse funktioluokka. 4 Valitse funktio kaksoisosoittamalla sitä tai valitsemalla se ja osoittamalla Lisää funktio. 5 Korvaa Kaavan muokkaajassa tai kaavapalkissa (vain Numbersissa) kaikki lisätyn funktion paikanvaraajat arvoilla. Näet ohjeita liikkeellelaskupäivä-argumentille, kun pidät osoitinta paikanvaraajan päällä. Valinnaisten argumenttien paikanvaraajat näkyvät vaaleanharmaina. Näet kelvollisten arvojen luettelon osoittamalla. Lyhyen kuvauksen näkeminen argumentin arvosta:  Pidä osoitinta argumentin paikanvaraajan päällä. Voit tarkistaa argumentin tiedot myös Funktioselaimen ikkunasta. Arvon syöttäminen minkä tahansa argumenttipaikanvaraajan tilalle:  Osoita argumenttipaikanvaraajaa ja kirjoita vakio tai lisää soluviittaus (katso ohjeet kohdasta ”Soluihin viittaaminen kaavoissa” sivulla 22). Jos argumenttipaikanvaraaja on vaaleanharmaa, arvon antaminen on vapaaehtoista. Arvon syöttäminen sellaisen argumenttipaikanvaraajan tilalle, jossa on kolmio:  Osoita kolmiota ja valitse arvo ponnahdusvalikosta. Jos haluat tietoja ponnahdusvalikon arvosta, pidä osoitinta arvon päällä. Jos haluat ohjeita funktioista, valitse Funktio-ohjeet. Kaavojen virheiden ja varoitusten käsitteleminen Kun taulukon solun kaava on puutteellinen, sisältää virheellisiä soluviittauksia tai on muulla tavoin virheellinen tai kun tuontioperaatio luo virhetilanteen solussa, Numbers tai Pages näyttää solussa symbolin. Sininen kolmio solun vasemmassa yläkulmassa osoittaa, että solussa on yksi tai useampi varoitus. Punainen kolmio solun keskellä osoittaa, että kaavassa on virhe. Virhe- ja varoitusviestien katsominen: mm Osoita symbolia. Viesti-ikkuna näyttää yhteenvedon kaikista soluun liittyvistä virheistä ja varoituksista. Jos haluat, että Numbers varoittaa, kun kaavassa viitattu solu on tyhjä, valitse Numbers > Asetukset ja valitse Yleiset-osiosta ”Varoita, kun kaavat viittaavat tyhjiin soluihin”. Tämä vaihtoehto ei ole käytettävissä Keynotessa tai Pagesissa. Kaavojen poistaminen Jos et enää halua käyttää solun kaavaa, voit poistaa kaavan helposti. Kaavan poistaminen solusta: 1 Valitse solu. 2 Paina poistonäppäintä. Jos haluat Numbersissa tarkistaa laskentataulukossa olevat kaavat ennen kuin päätät, mitkä niistä poistetaan, valitse Sisältö > Näytä kaavaluettelo. Soluihin viittaaminen kaavoissa Kaikissa taulukoissa on viitepalkit. Nämä ovat rivien numerot ja sarakkeiden otsikot. Numbersissa viitepalkit ovat näkyvissä aina kun taulukolla on kohdistus; esimerkiksi taulukon solun ollessa valittuna. Keynotessa ja Pagesissa viitepalkit tulevat näkyviin vasta, kun taulukon solussa oleva kaava valitaan. Numbersissa viitepalkit näyttävät tältä: 22 Luku 1 Kaavojen käyttäminen taulukoissa Luku 1 Kaavojen käyttäminen taulukoissa 23 Viitepalkit ovat harmaa laatikko jokaisen sarakkeen yläpuolella ja jokaisen rivin vasemmalla puolella ja jotka sisältävät sarakkeen kirjaimen (esimerkiksi ”A”) tai rivin numeron (esimerkiksi ”3”). Keynoten ja Pagesin viitepalkit näyttävät samankaltaisilta kuin Numbersin. Soluviittauksilla merkitään solut, joiden arvoja haluat käyttää kaavoissa. Numbersissa solut voivat olla samassa taulukossa kuin kaavasolu tai ne voivat olla toisessa saman tai eri välilehden taulukossa. Soluviittauksia on eri muotoisia riippuen siitä, onko solun taulukossa otsakkeita, haluatko viitata yhteen soluun vai solualueeseen ja niin edelleen. Tässä on yhteenveto eri muodoista, joita voidaan käyttää soluviittauksissa. Jos haluat viitata Käytä muotoa Esimerkki Mihin tahansa soluun taulukossa, joka sisältää kaavan Solun viitepalkin kirjain ja viitepalkin numero C55 viittaa kolmannen sarakkeen 55. riviin. Soluun taulukossa, jossa on yläotsakerivi ja otsakesarake Sarakkeen nimi ja rivin nimi 2006 Tulot viittaa soluun, jonka yläotsakerivissä on ”2006” ja otsakesarakkeessa on ”Tulot”. Soluun taulukossa, jossa on useita yläotsakerivejä tai otsakesarakkeita Sen otsakkeen nimi, jonka sarakkeisiin tai riveihin haluat viitata Jos 2006 on otsake, joka kattaa kaksi saraketta (Tulot ja Menot), 2006 viittaa kaikkiin Tulot- ja Menot-sarakkeiden soluihin. Solualueeseen Kaksoispiste (:) alueen ensimmäisen ja viimeisen solun väliin käyttäen viitepalkkimerkintää solujen merkitsemiseen B2:B5 viittaa neljään toisen sarakkeen soluun. Kaikkiin rivin soluihin Rivin nimi tai rivinumero:rivinumero 1:1 viittaa kaikkiin ensimmäisen rivin soluihin. Kaikkiin sarakkeen soluihin Sarakkeen kirjain tai nimi C viittaa kaikkiin kolmannen sarakkeen soluihin. Kaikkiin soluihin rivialueella Kaksoispiste (:) alueen ensimmäisen ja viimeisen rivin nimen tai numeron väliin 2:6 viittaa kaikkiin viiden rivin soluihin. Kaikkiin soluihin sarakealueella Kaksoispiste (:) alueen ensimmäisen ja viimeisen sarakkeen nimen tai kirjaimen väliin B:C viittaa kaikkiin toisen ja kolmannen sarakkeen soluihin. Numbersissa soluun saman välilehden toisessa taulukossa Jos solun nimi esiintyy laskentataulukossa vain kerran, pelkkä solun nimi riittää; muussa tapauksessa käytetään taulukon nimeä, kahta kaksoispistettä (::) ja solun tunnistinta Taulukko 2::B5 viittaa taulukon ”Taulukko 2” soluun B5. Taulukko 2::2006 Kurssiosallistuminen viittaa soluun nimellä. Jos haluat viitata Käytä muotoa Esimerkki Numbersissa soluun toisen välilehden taulukossa Jos solun nimi esiintyy laskentataulukossa vain kerran, pelkkä solun nimi riittää; muussa tapauksessa käytetään välilehden nimeä, kahta kaksoispistettä (::), taulukon nimeä, kahta puolipistettä ja solun tunnistinta Välilehti 2::Taulukko 2::2006 Kurssiosallistuminen viittaa soluun välilehden ”Välilehti 2” taulukossa ”Taulukko 2”. Numbersissa voit jättää taulukon tai välilehden nimen pois, jos viitesolulla tai -soluilla on nimet, jotka eivät toistu laskentataulukossa. Jos viittaat Numbersissa soluun, joka sijaitsee monirivisessä tai -sarakkeisessa otsakkeessa, huomaat seuraavan käyttäytymisen: ÂÂ Sen otsakesolun nimeä käytetään, joka on lähimpänä siihen viittaavaa solua. Jos esimerkiksi taulukossa on kaksi yläotsakeriviä, joista B1 sisältää ”Koira” ja B2 sisältää ”Kissa”, tallentaessasi kaavaa, joka käyttää ”Koiraa”, tallennetaan sen sijaan ”Kissa”. ÂÂ Jos ”Kissa” näkyy laskentataulukon toisessa yläotsakesolussa, käytetään ”Koiraa”. Tietoja soluviittauksen lisäämisestä kaavaan on kohdassa ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen.” Tietoja suorista ja suhteellisista soluviittauksista (jotka ovat tärkeitä, jos sinun täytyy kopioida tai siirtää kaava) löytyy kohdasta ”Suorien ja suhteellisten soluviittausten erottaminen” sivulla 25. Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen Voit kirjoittaa soluviittaukset kaavaan tai voit lisätä soluviittaukset käyttäen hiiri- ja näppäinoikoteitä. Näin voit lisätä soluviittauksia: mm Jos haluat käyttää näppäinoikotietä soluviittauksen syöttämiseen, sijoita lisäyskohta Kaavan muokkaajaan tai kaavapalkkiin (vain Numbersissa) ja tee jokin seuraavista: ÂÂ Jos haluat viitata yhteen soluun, paina Optio-näppäintä ja valitse solu nuolinäppäimillä. ÂÂ Jos haluat viitata solualueeseen, valitse solualueen ensimmäinen solu, pidä Vaihto- ja Optio-näppäimiä painettuina ja valitse solualueen viimeinen solu. ÂÂ Jos haluat Numbersissa viitata toisen taulukon soluihin samalla tai eri välilehdellä, valitse taulukko siirtymällä alaspäin Optio-Komento-Page Down -näppäimillä tai siirtymällä ylöspäin Optio-Komento-Page Up -näppäimillä. Kun haluttu taulukko on valittuna, jatka Optio-näppäimen painamista, mutta vapauta Komento-näppäin, ja käytä nuolinäppäimiä haluttujen solujen tai solualueiden (Vaihto-Optio-näppäimillä) valitsemiseen. 24 Luku 1 Kaavojen käyttäminen taulukoissa Luku 1 Kaavojen käyttäminen taulukoissa 25 ÂÂ Jos haluat määritellä soluviittauksen suoria tai suhteellisia attribuutteja lisäämisen jälkeen, osoita lisättyä viitettä ja vaihda vaihtoehtojen välillä painamalla Komento-K. Jos haluat lisätietoja, katso ”Suorien ja suhteellisten soluviittausten erottaminen” sivulla 25. mm Jos haluat käyttää hiirtä soluviittauksen syöttämiseen, sijoita lisäyskohta Kaavan muokkaajaan tai kaavapalkkiin (vain Numbersissa) ja tee jokin seuraavista samassa taulukossa, jossa kaavasolu on, tai (vain Numbersissa) eri taulukossa samalla tai eri välilehdellä: ÂÂ Jos haluat viitata yhteen soluun, osoita solua. ÂÂ Jos haluat viitata kaikkiin sarakkeen tai rivin soluihin, osoita sarakkeen tai rivin viitepalkkia. ÂÂ Jos haluat viitata solualueeseen, osoita jotakin alueen solua ja valitse solualue tai muuta solualueen kokoa vetämällä ylös, alas, vasemmalle tai oikealle. ÂÂ Jos haluat määritellä soluviittauksen suoria tai suhteellisia attribuutteja, osoita lisätyn viitteen kolmiota ja valitse vaihtoehto ponnahdusvalikosta. Jos haluat lisätietoja, katso ”Suorien ja suhteellisten soluviittausten erottaminen” sivulla 25. Numbersissa lisätty soluviittaus käyttää nimiä viitepalkkimerkintöjen sijaan ellei Numbers-asetusten Yleiset-osion Käytä yläotsakesolujen nimiä viitteinä -kohdan valintaa ole poistettu. Keynotessa ja Pagesissa lisätty soluviittaus käyttää nimiä viitepalkkimerkintöjen sijaan, jos viittauksen kohteena olevilla soluilla on otsakkeet. mm Jos haluat kirjoittaa soluviittauksen, sijoita lisäyskohta Kaavan muokkaajaan tai kaavapalkkiin (vain Numbersissa) ja kirjoita soluviittaus käyttäen jotakin muotoa, joka on kohdan ”Soluihin viittaaminen kaavoissa” sivulla 22 luettelossa. Kun kirjoitat soluviittauksen, joka sisältää otsakesolun (missä tahansa ohjelmista), taulukon (vain Numbersissa) tai välilehden (vain Numbersissa) nimen, kolmen merkin kirjoittamisen jälkeen näkyviin ponnahtaa luettelo nimistä, jotka vastaavat laskentataulukossa olevia nimiä. Voit valita nimen luettelosta tai jatkaa kirjoittamista. Jos haluat Numbersissa poistaa nimien ehdottamisen käytöstä, valitse Numbers > Asetukset ja poista valinta Yleiset-osion kohdasta ”Käytä yläotsakesolujen nimiä viitteinä”. Suorien ja suhteellisten soluviittausten erottaminen Suorilla ja suhteellisilla soluviittauksilla voit osoittaa, mihin soluun haluat viitata, kun kopioit tai siirrät kaavan. Jos soluviittaus on suhteellinen (A1):  kun kaava siirtyy, se säilyy ennallaan. Jos kaava leikataan tai kopioidaan ja sijoitetaan, soluviittaus muuttuu siten, että sen sijainti suhteessa kaavasoluun pysyy samana. Esimerkiksi, jos kaava, joka sijaitsee solussa C4, viittaa soluun A1 ja kopioit kaavan soluun C5, solu C5 viittaa soluun A2. Jos soluviittauksen rivi- ja sarakekomponentit ovat suoria ($A$1):  Kun kaava kopioidaan, sen soluviittaukset eivät muutu. Dollarimerkillä ($) voit osoittaa, että rivi- tai sarakekomponentit ovat suoria. Esimerkiksi, jos kaava, joka sijaitsee solussa C4, viittaa soluun $A$1 ja kopioit kaavan soluun C5 tai D5, solu C5 tai D5 viittaa edelleen soluun $A$1. Jos soluviittauksen rivikomponentti on suora (A$1):  Sarakeosa on suhteellinen ja sijainti sen määräytyy kaavasolun sarakkeen mukaan. Esimerkiksi, jos kaava, joka sijaitsee solussa C4, viittaa soluun A$1 kopioit kaavan soluun D5, solu D5 viittaa soluun B$1. Jos soluviittauksen sarakekomponentti on suora ($A1):  Riviosa on suhteellinen ja sen sijainti voi säilyä tai muuttua kaavasolusta riippuen. Esimerkiksi, jos kaava, joka sijaitsee solussa C4, viittaa soluun $A1 ja kopioit kaavan soluun C5 tai D5, solu C5 tai D5 viittaa soluun $A2. Näin voit määritellä soluviittauskomponenttien suoruuden: mm Kirjoita soluviittaus käyttäen jotakin yllä lueteltua tapaa. mm Osoita soluviittauksen kolmiota ja valitse vaihtoehto ponnahdusvalikosta. mm Valitse soluviittaus ja käy vaihtoehtoja läpi painamalla Komento-K. Operaattoreiden käyttäminen kaavoissa Näin käytät kaavoissa operaattoreita laskutoimitusten suorittamiseen ja arvojen vertailuun: ÂÂ Aritmeettiset operaattorit suorittavat aritmeettisia laskutoimituksia, kuten yhteenja vähennyslaskua, ja palauttavat numeerisia tuloksia. Lisätietoja löytyy kohdasta ”Aritmeettiset operaattorit” sivulla 26. ÂÂ Vertailuperaattorit vertaavat kahta arvoa ja palauttavat arvon TOSI tai EPÄTOSI. Lisätietoja löytyy kohdasta ”Vertailuoperaattorit” sivulla 27. Aritmeettiset operaattorit Voit käyttää aritmeettisia operaattoreita peruslaskutoimitusten suorittamiseen kaavoissa. Kun haluat Käytä tätä aritmeettista operaattoria Esimerkiksi, jos A2 sisältää 20 ja B2 sisältää 2, kaava Laskea yhteen kaksi arvoa + (plusmerkki) A2 + B2 palauttaa 22. Vähentää yhden arvon toisesta arvosta - (miinusmerkki) A2 - B2 palauttaa 18. Kertoa kaksi arvoa * (tähti) A2 * B2 palauttaa 40. 26 Luku 1 Kaavojen käyttäminen taulukoissa Luku 1 Kaavojen käyttäminen taulukoissa 27 Kun haluat Käytä tätä aritmeettista operaattoria Esimerkiksi, jos A2 sisältää 20 ja B2 sisältää 2, kaava Jakaa yhden arvon toisella arvolla / (kauttaviiva) A2 / B2 palauttaa 10. Korottaa yhden arvon toisen arvon potenssiin ^ (sirkumfleksi) A2 ^ B2 palauttaa 400. Laskea prosenttiosuuden % (prosenttimerkki) A2% palauttaa 0,2, joka esitetään muodossa 20 %. Merkkijonon käyttäminen aritmeettisen operaattorin kanssa palauttaa virheen. Esimerkiksi, 3 + ”hei” on virheellinen laskutoimitus. Vertailuoperaattorit Vertailuoperaattoreilla voit verrata kahta arvoa kaavoissa. Vertailuoperaatiot palauttavat aina arvon TOSI tai EPÄTOSI. Vertailuoperaattoreita voidaan myös käyttää joidenkin funktioiden käyttämien ehtojen rakentamiseen. Katso kohtaa ”ehto” taulukossa ”Funktioiden määritelmissä käytettävät syntaksielementit ja termit” sivulla 32 Kun haluat selvittää, ovatko Käytä tätä vertailuoperaattoria Esimerkiksi, jos A2 sisältää 20 ja B2 sisältää 2, kaava Kaksi arvoa yhtä suuret = A2 = B2 palauttaa EPÄTOSI. Kaksi arvoa eri suuruiset <> A2 <> B2 palauttaa TOSI. Ensimmäinen arvo suurempi kuin toinen arvo > A2 > B2 palauttaa TOSI. Ensimmäinen arvo pienempi kuin toinen arvo < A2 < B2 palauttaa EPÄTOSI. Ensimmäinen arvo suurempi tai yhtä suuri kuin toinen arvo >= A2 >= B2 palauttaa TOSI. Ensimmäinen arvo pienempi tai yhtä suuri kuin toinen arvo <= A2 <= B2 palauttaa EPÄTOSI. Merkkijonot ovat suurempia kuin numerot. Esimerkiksi, ”hei” > 5 palauttaa TOSI. Arvoja TOSI ja EPÄTOSI voidaan verrata toisiinsa, mutta ei numeroihin tai merkkijonoihin. TOSI > EPÄTOSI ja EPÄTOSI < TOSI, koska TOSI tulkitaan arvoksi 1 ja EPÄTOSI arvoksi 0. TOSI = 1 palauttaa EPÄTOSI ja TOSI = ”Jotaintekstiä” palauttaa EPÄTOSI. Vertailuoperaatioita käytetään ensisijaisesti funktioissa, kuten JOS, jotka vertailevat kahta arvoa ja suorittavat toimintoja sen perusteella, onko vertailun tulos TOSI vai EPÄTOSI. Lisätietoja tästä aiheesta saat valitsemalla Ohjeet > iWorkin kaavat ja funktiot -ohjeet tai Ohjeet > iWorkin kaavat ja funktiot -käyttöopas. Merkkijono-operaattori ja jokerimerkit Merkkijono-operaattoria voidaan käyttää kaavioissa ja jokerimerkkejä voidaan käyttää ehdoissa. Kun haluat Käytä tätä merkkijonooperaattoria tai jokerimerkkiä Esimerkki Yhdistää merkkijonoja tai solujen sisältöjä & ”abc”&”def” palauttaa ”abcdef” ”abc”&A1 palauttaa ”abc2”, jos solu A1 sisältää 2. A1&A2 palauttaa ”12”, jos solu A1 sisältää 1 ja solu A2 sisältää 2. Täsmätä yhden merkin ? ”ea?” vastaa mitä tahansa merkkijonoa, joka alkaa ”ea” ja sisältää täsmälleen yhden lisämerkin. Täsmätä useita merkkejä * ”*ed” vastaa pituudesta riippumatta mitä tahansa merkkijonoa, joka loppuu ”ed”. Täsmätä tietyn jokerimerkin ~ ”~?” vastaa kysymysmerkkiä sen sijaan, että kysymysmerkkiä käytettäisiin minkä tahansa yhden merkin täsmäämiseen. Lisätietoja jokerimerkkien käyttämisestä ehdoissa löytyy kohdasta ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351. Kaavojen ja niiden laskemien arvojen kopioiminen tai siirtäminen Tässä on tekniikoita kaavoihin liittyvien solujen kopioimiseen ja siirtämiseen: mm Jos haluat kopioida kaavasolun lasketun arvon, mutta et itse kaavaa, valitse solu, valitse Muokkaus > Kopioi, valitse arvolle kohdesolu ja valitse Muokkaus > Sijoita arvot. mm Jos haluat kopioida tai siirtää kaavasolun tai solun, johon kaava viittaa, noudata Numbers-ohjeiden tai Numbersin käyttöoppaan kohdan ”Solujen kopioiminen ja siirtäminen” ohjeita. Jos Numbersissa taulukko on suuri ja haluat siirtää kaavan soluun, joka ei ole näkyvissä, valitse solu, valitse Muokkaus > ”Merkitse siirrettäväksi”, valitse toinen solu ja valitse Muokkaus > Siirrä. Esimerkiksi, jos kaava =A1 on solussa D1 ja haluat siirtää kaavan soluun X1, valitse D1, valitse Muokkaus > ”Merkitse siirrettäväksi”, valitse X1 ja valitse Muokkaus > Siirrä. Kaava =A1 tulee näkyviin soluun X1. Jos kopioit tai siirrät kaavasolun:  Muuta soluviittauksia tarpeen mukaan kuten on neuvottu kohdassa ”Suorien ja suhteellisten soluviittausten erottaminen” sivulla 25. 28 Luku 1 Kaavojen käyttäminen taulukoissa Luku 1 Kaavojen käyttäminen taulukoissa 29 Jos siirrät solun, johon kaava viittaa:  Kaavan soluviittaus päivitetään automaattisesti. Esimerkiksi, jos kaavassa on viittaus soluun A1 ja siirrät solun A1 soluun D95, kaavan soluviittaukseksi tulee D95. Laskentataulukon kaikkien kaavojen katsominen Voit Numbersissa tuoda näkyviin kaikki laskentataulukon kaavat valitsemalla Sisältö > Näytä kaavaluettelo tai osoittamalla työkalupalkin kaavaluettelopainiketta. Sijainti: Tunnistaa välilehden ja taulukon, jossa kaava sijaitsee. Tulokset:  Näyttää kaavan laskeman nykyisen arvon. Kaava:  Näyttää kaavan. Näin voit käyttää kaavaluetteloikkunaa: mm Jos haluat tunnistaa solun, joka sisältää kaavan, osoita kaavaa. Taulukko näytetään kaavaluetteloikkunan yläpuolella kaavasolu valittuna. mm Jos haluat muokata kaavaa, kaksoisosoita sitä. mm Jos haluat muuttaa kaavaluetteloikkunan kokoa, vedä oikeassa yläkulmassa olevaa valintakahvaa ylös tai alas. mm Voit etsiä tietyn elementin sisältäviä kaavoja kirjoittamalla elementin etsintäkenttään ja painamalla rivinvaihtonäppäintä. Kaavaelementtien etsiminen ja korvaaminen Numbersissa voit etsiä elementtejä Etsi ja korvaa -ikkunaa käyttäen kaikista laskentataulukon kaavoista ja halutessasi muuttaa niitä. Näin voit avata Etsi ja korvaa -ikkunan: mm Valitse Muokkaus > Etsi > Näytä haku ja osoita Etsi ja korvaa. mm Valitse Sisältö > Näytä kaavaluettelo ja osoita sitten Etsi ja korvaa. Etsi: Kirjoita kaavaelementti (soluviittaus, operaattori, funktio ja niin edelleen), jonka haluat löytää. Kohteessa:  Valitse tästä ponnahdusvalikosta Vain kaavat. Sama kirjainkoko:  Valitse, jos haluat etsiä vain elementtejä, joiden isot ja pienet kirjaimet vastaavat täysin Etsi-kentän sisältöä. Kokonaisia sanoja:  Valitse, jos haluat etsiä vain elementtejä, joiden koko sisältö vastaa Etsi-kentän sisältöä. Korvaa:  Kirjoita, millä haluat korvata Etsi-kentän sisällön. Toista haku (silmukka):  Valitse, jos haluat jatkaa Etsi-kentän sisällön etsimistä sen jälkeen, kun koko laskentataulukosta on etsitty. Seuraava tai Edellinen:  Osoita, jos haluat etsiä Etsi-kentän sisällön seuraavan tai edellisen esiintymän. Kun elementti löytyy, Kaavan muokkaaja aukeaa ja näyttää kaavan, joka sisältää elementin esiintymän. Korvaa kaikki:  Osoita, jos haluat korvata kaikki Etsi-kentän sisällön esiintymät Korvaakentän sisällöllä. Korvaa:  Osoita, jos haluat korvata Etsi-kentän sisällön nykyisen esiintymän Korvaakentän sisällöllä. Etsi ja korvaa:  Osoita, jos haluat korvata Etsi-kentän sisällön nykyisen esiintymän ja etsiä seuraavan esiintymän. 30 Luku 1 Kaavojen käyttäminen taulukoissa 31 Tässä luvussa esitellään iWorkissa käytettävissä olevat funktiot. Johdanto funktioihin Funktio on nimetty operaatio, joka voidaan sisällyttää kaavaan laskutoimituksen suorittamista tai taulukon solun datan käsittelemistä varten. iWorkin funktioilla voi esimerkiksi suorittaa matemaattisia ja rahoitukseen liittyviä laskutoimituksia, etsiä solujen arvoja, muokata merkkijonoja ja käyttää nykyistä päiväystä ja aikaa. Kullakin funktiolla on nimi, jonka perässä on sulkujen sisällä yksi tai useampi argumentti. Argumenteilla annetaan arvot, jotka funktio tarvitsee toimiakseen. Esimerkiksi seuraavassa kaavassa on funktio nimeltä SUMMA, jossa on yksi argumentti (solualue). Funktio laskee yhteen sarakkeen A rivien 2 - 10 arvot: =SUMMA(A2:A10): Argumenttien määrä ja tyyppi vaihtelevat kullakin funktiolla. Argumenttien määrä ja kuvaus on esitetty funktion yhteydessä kohdassa ”Funktioluokkien luettelo” sivulla 39. Kuvaukset sisältävät myös lisätietoja ja esimerkkejä kustakin funktiosta. Tietoja funktioista Lisätietoja aiheesta Siirry kohtaan Funktioiden määritelmissä käytettävä syntaksi ”Funktioiden määritelmissä käytettävät syntaksielementit ja termit” sivulla 32 Funktioiden käyttämät argumenttityypit ”Arvotyypit” sivulla 3433 Funktioluokat, kuten kesto ja tilastollinen ”Funktioluokkien luettelo” sivulla 39. Funktiot on lueteltu luokittain. iWorkin funktioiden yleiskatsaus 2 Lisätietoja aiheesta Siirry kohtaan Useille rahoitusfunktioille yhteiset argumentit ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 Täydentävät esimerkit ja aiheet ”Mukana muita esimerkkejä ja aiheita” sivulla 331 Funktioiden määritelmissä käytettävät syntaksielementit ja termit Funktiot kuvataan käyttäen tiettyjä syntaksielementtejä ja termejä. Termi tai symboli Merkitys isot kirjaimet Funktioiden nimet näytetään isoin kirjaimin kirjoitettuina. Funktion nimen voi kuitenkin kirjoittaa käyttäen mitä tahansa isojen ja pienten kirjainten yhdistelmää. sulut Funktion argumentit ovat sulkujen sisällä. Sulut ovat pakolliset, mutta joissakin tilanteissa iWork voi automaattisesti lisätä lopettavan sulkumerkin käyttäjän puolesta. kursiiviteksti Kursiiviteksti tarkoittaa, että argumentin nimi on korvattava arvolla, jota funktio käyttää tuloksen laskemiseen. Argumenteilla on arvotyyppi, kuten ”luku”, ”päiväys/aika” tai ”merkkijono”. Arvotyyppejä käsitellään kohdassa ”Arvotyypit” sivulla 34. pilkut ja puolipisteet Funktioiden syntaksikuvauksissa käytetään puolipisteitä argumenttien erottamiseen. Jos Kieli ja teksti -asetukset (Mac OS X 10.6 tai uudempi) tai Maakohtaiset-asetukset (Mac OS X:n aiemmat versiot) on asetettu käyttämään desimaalierottimena pilkkua, erota argumentit toisistaan pilkun sijasta puolipisteellä. kolme pistettä (…) Jos argumentin jäljessä on kolme pistettä, se voidaan toistaa niin monta kertaa, kuin on tarpeen. Mahdolliset rajoitukset kuvataan argumentin määritelmässä. matriisi Matriisi on funktion käyttämä tai funktion palauttama arvojen jono. 32 Luku 2 iWorkin funktioiden yleiskatsaus Luku 2 iWorkin funktioiden yleiskatsaus 33 Termi tai symboli Merkitys matriisivakio Matriisivakio on aaltosulkujen ({}) sisälle sijoitettu arvojen joukko ja se kirjoitetaan suoraan funktioon. Esimerkiksi {1; 2; 5; 7} tai {”31.12.2008”, ”15.3.2009”, ”20.8.2010”}. matriisifunktio Muutamia funktiota kutsutaan ”matriisifunktioiksi”, mikä tarkoittaa, että funktio palauttaa yksittäisen arvon sijaan arvomatriisin. Näitä funktioita käytetään tavallisesti antamaan arvoja toiselle funktiolle. ehtolauseke Ehtolauseke on lauseke, jonka tulos on looginen arvo TOSI tai EPÄTOSI. vakio Vakio on arvo, joka on määritelty suoraan kaavassa eikä sisällä funktiokutsuja tai funktioviittauksia. Esimerkiksi kaavassa =KETJUTA(”kissa”; ”t”) ”kissa” ja ”t” ovat vakioita. modaalinen argumentti Modaalinen argumentti on argumentti, jolla voi olla yksi useista mahdollisista määritellyistä arvoista. Yleensä modaaliset argumentit määrittelevät jotakin siitä, minkä tyyppisen laskutoimituksen funktio suorittaa tai siitä, minkä tyyppistä dataa funktio palauttaa. Jos modaalisella argumentilla on oletusarvo, se on määritelty argumentin kuvauksessa. ehto Ehto on lauseke, joka voi sisältää vertailuoperaattoreita, vakioita, merkkijonooperaattorin & ja viittauksia. Ehdon sisällön on oltava sellainen, että verrattaessa ehtoa arvoon tuloksena on looginen arvo TOSI tai EPÄTOSI. Lisätietoja ja esimerkkejä on kohdassa ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351. Arvotyypit Funktion argumentilla on tyyppi, joka määrittelee, minkä tyyppistä tietoa argumentti voi sisältää. Myös funktioiden palauttamat arvot ovat tiettyä tyyppiä. Arvotyyppi Kuvaus mikä tahansa Jos argumentin tyypiksi on määritelty ”mikä tahansa”, se voi olla looginen arvo, päiväys/aikaarvo, kestoarvo, lukuarvo tai merkkijonoarvo. looginen Tyypiltään looginen arvo TOSI (1) tai EPÄTOSI (0) tai viittaus soluun, joka sisältää tai antaa tulokseksi arvon TOSI tai EPÄTOSI. Se on yleensä tuloksena ehtolausekkeen suorittamisesta, mutta looginen arvo voidaan myös määritellä suoraan argumentiksi funktioon tai solun sisällöksi. Loogisia arvoja käytetään usein määrittelemään, minkä lausekkeen JOS-funktio palauttaa. joukko Argumentti, jonka tyyppi on joukko, voi olla viittaus yhteen taulukon solualueeseen, matriisivakio tai matriisifunktion palauttama matriisi. Argumentilla, jonka tyyppi on joukko, on lisäksi attribuutti, joka määrittelee, mikä tyyppisiä arvoja se voi sisältää. 34 Luku 2 iWorkin funktioiden yleiskatsaus Luku 2 iWorkin funktioiden yleiskatsaus 35 Arvotyyppi Kuvaus päiväys/aika Tämän tyypin arvo on päiväys/aika-arvo tai viittaus soluun, joka sisältää päiväys/aika-arvon jossakin iWorkin tukemassa muodossa. Jos päiväys/aika-arvo kirjoitetaan funktioon, sen molemmin puolin on käytettävä lainausmerkkejä. Voit valita, että solussa näkyy vain päiväys tai aika, mutta kaikkiin päiväys/aika-arvoihin sisältyy sekä päiväys että aika. Vaikka päiväykset voidaan useimmiten syöttää suoraan merkkijonoina (esim. ”31.12.2010”), PÄIVÄMÄÄRÄ-funktio varmistaa, että päiväys tulkitaan yhdenmukaisesti riippumatta Järjestelmäasetuksissa valitusta päiväysmuodosta (etsi Järjestelmäasetukset-ikkunassa hakusanoilla ”päiväys” tai ”päivämäärä”). Arvotyyppi Kuvaus kesto Kesto on ajan mitta tai viittaus soluun, joka sisältää ajan mitan. Kestoarvot koostuvat viikoista (vk tai viikkoa), päivistä (pv tai päivää), tunneista (t tai tuntia), minuuteista (m tai minuuttia), sekunneista (s tai sekuntia) ja millisekunneista (ms tai millisekuntia). Kestoarvo voidaan syöttää jommassakummassa muodossa. Ensimmäisessä muodossa on luvun perässä ajan mittayksikkö (esimerkiksi ttunneille) ja sen jälkeen mahdollisesti välilyönti ja samassa muodossa esitetty seuraava luku ja ajan mittayksikkö. Voit käyttää aikayksikön määrittelemiseen lyhennettä kuten ”t” tai koko nimeä kuten ”tuntia”. Esimerkiksi 12t 5pv 3m tarkoittaa 12 tuntia, 5 päivää ja 3 minuuttia. Aikayksiköitä ei tarvitse syöttää suuruusjärjestyksessä eikä välilyöntejä tarvita. 5p 5t toimii samoin kuin 5t5pv. Jos merkkijono kirjoitetaan suoraan kaavaan, sen molemmin puolin on lisättävä lainausmerkit, esimerkiksi ”12t 5pv 3m”. Kesto voidaan syöttää myös numerosarjana, jossa käytetään erottimina pisteitä. Mikäli on olemassa vaara, että kestoarvo voisi sekoittua päiväys/aika-arvoon, kannattaa tähän muotoon sisällyttää sekuntiargumentti, jossa millisekunnit on ilmoitettu desimaaleina. Desimaaliosa voi olla 0. Esimerkiksi 12.15.30,0 tarkoittaa kestoarvoa 12 tuntia, 15 minuuttia ja 30 sekuntia, kun taas 12.15.30 tarkoittaa kellonaikaa 12.15.30. 5.00,0 tarkoittaa tasan 5 minuuttia. Jos merkkijono kirjoitetaan suoraan funktioon, sen molemmin puolin on lisättävä lainausmerkit, esimerkiksi ”12.15.30,0” tai ”5.00,0”. Jos solun muotoilussa on asetettu tietty tapa keston esittämiseen, keston yksiköitä käytetään kyseisen esitystavan mukaisesti ja millisekunteja ei tarvitse määritellä. luettelo Luettelo on puolipisteillä erotettu joukko muita arvoja. Esimerkiksi, =VALITSE(3; ”1.”; ”toinen”; 7; ”viimeinen”). Joissakin tapauksissa luettelo voidaan laittaa toistenkin sulkujen sisään. Esimerkiksi =ALUEET((B1:B5; C10:C12)). 36 Luku 2 iWorkin funktioiden yleiskatsaus Luku 2 iWorkin funktioiden yleiskatsaus 37 Arvotyyppi Kuvaus modaalinen Modaalinen arvo on yksittäinen arvo, usein luku, joka edustaa modaalisen argumentin tiettyä tilaa. ”Modaalinen argumentti” on määritelty kohdassa ”Funktioiden määritelmissä käytettävät syntaksielementit ja termit” sivulla 32. luku lukuarvo on luku, numeerinen lauseke tai viittaus numeerisen lausekkeen sisältävään soluun. Jos luvun hyväksyttäville arvoille on olemassa rajoitus, (esimerkiksi jos luvun on oltava suurempi kuin 0), rajoitus sisältyy argumentin kuvaukseen. aluearvo Aluearvo on viittaus yhteen solualueeseen (joka voi olla yksi solu). Aluearvolla on lisäksi attribuutti, joka määrittelee, minkä tyyppisiä arvoja sen kuuluu sisältää. Tämä sisältyy argumentin kuvaukseen. Arvotyyppi Kuvaus viittaus Tämän tyypin arvo on viittaus yhteen soluun tai solualueeeseen. Jos alueeseen kuuluu enemmän kuin yksi solu, alueen ensimmäinen ja viimeinen solu on erotettu yhdellä kaksoispisteellä. Esimerkiksi =LASKE(A3:D7). Jos viittaus osoittaa toisen taulukon soluun ja solun nimi esiintyy kaikissa taulukoissa useammin kuin kerran, viitteen on sisällettävä taulukon nimi. Esimerkiksi =Taulukko 2::B2. Huomaa, että taulukon nimi ja soluviittaus on erotettu kahdella kaksoispisteellä (::). Jos taulukko on toisella välilehdellä ja solun nimi esiintyy kaikissa välilehdissä useammin kuin kerran, myös välilehden nimi on sisällytettävä. Esimerkiksi =SUMMA(Välilehti 2::Taulukko 1::C2:G2). Välilehden nimi, taulukon nimi ja soluviittaus on erotettu kahdella kaksoispisteellä. Jotkut funktiot, jotka hyväksyvät solualueita, voivat käyttää useampaan taulukkoon ulottuvia solualueita. Olettakaamme esimerkiksi, että avoimena olevassa tiedostossa on samalla välilehdellä kolme taulukkoa (Taulukko 1, Taulukko 2 ja Taulukko 3). Olettakaamme lisäksi, että jokaisen taulukon solussa C2 on luku 1. Useita taulukoita kattava kaava =SUMMA(Taulukko 1:Taulukko 2 :: C2) laskee yhteen solut C2 kaikista taulukoista Taulukon 1 ja Taulukon 2 välillä. Tulos on siis 2. Jos Taulukko 3 vedetään Taulukon 1 ja Taulukon 2 väliin sivupalkissa, funktio paluttaa arvon 3, koska se laskee nyt yhteen solut C2 kaikissa kolmessa taulukossa. (Taulukko 3 on Taulukon 1 ja Taulukon 2 välissä.) merkkijono Merkkijono koostuu nollasta tai useammasta merkistä tai on viittaus soluun, jossa on yksi tai useampi merkki. Merkit voivat olla mitä tahansa kirjoitettavissa olevia merkkejä, myös numeroita. Jos merkkijonoarvo kirjoitetaan kaavaan, sen molemmin puolin on lisättävä lainausmerkit. Jos merkkijonoarvolle on olemassa rajoitus, (esimerkiksi jos merkkijonon on tarkoitettava päivämäärää), rajoitus sisältyy argumentin kuvaukseen. 38 Luku 2 iWorkin funktioiden yleiskatsaus Luku 2 iWorkin funktioiden yleiskatsaus 39 Funktioluokkien luettelo Funktioluokkia on useita. Esimerkiksi jotkin funktiot suorittavat laskutoimituksia päiväys/aika-arvoilla, loogiset funktiot antavat tulokseksi loogisen arvon (TOSI tai EPÄTOSI) ja jotkin funktiot suorittavat rahoitukseen liittyviä laskutoimituksia. Kutakin funktioiden luokkaa käsitellään erillisessä luvussa. ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Kestofunktioiden luettelo” sivulla 62 ”Teknisten funktioiden luettelo” sivulla 69 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Numeeristen funktioiden luettelo” sivulla 163 ”Viittausfunktioiden luettelo” sivulla 201 ”Tilastofunktioiden luettelo” sivulla 220 ”Tekstifunktioiden luettelo” sivulla 298 ”Trigonometristen funktioiden luettelo” sivulla 317 Esimerkkien kopioiminen ja sijoittaminen ohjeista Monet ohjeiden esimerkit voidaan kopioida ja sijoittaa suoraan taulukkoon tai Numbersissa tyhjälle pohjalle. On kahdentyyppisiä esimerkkejä, joita voidaan kopioida ohjeista ja sijoittaa taulukkoon. Ensimmäiset ovat ohjeissa olevia yksittäisiä esimerkkejä. Kaikki tällaiset esimerkit alkavat yhtäsuuruusmerkillä (=). TUNTI-funktion ohjeissa on kaksi tällaista esimerkkiä. Jos haluat käyttää yhtä näistä esimerkeistä, valitse teksti yhtäsuuruusmerkistä alkaen esimerkin loppuun saakka. Kun teksti on korostettuna, voit kopioida sen ja sijoittaa sen sitten mihin tahansa taulukon soluun. Voit myös vetää valinnan esimerkistä ja pudottaa sen mihin tahansa taulukon soluun. Toinen mahdollinen esimerkkityyppi, joka voidaan kopioida, ovat ohjeisiin sisältyvät esimerkkitaulukot. Tämä on ohjeiden esimerkki KERTYNYT.KORKO-funktion taulukosta. Voit käyttää esimerkkitaulukkoa valitsemalla kaikki sen solut ensimmäinen rivi mukaan lukien. Kun tämä teksti on korostettu, se voidaan kopioida ja sijoittaa mihin tahansa taulukon soluun tai Numbersissa tyhjälle pohjalle. Tämän tyyppisessä esimerkissä ei voida käyttää vetämistä ja pudottamista. 40 Luku 2 iWorkin funktioiden yleiskatsaus 41 Päiväys- ja aikafunktiot auttavat käsittelemään päivämääriä ja kellonaikoja ja vaikkapa selvittämään kahden päiväyksen välisten arkipäivien määrän tai sen, mille viikonpäivälle päivämäärä osuu. Päiväys- ja aikafunktioiden luettelo iWork käyttää näitä päiväys- ja aikafunktioita yhdessä taulukoiden kanssa. Funktio Kuvaus ”PÄIVÄMÄÄRÄ” (sivu 43) PÄIVÄMÄÄRÄ-funktio yhdistää erilliset arvot vuodelle, kuukaudelle ja päivälle ja palauttaa päiväys/aika-arvon. Vaikka päiväykset voidaan useimmiten syöttää suoraan merkkijonoina (esim. ”31.12.2010”), PÄIVÄMÄÄRÄ-funktio varmistaa, että päiväys tulkitaan yhdenmukaisesti riippumatta Järjestelmäasetuksissa valitusta päiväysmuodosta (etsi Järjestelmäasetukset-ikkunassa hakusanoilla ”päiväys” tai ”päivämäärä”). ”PÄIVÄYSEROTUS” (sivu 44) PÄIVÄYSEROTUS-funktio palauttaa kahden päiväyksen välisten päivien, kuukausien tai vuosien lukumäärän. ”PÄIVÄYSARVO” (sivu 45) PÄIVÄYSARVO-funktio muuntaa päiväysmerkkijonon ja palauttaa päiväys/ aika-arvon. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muiden taulukkolaskentaohjelmien kanssa. Päiväys- ja aikafunktiot 3 Funktio Kuvaus ”PÄIVÄ” (sivu 46) PÄIVÄ-funktio palauttaa kuukaudenpäivän annetulle päiväys/aika-arvolle. ”PÄIVÄ.NIMI” (sivu 47) PÄIVÄ.NIMI-funktio palauttaa viikonpäivän nimen päiväys/aika-arvosta tai numerosta. Päivä 1 on sunnuntai. ”PÄIVÄT360” (sivu 48) PÄIVÄT360-funktio palauttaa kahden päiväyksen välisten päivien lukumäärät perustuen kahteentoista 30 päivän kuukauteen ja 360 päivän vuoteen. ”PÄIVÄ.KUUKAUSI” (sivu 49) PÄIVÄ.KUUKAUSI-funktio palauttaa päiväyksen, joka on tietty määrä kuukausia annetun päiväyksen jälkeen tai sitä ennen. ”KUUKAUSI.LOPPU” (sivu 49) KUUKAUSI.LOPPU-funktio palauttaa päiväyksen, joka on kuukauden viimeinen päivä tietty määrä kuukausia annetun päiväyksen jälkeen tai sitä ennen. ”TUNTI” (sivu 50) TUNTI-funktio palauttaa tunnin annetulle päiväys/aika-arvolle. ”MINUUTTI” (sivu 51) MINUUTTI-funktio palauttaa minuutit annetulle päiväys/aika-arvolle. ”KUUKAUSI” (sivu 52) KUUKAUSI-funktio palauttaa kuukauden annetulle päiväys/aika-arvolle. ”KUUKAUSI.NIMI” (sivu 52) KUUKAUSI.NIMI-funktio palauttaa kuukauden nimen numerosta. Kuukausi 1 on tammikuu. ”TYÖPÄIVÄT” (sivu 53) TYÖPÄIVÄT-funktio palauttaa kahden päiväyksen välisten työpäivien lukumäärän. Työpäiviin eivät sisälly viikonloput eivätkä muut määritellyt päivät. ”NYT” (sivu 54) NYT-funktio palauttaa nykyisen päiväys/aikaarvon järjestelmäkellosta. ”SEKUNNIT” (sivu 54) SEKUNNIT-funktio palauttaa sekunnit annetulle päiväys/aika-arvolle. ”AIKA” (sivu 55) AIKA-funktio muuntaa erilliset arvot tunneille, minuuteille ja sekunneille päiväys/aika-arvoon. ”AIKA_ARVO” (sivu 56) AIKA_ARVO-funktio palauttaa ajan desimaalilukuna 24 tunnin vuorokaudesta annetusta päiväys/aika-arvosta tai merkkijonosta. ”TÄNÄÄN” (sivu 56) TÄNÄÄN-funktio palauttaa nykyisen järjestelmäpäiväyksen. Aika on asetettu klo 12:een. 42 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 43 Funktio Kuvaus ”VIIKONPÄIVÄ” (sivu 57) VIIKONPÄIVÄ-funktio palauttaa numeron, joka on annetun päiväyksen viikonpäivä. ”VIIKKONRO” (sivu 58) VIIKKONRO-funktio palauttaa vuoden viikkonumeron annetulle päiväykselle. ”TYÖPÄIVÄ” (sivu 59) TYÖPÄIVÄ-funktio palauttaa päiväyksen, joka on annettu määrä työpäiviä annetun päiväyksen jälkeen tai sitä ennen. Työpäiviin eivät sisälly viikonloput eivätkä muut erikseen määritellyt arkipyhät. ”VUOSI” (sivu 60) VUOSI-funktio palauttaa vuoden annetulle päiväys/aika-arvolle. ”VUOSI.OSA” (sivu 60) VUOSI.OSA-funktio etsii vuoden desimaaliluvun kahden päiväyksen välisten kokonaisten päivien määrälle. PÄIVÄMÄÄRÄ PÄIVÄMÄÄRÄ-funktio yhdistää erilliset arvot vuodelle, kuukaudelle ja päivälle ja palauttaa päiväys/aika-arvon. Vaikka päiväykset voidaan useimmiten syöttää suoraan merkkijonoina (esim. ”31.12.2010”), PÄIVÄMÄÄRÄ-funktio varmistaa, että päiväys tulkitaan yhdenmukaisesti riippumatta Järjestelmäasetuksissa valitusta päiväysmuodosta (etsi Järjestelmäasetukset-ikkunassa hakusanoilla ”päiväys” tai ”päivämäärä”). PÄIVÄMÄÄRÄ(vuosi; kuukausi; päivä) ÂÂ vuosi:  Palautettavaan arvoon sisällytettävä vuosi. vuosi on numeroarvo. Arvoa ei muunneta. Kun määrität 10, käytetään vuotta 10, ei vuotta 1910 eikä 2010. ÂÂ kuukausi:  Palautettavaan arvoon sisällytettävä kuukausi. kuukausi on luku ja sen tulisi olla 1 ja 12 välillä. ÂÂ päivä:  Palautettavaan arvoon sisällytettävä päivä. päivä on numeroarvo ja sen tulisi olla 1 ja kuukaudessa olevien päivien enimmäismäärän välillä. Esimerkkejä Jos A1 sisältää 2014, A2 sisältää 11 ja A3 sisältää 10: =PÄIVÄMÄÄRÄ(A1; A2; A3) palauttaa 10.11.2014, joka esitetään solun nykyisen muodon mukaisesti. =PÄIVÄMÄÄRÄ(A1; A3; A2) palauttaa 11.10.2014. =PÄIVÄMÄÄRÄ(2012; 2; 14) palauttaa 14.2.2012. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESTO” sivulla 67 ”AIKA” sivulla 55 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PÄIVÄYSEROTUS PÄIVÄYSEROTUS-funktio palauttaa kahden päiväyksen välisten päivien, kuukausien tai vuosien lukumäärän. PÄIVÄYSEROTUS(aloitus-päiväys; päättymis-päiväys; laskentatapa) ÂÂ aloitus-päiväys:  Alkamispäivä. aloitus-päiväys on päiväys/aika-arvo. ÂÂ päättymis-päiväys:  Päättymispäivä. päättymis-päiväys on päiväys/aika-arvo. ÂÂ laskentatapa:  Määrittelee miten aikaero ilmaistaan ja kuinka eri vuosien tai kuukausien päivämääriä käsitellään. ”PV”:  Laskee päivien määrän aloitus- ja päättymispäivien välillä. ”KK”:  Laskee kuukausien määrän aloitus- ja päättymispäivien välillä. ”V”:  Laskee vuosien määrän aloitus- ja päättymispäivien välillä. ”KKPV”:  Laskee päivät aloitus- ja päättymispäivien välillä ohittaen kuukaudet ja vuodet. Päättymis-päiväyksen kuukautta pidetään aloitus-päiväyksen kuukautena. Jos aloituspäivä on päättymispäivän jälkeen, laskenta alkaa päättymispäivästä, jota pidetään edellisen kuukauden samana päiväyksenä. Päättymis-päiväyksen vuotta käytetään karkausvuosien tarkistamiseen. ”VKK”:  Laskee kokonaisten kuukausien määrän aloitus- ja päättymispäivien välillä ohittaen vuodet. Jos aloituskuukausi/päivä on ennen päättymiskuukautta/päivää, päiväyksiä pidetään saman vuoden päiväyksinä. Jos aloituskuukausi/päivä on päättymiskuukauden/päivän jälkeen, päiväyksiä käsitellään peräkkäisten vuosien päiväyksinä. ”VPV”:  Laskee päivien määrän aloitus- ja päättymispäivien välillä ohittaen vuodet. Jos aloituskuukausi/päivä on ennen päättymiskuukautta/päivää, päiväyksiä pidetään saman vuoden päiväyksinä. Jos aloituskuukausi/päivä on päättymiskuukauden/ päivän jälkeen, päiväyksiä käsitellään peräkkäisten vuosien päiväyksinä. 44 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 45 Esimerkkejä Jos A1 sisältää päiväys/aika-arvon 6.4.88 ja A2 sisältää päiväys/aika-arvon 30.10.06: =PÄIVÄYSEROTUS(A1; A2; ”PV”) palauttaa 6781, eli 6. huhtikuuta 1988 ja 30. lokakuuta 2006 välisten päivien määrän. =PÄIVÄYSEROTUS(A1; A2; ”KK”) palauttaa 222, eli 6. huhtikuuta 1988 ja 30. lokakuuta 2006 välisten kokonaisten kuukausien määrän. =PÄIVÄYSEROTUS(A1; A2; ”V”) palauttaa 18, eli 6. huhtikuuta 1988 ja 30. lokakuuta 2006 välisten kokonaisten vuosien määrän. =PÄIVÄYSEROTUS(A1; A2; ”KKPV”) palauttaa 24, eli saman kuukauden 6. ja 30. päivän välisten päivien määrän. =PÄIVÄYSEROTUS(A1; A2; ”VKK”) palauttaa 6, eli saman vuoden huhtikuun ja lokakuun välisten kuukausien määrän. =PÄIVÄYSEROTUS(A1; A2; ”VPV”) palauttaa 207, eli saman vuoden 6. huhtikuuta ja 30. lokakuuta välisten päivien määrän. =PÄIVÄYSEROTUS(”06.04.1988”; NYT(); ”V”) & ” vuotta, ” & PÄIVÄYSEROTUS(”06.04.1988”; NYT(); ”VKK”) & ” kuukautta ja ” & PÄIVÄYSEROTUS(”06.04.1988”; NYT(); ”KKPV”) & ” päivää” palauttaa 6. huhtikuuta 1988 syntyneen henkilön nykyisen iän. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄT360” sivulla 48 ”TYÖPÄIVÄT” sivulla 53 ”NYT” sivulla 54 ”VUOSI.OSA” sivulla 60 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PÄIVÄYSARVO PÄIVÄYSARVO-funktio muuntaa päiväysmerkkijonon ja palauttaa päiväys/ aika-arvon. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muiden taulukkolaskentaohjelmien kanssa. PÄIVÄYSARVO(päiväys-teksti) ÂÂ päiväys-teksti Muunnettava päiväysmerkkijono. päiväys-teksti on merkkijonoarvo. Sen on oltava lainausmerkeissä oleva päiväys tai päiväys/aika-arvo. Jos päiväys-teksti ei ole oikea päiväys, palautetaan virhe. Esimerkkejä Jos solu B1 sisältää päiväys/aika-arvon 2. elokuuta 1979 06.30.00 ja solu C1 sisältää merkkijonon 16.10.2008: =PÄIVÄYSARVO(B1) palauttaa 2.8.1979, ja sitä käsitellään päiväysarvona, jos sihen viitataan muissa kaavoissa. Arvo palautetaan nykyisen solumuodon mukaisesti muotoiltuna. Arvon Automaattinen mukaisesti muotoiltu solu käyttää Järjestelmäasetuksissa valittua päiväysmuotoa (etsi Järjestelmäasetukset-ikkunassa hakusanoilla ”päiväys” tai ”päivämäärä”). =PÄIVÄYSARVO(A1; A3; A2) palauttaa 16.10.2008. =PÄIVÄYSARVO("29.12.1974") palauttaa 29.12.1974. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄMÄÄRÄ” sivulla 43 ”AIKA” sivulla 55 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PÄIVÄ PÄIVÄ-funktio palauttaa kuukaudenpäivän annetulle päiväys/aika-arvolle. PÄIVÄ(päiväys) ÂÂ päiväys:  Päivämäärä, jota funktion tulisi käyttää. päiväys on päiväys/aika-arvo. Tämä funktio ohittaa aikaosuuden. Esimerkkejä =PÄIVÄ(”6.4.88 23.59.22”) palauttaa 6. =PÄIVÄ(“12.5.2009”) palauttaa 12. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: 46 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 47 ”PÄIVÄ.NIMI” sivulla 47 ”TUNTI” sivulla 50 ”MINUUTTI” sivulla 51 ”KUUKAUSI” sivulla 52 ”SEKUNNIT” sivulla 54 ”VUOSI” sivulla 60 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PÄIVÄ.NIMI PÄIVÄ.NIMI-funktio palauttaa viikonpäivän nimen päiväys/aika-arvosta tai numerosta. Päivä 1 on sunnuntai. PÄIVÄ.NIMI(päiväys-luku) ÂÂ päiväys-luku Haluttu viikonpäivä. päiväys-luku on päiväys/aika-arvo tai numeroarvo 1 ja 7 välillä. Jos päiväys-luvulla on desimaaliosuus, se jätetään huomioimatta. Esimerkkejä Jos B1 sisältää päiväys/aika-arvon 2. elokuuta 1979 06.30.00, C1 sisältää merkkijonon 16.10.2008 ja D1 sisältää 6: =PÄIVÄ.NIMI(B1) palauttaa torstain. =PÄIVÄ.NIMI(C1) palauttaa torstain. =PÄIVÄ.NIMI(D1) palauttaa perjantain. =PÄIVÄ("29.12.1974") palauttaa sunnuntain. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ” sivulla 46 ”KUUKAUSI.NIMI” sivulla 52 ”VIIKONPÄIVÄ” sivulla 57 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PÄIVÄT360 PÄIVÄT360-funktio palauttaa kahden päiväyksen välisten päivien lukumäärän perustuen kahteentoista 30 päivän kuukauteen ja 360 päivän vuoteen. PÄIVÄT360(aloitus-päiväys; päättymis-päiväys; käytä euro-menetelmää) ÂÂ aloitus-päiväys:  Alkamispäivä. aloitus-päiväys on päiväys/aika-arvo. ÂÂ päättymis-päiväys:  Päättymispäivä. päättymis-päiväys on päiväys/aika-arvo. ÂÂ käytä euro-menetelmää:  Valinnainen arvo, joka määrittelee käytetäänkö NASD- vai eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. NASD-menetelmä (0, EPÄTOSI tai jätetty pois):  Käytä NASD-tapaa päivämäärille, jotka osuvat kuukauden 31. päivälle. EURO-menetelmä (1 tai TOSI):  Käytä eurooppalaista tapaa päivämäärille, jotka osuvat kuukauden 31. päivälle. Esimerkkejä =PÄIVÄT360(”20.12.2008”; ”31.3.2009”) palauttaa 101pv. =PÄIVÄT360(”27.2.2008”; ”31.3.2009”;0) palauttaa 394pv. =PÄIVÄT360(”27.2.2008”; ”31.3.2009”;1) palauttaa 393pv käyttäen eurooppalaista laskentatapaa. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄYSEROTUS” sivulla 44 ”TYÖPÄIVÄT” sivulla 53 ”VUOSI.OSA” sivulla 60 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 48 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 49 PÄIVÄ.KUUKAUSI PÄIVÄ.KUUKAUSI-funktio palauttaa päiväyksen, joka on tietty määrä kuukausia annetun päiväyksen jälkeen tai sitä ennen. PÄIVÄ.KUUKAUSI(aloitus-päiväys; kuukausisiirtymä) ÂÂ aloitus-päiväys:  Alkamispäivä. aloitus-päiväys on päiväys/aika-arvo. ÂÂ kuukausisiirtymä Kuukausien määrä alkamispäivää ennen tai jälkeen. kuukausisiirtymä on numeroarvo. Negatiivista kuukausisiirtymää käytetään aloituspäivää edeltävien kuukausien määrän määrittämiseen ja positiivista kuukausisiirtymää käytetään aloituspäivän jälkeisten kuukausien määrän määrittämiseen. Esimerkkejä =PÄIVÄ.KUUKAUSI(”15.1.2000”; 1) palauttaa 15.2.2000, sama päiväys kuukautta myöhemmin. =PÄIVÄ.KUUKAUSI(”15.1.2000”; -24) palauttaa 15.1.1998, sama päiväys 24 kuukautta aikaisemmin. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KUUKAUSI.LOPPU” sivulla 49 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KUUKAUSI.LOPPU KUUKAUSI.LOPPU-funktio palauttaa päiväyksen, joka on kuukauden viimeinen päivä tietty määrä kuukausia annetun päiväyksen jälkeen tai sitä ennen. KUUKAUSI.LOPPU(aloitus-päiväys; kuukausisiirtymä) ÂÂ aloitus-päiväys:  Alkamispäivä. aloitus-päiväys on päiväys/aika-arvo. ÂÂ kuukausisiirtymä Kuukausien määrä alkamispäivää ennen tai jälkeen. kuukausisiirtymä on numeroarvo. Negatiivista kuukausisiirtymää käytetään aloituspäivää edeltävien kuukausien määrän määrittämiseen ja positiivista kuukausisiirtymää käytetään aloituspäivän jälkeisten kuukausien määrän määrittämiseen. Esimerkkejä =KUUKAUSI.LOPPU(”15.5.2010”; 5) palauttaa 31. lokakuuta 2010, kuukauden viimeisen päivän viisi kuukautta toukokuun 2010 jälkeen. =KUUKAUSI.LOPPU(”15.5.2010”; -5) palauttaa 31. joulukuuta 2009, kuukauden viimeisen päivän viisi kuukautta ennen toukokuuta 2010. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ.KUUKAUSI” sivulla 49 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TUNTI TUNTI-funktio palauttaa tunnin annetulle päiväys/aika-arvolle. TUNTI(aika) ÂÂ aika:  Aika, jota funktion tulisi käyttää. aika on päiväys/aika-arvo. Tämä funktio ohittaa päiväysosuuden. Käyttöohjeita ÂÂ Palautettu tunti on 24 tunnin muodossa. Esimerkkejä =TUNTI(NYT()) palauttaa päivän nykyisen tunnin. =TUNTI(”6.4.99 11.59.22”) palauttaa 11. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ” sivulla 46 ”MINUUTTI” sivulla 51 ”KUUKAUSI” sivulla 52 ”SEKUNNIT” sivulla 54 ”VUOSI” sivulla 60 50 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 51 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MINUUTTI MINUUTTI-funktio palauttaa minuutit annetulle päiväys/aika-arvolle. MINUUTTI(aika) ÂÂ aika:  Aika, jota funktion tulisi käyttää. aika on päiväys/aika-arvo. Tämä funktio ohittaa päiväysosuuden. Esimerkki =MINUUTTI(”6.4.88 11.59.22”) palauttaa 59. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ” sivulla 46 ”TUNTI” sivulla 50 ”KUUKAUSI” sivulla 52 ”SEKUNNIT” sivulla 54 ”VUOSI” sivulla 60 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KUUKAUSI KUUKAUSI-funktio palauttaa kuukauden annetulle päiväys/aika-arvolle. KUUKAUSI(päiväys) ÂÂ päiväys:  Päivämäärä, jota funktion tulisi käyttää. päiväys on päiväys/aika-arvo. Tämä funktio ohittaa aikaosuuden. Esimerkki =KUUKAUSI(”6. huhtikuuta 1988 11.59.22”) palauttaa 4. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ” sivulla 46 ”TUNTI” sivulla 50 ”MINUUTTI” sivulla 51 ”KUUKAUSI.NIMI” sivulla 52 ”SEKUNNIT” sivulla 54 ”VUOSI” sivulla 60 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KUUKAUSI.NIMI KUUKAUSI.NIMI-funktio palauttaa kuukauden nimen numerosta. Kuukausi 1 on tammikuu. KUUKAUSI.NIMI(kuukausiluku) ÂÂ kuukausiluku:  Haluttu kuukausi. kuukausiluku on numeroarvo ja sen on oltava 1 ja 12 välillä. Jos kuukausiluvulla on desimaaliosuus, se jätetään huomioimatta. Esimerkkejä =KUUKAUSI.NIMI(9) palauttaa syyskuun. =KUUKAUSI.NIMI(6) palauttaa kesäkuun. 52 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 53 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ.NIMI” sivulla 47 ”KUUKAUSI” sivulla 52 ”VIIKONPÄIVÄ” sivulla 57 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TYÖPÄIVÄT TYÖPÄIVÄT-funktio palauttaa kahden päiväyksen välisten työpäivien lukumäärän. Työpäiviin eivät sisälly viikonloput eivätkä muut määritellyt päivät. TYÖPÄIVÄT(aloitus-päiväys; päättymis-päiväys; ohita päiväykset) ÂÂ aloitus-päiväys:  Alkamispäivä. aloitus-päiväys on päiväys/aika-arvo. ÂÂ päättymis-päiväys:  Päättymispäivä. päättymis-päiväys on päiväys/aika-arvo. ÂÂ ohita päiväykset:  Valinnainen päivämääräjoukko, jota ei sisällytetä määrään. ohita päiväykset on joukko päiväys/aika-arvoja. Esimerkki =TYÖPÄIVÄT(”1.11.2009”; ”30.11.2009”; {”11.11.2009”;”26.11.2009”}) palauttaa 19pv, marraskuun 2009 työpäivien määrän poislukien viikonloput ja kaksi erikseen määriteltyä arkipyhää. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄYSEROTUS” sivulla 44 ”PÄIVÄT360” sivulla 48 ”TYÖPÄIVÄ” sivulla 59 ”VUOSI.OSA” sivulla 60 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NYT NYT-funktio palauttaa nykyisen päiväys/aika-arvon järjestelmäkellosta. NYT() Käyttöohjeita ÂÂ NYT-funktiolla ei ole argumentteja. Sinun on kuitenkin lisättävä sulut: =NYT(). Esimerkki =NYT() palauttaa 4.10.2008 10.47, jos tiedosto on päivitetty 4. lokakuuta 2008 klo 10.47. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TÄNÄÄN” sivulla 56 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SEKUNNIT SEKUNNIT-funktio palauttaa sekunnit annetulle päiväys/aika-arvolle. SEKUNNIT(aika) ÂÂ aika:  Aika, jota funktion tulisi käyttää. aika on päiväys/aika-arvo. Tämä funktio ohittaa päiväysosuuden. Esimerkki =SEKUNNIT(”6.4.88 11.59.22”) palauttaa 22. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ” sivulla 46 54 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 55 ”TUNTI” sivulla 50 ”MINUUTTI” sivulla 51 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 AIKA AIKA-funktio muuntaa erilliset arvot tunneille, minuuteille ja sekunneille päiväys/aikaarvoon. AIKA(tuntia; minuuttia; sekuntia) ÂÂ tuntia:  Palautettavaan arvoon sisällytettävät tunnit. tuntia on numeroarvo. Jos tuntiluvulla on desimaaliosuus, se jätetään huomioimatta. ÂÂ minuuttia:  Palautettavaan arvoon sisällytettävät minuutit. minuuttia on numeroarvo. Jos minuuttiluvulla on desimaaliosuus, se jätetään huomioimatta. ÂÂ sekuntia:  Palautettavaan arvoon sisällytettävät sekunnit. sekuntia on numeroarvo. Jos sekuntiluvulla on desimaaliosuus, se jätetään huomioimatta. Käyttöohjeita ÂÂ Voit määritellä tunti-, minuutti- ja sekuntiarvoja, jotka ovat suurempia kuin 24, 60 ja 60. Jos tunnit, minuutit ja sekunnit ovat yhteensä yli 24 tuntia, summasta vähennetään 24 tuntia toistuvasti, kunnes arvo on alle 24 tuntia. Esimerkkejä =AIKA(12; 0; 0) palauttaa 0.00. =AIKA(16; 45; 30) palauttaa 16.45. =AIKA(0; 900; 0) palauttaa 15.00. =AIKA(60; 0; 0) palauttaa 0.00. =AIKA(4,25; 0; 0) palauttaa 4.00. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄMÄÄRÄ” sivulla 43 ”PÄIVÄYSARVO” sivulla 45 ”KESTO” sivulla 67 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 AIKA_ARVO AIKA_ARVO-funktio palauttaa ajan desimaalilukuna 24 tunnin vuorokaudesta annetusta päiväys/aika-arvosta tai merkkijonosta. AIKA_ARVO(aika) ÂÂ aika:  Aika, jota funktion tulisi käyttää. aika on päiväys/aika-arvo. Tämä funktio ohittaa päiväysosuuden. Esimerkkejä =AIKA_ARVO(”6.4.88 12.00”) palauttaa 0,5 (keskipäivä on puolet vuorokaudesta). =AIKA_ARVO(”12.00.59”) palauttaa 0,5007 (pyöristetty neljän desimaalin tarkkuuteen). =AIKA_ARVO(”21.00”) palauttaa 0,875 (21 tuntia tai klo 21.00 jaettuna 24:llä). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TÄNÄÄN TÄNÄÄN-funktio palauttaa nykyisen järjestelmäpäiväyksen. Aika on asetettu klo 12:een. TÄNÄÄN() Käyttöohjeita ÂÂ TÄNÄÄN-funktiolla ei ole argumentteja. Sinun on kuitenkin lisättävä sulut: =TÄNÄÄN(). ÂÂ Esitettyä päivämäärää päivitetään aina, kun tiedosto avataan tai sitä muutetaan. 56 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 57 ÂÂ Voit käyttää NYT-funktiota nykyisen päiväyksen ja kellonajan saamiseen ja solun muotoilemiseen siten, että se näyttää molemmat. Esimerkki =TÄNÄÄN() palauttaa 6. huhtikuuta 2008, jos se on laskettu 6. huhtikuuta 2008. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”NYT” sivulla 54 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VIIKONPÄIVÄ VIIKONPÄIVÄ-funktio palauttaa numeron, joka on annetun päiväyksen viikonpäivä. VIIKONPÄIVÄ(päiväys; ensimmäinen päivä) ÂÂ päiväys:  Päivämäärä, jota funktion tulisi käyttää. päiväys on päiväys/aika-arvo. Tämä funktio ohittaa aikaosuuden. ÂÂ ensimmäinen päivä:  Valinnainen arvo, joka määrittelee päivien numeroinnin. Sunnuntai on 1 (1 tai jätetty pois):  Sunnuntai on viikon ensimmäinen päivä (päivä 1) ja lauantai on päivä 7. Maanantai on 1 (2):  Maanantai on viikon ensimmäinen päivä (päivä 1) ja sunnuntai on päivä 7. Maanantai on 0 (3):  Maanantai on viikon ensimmäinen päivä (päivä 0) ja sunnuntai on päivä 6. Esimerkkejä =VIIKONPÄIVÄ(”6. huhtikuuta 1988”; 1) palauttaa 4 (keskiviikko, neljäs päivä, jos lasketaan siten, että sunnuntai on päivä 1). =VIIKONPÄIVÄ(”6. huhtikuuta 1988”) palauttaa saman arvon kuin edellisessä esimerkissä (käytetään numerointimallia 1, jos numerointimalliargumenttia ei ole määritelty). =VIIKONPÄIVÄ(”6. huhtikuuta 1988”; 2) palauttaa 3 (keskiviikko, kolmas päivä, jos lasketaan siten, että sunnuntai on päivä 1). =VIIKONPÄIVÄ(”6. huhtikuuta 1988”; 3) palauttaa 2 (keskiviikko, toinen päivä, jos lasketaan siten, että sunnuntai on päivä 0). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ.NIMI” sivulla 47 ”KUUKAUSI.NIMI” sivulla 52 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VIIKKONRO VIIKKONRO-funktio palauttaa vuoden viikkonumeron annetulle päiväykselle. VIIKKONRO(päiväys; ensimmäinen päivä) ÂÂ päiväys:  Päivämäärä, jota funktion tulisi käyttää. päiväys on päiväys/aika-arvo. Tämä funktio ohittaa aikaosuuden. ÂÂ ensimmäinen päivä:  Valinnainen arvo, joka määrittelee alkaako viikko sunnuntaina vai maanantaina. Sunnuntai on 1 (1 tai jätetty pois):  Sunnuntai on viikon ensimmäinen päivä (päivä 1) ja lauantai on päivä 7. Maanantai on 1 (2):  Maanantai on viikon ensimmäinen päivä (päivä 1) ja sunnuntai on päivä 7. Esimerkki =VIIKKONRO(”12.7.2009”;1) palauttaa 29. =VIIKKONRO(”12.7.2009”;2) palauttaa 28. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ” sivulla 46 ”TUNTI” sivulla 50 ”MINUUTTI” sivulla 51 ”KUUKAUSI” sivulla 52 ”SEKUNNIT” sivulla 54 58 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 59 ”VUOSI” sivulla 60 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TYÖPÄIVÄ TYÖPÄIVÄ-funktio palauttaa päiväyksen, joka on annettu määrä työpäiviä annetun päiväyksen jälkeen tai sitä ennen. Työpäiviin eivät sisälly viikonloput eivätkä muut erikseen määritellyt arkipyhät. TYÖPÄIVÄ(päiväys, työpäivät, ohita päiväykset) ÂÂ päiväys:  Päivämäärä, jota funktion tulisi käyttää. päiväys on päiväys/aika-arvo. Tämä funktio ohittaa aikaosuuden. ÂÂ työpäivät:  Työpäivien määrä ennen tai jälkeen annetun päivämäärän. työpäivät on numeroarvo. Se on positiivinen, jos haluttu päiväys on päiväyksen jälkeen ja negatiivinen, jos haluttu päiväys on ennen päiväystä. ÂÂ ohita päiväykset:  Valinnainen päivämääräjoukko, jota ei sisällytetä määrään. ohita päiväykset on joukko päiväys/aika-arvoja. Esimerkki =TYÖPÄIVÄ(”1.11.2009”; 20; {”11.11.2009”;”26.11.2009”}) palauttaa 1. joulukuuta 2009, työpäivän, joka on 20 päivää 1. marraskuuta 2009 jälkeen, kun jätetään huomioimatta viikonloput ja kaksi erikseen määriteltyä arkipyhää. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TYÖPÄIVÄT” sivulla 53 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VUOSI VUOSI-funktio palauttaa vuoden annetulle päiväys/aika-arvolle. VUOSI(päiväys) ÂÂ päiväys:  Päivämäärä, jota funktion tulisi käyttää. päiväys on päiväys/aika-arvo. Tämä funktio ohittaa aikaosuuden. Esimerkkejä =VUOSI(”6. huhtikuuta 2008”) palauttaa 2008. =VUOSI(NYT()) palauttaa 2009, kun arviointi tehdään 4. kesäkuuta 2009. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄ” sivulla 46 ”TUNTI” sivulla 50 ”MINUUTTI” sivulla 51 ”KUUKAUSI” sivulla 52 ”SEKUNNIT” sivulla 54 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VUOSI.OSA VUOSI.OSA-funktio etsii vuoden desimaaliluvun, jota edustaa kahden päiväyksen välisten kokonaisten päivien määrä. VUOSI.OSA(aloitus-päiväys; päättymis-päiväys; päivien laskentaperuste) ÂÂ aloitus-päiväys:  Alkamispäivä. aloitus-päiväys on päiväys/aika-arvo. ÂÂ päättymis-päiväys:  Päättymispäivä. päättymis-päiväys on päiväys/aika-arvo. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. 60 Luku 3 Päiväys- ja aikafunktiot Luku 3 Päiväys- ja aikafunktiot 61 todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkkejä =VUOSI.OSA(”15.12.2009”; ”30.6.2010”;0) palauttaa 0,541666667. =VUOSI.OSA(”15.12.2009”; ”30.6.2010”;1) palauttaa 0,539726027. =VUOSI.OSA(”15.12.2009”; ”30.6.2010”;2) palauttaa 0,547222222. =VUOSI.OSA(”15.12.2009”; ”30.6.2010”;3) palauttaa 0,539726027. =VUOSI.OSA(”15.12.2009”; ”30.6.2010”;4) palauttaa 0,541666667. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄYSEROTUS” sivulla 44 ”PÄIVÄT360” sivulla 48 ”TYÖPÄIVÄT” sivulla 53 ”Päiväys- ja aikafunktioiden luettelo” sivulla 41 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 62 Kestofunktioiden avulla voidaan käsitellä aikavälejä (kestoja) muuntamalla erilaisia aikajaksoja, kuten tunteja, päiviä ja viikkoja. Kestofunktioiden luettelo iWorkin kestofunktioita voidaan käyttää taulukoiden kanssa. Funktio Kuvaus ”KESTO.PÄIVÄT” (sivu 63) KESTO.PÄIVÄT-funktio muuntaa kestoarvon päiviksi. ”KESTO.TUNNIT” (sivu 63) KESTO.TUNNIT-funktio muuntaa kestoarvon tunneiksi. ”KESTO.MILLISEKUNNIT” (sivu 64) KESTO.MILLISEKUNNIT-funktio muuntaa kestoarvon millisekunneiksi. ”KESTO.MINUUTIT” (sivu 65) KESTO.MINUUTIT-funktio muuntaa kestoarvon minuuteiksi. ”KESTO.SEKUNNIT” (sivu 65) KESTO.SEKUNNIT-funktio muuntaa kestoarvon sekunneiksi. ”KESTO.VIIKOT” (sivu 66) KESTO.VIIKOT-funktio muuntaa kestoarvon viikoiksi. ”KESTO” (sivu 67) KESTO-funktio yhdistää erilliset viikkojen, päivien, tuntien, minuuttien, sekuntien ja millisekuntien arvot ja palauttaa kestoarvon. ”RIISU.KESTO” (sivu 68) RIISU.KESTO-funktio arvioi annetun arvon ja palauttaa joko päivien määrän (mikäli kestoarvo) tai annetun arvon. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muiden taulukkolaskentaohjelmien kanssa. Kestofunktiot 4 Luku 4 Kestofunktiot 63 KESTO.PÄIVÄT KESTO.PÄIVÄT-funktio muuntaa kestoarvon päiviksi. KESTO.PÄIVÄT(kesto) ÂÂ kesto:  Muunnettavan ajan pituus. kesto on kestoarvo. Esimerkkejä =KESTO.PÄIVÄT(”2vk 3pv 2t 10m 0s 5ms”) palauttaa 17,09027784. =KESTO.PÄIVÄT(”10.0.13.00.05.500”) palauttaa 70,5417302. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESTO.TUNNIT” sivulla 63 ”KESTO.MILLISEKUNNIT” sivulla 64 ”KESTO.MINUUTIT” sivulla 65 ”KESTO.SEKUNNIT” sivulla 65 ”KESTO.VIIKOT” sivulla 66 ”Kestofunktioiden luettelo” sivulla 62 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESTO.TUNNIT KESTO.TUNNIT-funktio muuntaa kestoarvon tunneiksi. KESTO.TUNNIT(kesto) ÂÂ kesto:  Muunnettavan ajan pituus. kesto on kestoarvo. Esimerkkejä =KESTO.TUNNIT(”2vk 3pv 2t 10m 0s 5ms”) palauttaa 410,1666681. =KESTO.TUNNIT(”10.0.13.00.05.500”) palauttaa 1693,001528. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESTO.PÄIVÄT” sivulla 63 ”KESTO.MILLISEKUNNIT” sivulla 64 ”KESTO.MINUUTIT” sivulla 65 ”KESTO.SEKUNNIT” sivulla 65 ”KESTO.VIIKOT” sivulla 66 ”Kestofunktioiden luettelo” sivulla 62 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESTO.MILLISEKUNNIT KESTO.MILLISEKUNNIT-funktio muuntaa kestoarvon millisekunneiksi. KESTO.MILLISEKUNNIT(kesto) ÂÂ kesto:  Muunnettavan ajan pituus. kesto on kestoarvo. Esimerkkejä =KESTO.MILLISEKUNNIT(”2vk 3pv 2t 10m 0s 5ms”) palauttaa 1476600005. =KESTO.MILLISEKUNNIT(”10.0.13.00.05.500”) palauttaa 6094805500. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESTO.PÄIVÄT” sivulla 63 ”KESTO.TUNNIT” sivulla 63 ”KESTO.MINUUTIT” sivulla 65 ”KESTO.SEKUNNIT” sivulla 65 ”KESTO.VIIKOT” sivulla 66 ”Kestofunktioiden luettelo” sivulla 62 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 64 Luku 4 Kestofunktiot Luku 4 Kestofunktiot 65 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESTO.MINUUTIT KESTO.MINUUTIT-funktio muuntaa kestoarvon minuuteiksi. KESTO.MINUUTIT(kesto) ÂÂ kesto:  Muunnettavan ajan pituus. kesto on kestoarvo. Esimerkkejä =KESTO.MINUUTIT(”2vk 3pv 2t 10m 0s 5ms”) palauttaa 24610,0000833333. =KESTO.MINUUTIT(”10.0.13.00.05.500”) palauttaa 101580,091666667. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESTO.PÄIVÄT” sivulla 63 ”KESTO.TUNNIT” sivulla 63 ”KESTO.MILLISEKUNNIT” sivulla 64 ”KESTO.SEKUNNIT” sivulla 65 ”KESTO.VIIKOT” sivulla 66 ”Kestofunktioiden luettelo” sivulla 62 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESTO.SEKUNNIT KESTO.SEKUNNIT-funktio muuntaa kestoarvon sekunneiksi. KESTO.SEKUNNIT(kesto) ÂÂ kesto:  Muunnettavan ajan pituus. kesto on kestoarvo. Esimerkkejä =KESTO.SEKUNNIT(”2vk 3pv 2t 10m 0s 5ms”) palauttaa 1476600,005. =KESTO.SEKUNNIT(”10.0.13.00.05.500”) palauttaa 6094805,5. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESTO.PÄIVÄT” sivulla 63 ”KESTO.TUNNIT” sivulla 63 ”KESTO.MILLISEKUNNIT” sivulla 64 ”KESTO.MINUUTIT” sivulla 65 ”KESTO.VIIKOT” sivulla 66 ”Kestofunktioiden luettelo” sivulla 62 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESTO.VIIKOT KESTO.VIIKOT-funktio muuntaa kestoarvon viikoiksi. KESTO.VIIKOT(kesto) ÂÂ kesto:  Muunnettavan ajan pituus. kesto on kestoarvo. Esimerkkejä =KESTO.VIIKOT(”2vk 3pv 2t 10m 0s 5ms”) palauttaa 2,44146826223545. =KESTO.VIIKOT(”10.0.13.00.05.500”) palauttaa 10,0773900462963. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESTO.PÄIVÄT” sivulla 63 ”KESTO.TUNNIT” sivulla 63 ”KESTO.MILLISEKUNNIT” sivulla 64 ”KESTO.MINUUTIT” sivulla 65 ”KESTO.SEKUNNIT” sivulla 65 ”Kestofunktioiden luettelo” sivulla 62 ”Arvotyypit” sivulla 34 66 Luku 4 Kestofunktiot Luku 4 Kestofunktiot 67 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESTO KESTO-funktio yhdistää erilliset viikkojen, päivien, tuntien, minuuttien, sekuntien ja millisekuntien arvot ja palauttaa kestoarvon. KESTO(viikkoa, päivää, tuntia, minuuttia, sekuntia, millisekuntia) ÂÂ viikkoa:  Viikkojen määrää kuvaava arvo. viikkoa on numeroarvo. ÂÂ päivää:  Valinnainen päivien määrää kuvaava arvo. päivää on numeroarvo. ÂÂ tuntia:  Valinnainen tuntien määrää kuvaava arvo. tuntia on numeroarvo. ÂÂ minuuttia:  Valinnainen minuuttien määrää kuvaava arvo. minuuttia on numeroarvo. ÂÂ sekuntia:  Valinnainen sekuntien määrää kuvaava arvo. sekuntia on numeroarvo. ÂÂ millisekuntia:  Valinnainen millisekuntien määrää kuvaava arvo. millisekuntia on numeroarvo. Käyttöohjeita ÂÂ Argumentti, joka on 0, voidaan ohittaa, mutta pilkku on lisättävä, jos muita arvoja lisätään. Esimerkiksi, =KESTO(; ; 12; 3) palauttaisi kestoarvon 12h 3m (12 tuntia ja 3 minuuttia). ÂÂ Negatiiviset arvot ovat sallittuja. Esimerkiksi, =KESTO(0; 2; -24) palauttaisi keston 1 päivä (2 päivää vähennettynä 24 tunnilla). Esimerkkejä =KESTO(1) palauttaa 1vk (1 viikko). =KESTO(;;1) palauttaa 1t (1 tunti). =KESTO(1,5) palauttaa 1vk 3pv 12t (1 viikko, 3 päivää, 12 tuntia tai 1,5 viikkoa). =KESTO(3; 2; 7; 10; 15,3505) palauttaa 3vk 2pv 7t 10m 15s 350ms (3 viikkoa, 2 päivää, 7 tuntia , 10 minuuttia, 15 sekuntia, 350 millisekuntia). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PÄIVÄMÄÄRÄ” sivulla 43 ”AIKA” sivulla 55 ”Kestofunktioiden luettelo” sivulla 62 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 RIISU.KESTO RIISU.KESTO-funktio arvioi annetun arvon ja palauttaa joko päivien määrän (mikäli kestoarvo) tai annetun arvon. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muiden taulukkolaskentaohjelmien kanssa. RIISU.KESTO(mikä tahansa -arvo) ÂÂ mikä tahansa -arvo:  Arvo. mikä tahansa -arvo voi sisältää minkä tyyppisen arvon tahansa. Käyttöohjeita ÂÂ Jos mikä tahansa -arvo on kestoarvo, tulos on sama kuin KESTO.PÄIVÄT-funktiossa. Muussa tapauksessa palautetaan mikä tahansa -arvo. ÂÂ Tämä funktio saatetaan lisätä automaattisesti, kun Numbers ’08 -dokumentti päivitetään tai kun Excel- tai AppleWorks-dokumentti tuodaan. Se poistetaan dokumenteista, jotka tallennetaan Numbers ’08- tai Excel-muodossa. Esimerkkejä =RIISU.KESTO(”1vk”) palauttaa 7, mikä vastaa yhtä viikkoa päivinä. =RIISU.KESTO(12) palauttaa 12. Koska se ei ollut kestoarvo, se palautetaan. =RIISU.KESTO (”abc”) palauttaa ”abc”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Kestofunktioiden luettelo” sivulla 62 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 68 Luku 4 Kestofunktiot 69 Tekniset funktiot auttavat sinua laskemaan joitakin yleisiä teknisiä arvoja ja muuntamaan eri kantalukujen välillä. Teknisten funktioiden luettelo iWork tarjoaa seuraavat tekniset funktiot taulukoiden kanssa käytettäviksi. Funktio Kuvaus ”KANNASTA.10LUKU” (sivu 70) KANNASTA.10LUKU-funktio muuntaa määritellyssä kannassa olevan numeron kymmenkantaiseksi. ”BESSELJ” (sivu 71) BESSELJ-funktio palauttaa Besselin funktion Jn(x). ”BESSELY” (sivu 72) BESSELY-funktio palauttaa Besselin funktion Yn(x). ”BINDES” (sivu 73) BINDES-funktio muuntaa binääriluvun vastaavaksi desimaaliluvuksi. ”BINHEKSA” (sivu 73) BINHEKSA-funktio muuntaa binääriluvun vastaavaksi heksadesimaaliluvuksi. ”BINOKT” (sivu 74) BINOKT-funktio muuntaa binääriluvun vastaavaksi oktaaliluvuksi. ”MUUNNA” (sivu 75) MUUNNA-funktio muuntaa numeron yhdestä mittajärjestelmästä vastaavaksi arvoksi toisessa mittajärjestelmässä. ”DESBIN” (sivu 80) DESBIN-funktio muuntaa desimaaliluvun vastaavaksi binääriluvuksi. ”DESHEKSA” (sivu 81) DESHEKSA-funktio muuntaa desimaaliluvun vastaavaksi heksadesimaaliluvuksi. ”DESOKT” (sivu 82) DESOKT-funktio muuntaa desimaaliluvun vastaavaksi oktaaliluvuksi. ”SAMA.ARVO” (sivu 83) SAMA.ARVO-funktio määrittää, ovatko kaksi arvoa täsmälleen samat. ”VIRHEFUNKTIO” (sivu 84) VIRHEFUNKTIO-funktio palauttaa kahden arvon välillä integroidun virhefunktion. Tekniset funktiot 5 Funktio Kuvaus ”VIRHEFUNKTIO.KOMPLEMENTTI” (sivu 84) VIRHEFUNKTIO.KOMPLEMENTTI-funktio palauttaa komplementti-VIRHEFUNKTIO-funktion integroituna annetun alarajan ja äärettömän välillä. ”RAJA” (sivu 85) RAJA-funktio määrittää, onko yksi arvo suurempi tai täsmälleen yhtä suuri kuin toinen arvo. ”HEKSABIN” (sivu 86) HEKSABIN-funktio muuntaa heksadesimaaliluvun vastaavaksi binääriluvuksi. ”HEKSADES” (sivu 87) HEKSADES-funktio muuntaa heksadesimaaliluvun vastaavaksi desimaaliluvuksi. ”HEKSAOKT” (sivu 88) HEKSAOKT-funktio muuntaa heksadesimaaliluvun vastaavaksi oktaaliluvuksi. ”10LUKU.KANTAAN” (sivu 89) 10LUKU.KANTAAN-funktio muuntaa kymmenkantaisen numeron määriteltyyn kantaan. ”OKTBIN” (sivu 90) OKTBIN-funktio muuntaa oktaaliluvun vastaavaksi binääriluvuksi. ”OKTDES” (sivu 91) OKTDES-funktio muuntaa oktaaliluvun vastaavaksi desimaaliluvuksi. ”OKTHEKSA” (sivu 91) OKTHEKSA-funktio muuntaa oktaaliluvun vastaavaksi heksadesimaaliluvuksi. KANNASTA.10LUKU KANNASTA.10LUKU-funktio muuntaa määritellyssä kannassa olevan numeron kymmenkantaiseksi. KANNASTA.10LUKU(muunna merkkijono; kantaluku) ÂÂ muunna merkkijono:  Muunnettavaa lukua kuvaava merkkijono. muunna merkkijono on merkkijonoarvo. Se voi sisältää vain numeroita ja kirjaimia, jotka ovat käytössä muunnettavan numeron lukujärjestelmässä. ÂÂ kantaluku:  Muunnettavan luvun nykyinen kantaluku. kantaluku on numeroarvo ja sen on oltava välillä 1 ja 36. Käyttöohjeita ÂÂ Tämä funktio palauttaa numeroarvon ja sitä voidaan käyttää kaavassa, joka sisältää muita numeroarvoja. Jotkin muut taulukkolaskentaohjelmat palauttavat merkkijonoarvon. 70 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 71 Esimerkkejä =KANNASTA.10LUKU(”3f”; 16) palauttaa 63. =KANNASTA.10LUKU("1000100"; 2) palauttaa 68. =KANNASTA.10LUKU(”7279”; 8) palauttaa virheen, koska numero ”9” ei ole kelvollinen numero, kun kantaluku on 8. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINDES” sivulla 73 ”HEKSADES” sivulla 87 ”10LUKU.KANTAAN” sivulla 89 ”OKTDES” sivulla 91 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 BESSELJ BESSELJ-funktio palauttaa Besselin funktion Jn(x). BESSELJ(mikä tahansa x-arvo; n-arvo) ÂÂ mikä tahansa x-arvo:  X-arvo, jolla haluat evaluoida funktion. mikä tahansa x-arvo on numeroarvo. ÂÂ n-arvo:  Funktion järjestys. n-arvo on lukuarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. Jos n-arvolla on desimaaliosuus, se jätetään huomioimatta. Esimerkkejä =BESSELJ(25; 3) palauttaa 0,108343081061509. =BESSELJ(25; 3,9) palauttaa myös 0,108343081061509, koska n-arvon desimaaliosuus jätetään huomioimatta. =BESSELJ(-25; 3) palauttaa -0,108343081061509. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BESSELY” sivulla 72 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 BESSELY BESSELY-funktio palauttaa Besselin funktion Yn(x). BESSELY(pos. x-arvo; n-arvo) ÂÂ pos. x-arvo:  Positiivinen x-arvo, jolla haluat evaluoida funktion. pos. x-arvo on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ n-arvo:  Funktion järjestys. n-arvo on lukuarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. Jos n-arvolla on desimaaliosuus, se jätetään huomioimatta. Käyttöohjeita ÂÂ Tämä Besselin funktion muoto tunnetaan myös nimellä Neumannin funktio. Esimerkkejä =BESSELY(25; 3) palauttaa 0,117924850396893. =BESSELY(25; 3,9) palauttaa myös 0,117924850396893, koska n-arvon desimaaliosuus jätetään huomioimatta. =BESSELY(-25; 3) palauttaa virheen, koska negatiiviset arvot tai nolla eivät ole sallittuja. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BESSELJ” sivulla 71 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 72 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 73 BINDES BINDES-funktio muuntaa binääriluvun vastaavaksi desimaaliluvuksi. BINDES(binaarinen merkkijono; muunna pituus) ÂÂ binaarinen merkkijono:  Muunnettavaa lukua kuvaava merkkijono. binaarinen merkkijono on merkkijonoarvo. Se voi sisältää vain nollia ja ykkösiä. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Esimerkkejä =BINDES(”1001”) palauttaa 9. =BINDES(”100111”; 3) palauttaa 039. =BINDES(101101) palauttaa 45. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINHEKSA” sivulla 73 ”BINOKT” sivulla 74 ”DESBIN” sivulla 80 ”HEKSADES” sivulla 87 ”OKTDES” sivulla 91 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 BINHEKSA BINHEKSA-funktio muuntaa binääriluvun vastaavaksi heksadesimaaliluvuksi. BINHEKSA(binaarinen merkkijono; muunna pituus) ÂÂ binaarinen merkkijono:  Muunnettavaa lukua kuvaava merkkijono. binaarinen merkkijono on merkkijonoarvo. Se voi sisältää vain nollia ja ykkösiä. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Käyttöohjeita ÂÂ Tämä funktio käyttää kahden komplementti -notaatiota, joka perustuu 32 bittiin. Siksi negatiivisten lukujen on aina oltava 8 numeroa pitkiä. Esimerkkejä =BINHEKSA(”100101”) palauttaa 25. =BINHEKSA(”100111”; 3) palauttaa 027. =BINHEKSA(101101) palauttaa 2D. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINDES” sivulla 73 ”BINOKT” sivulla 74 ”DESHEKSA” sivulla 81 ”HEKSABIN” sivulla 86 ”OKTHEKSA” sivulla 91 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 BINOKT BINOKT-funktio muuntaa binääriluvun vastaavaksi oktaaliluvuksi. BINOKT(binaarinen merkkijono; muunna pituus) ÂÂ binaarinen merkkijono:  Muunnettavaa lukua kuvaava merkkijono. binaarinen merkkijono on merkkijonoarvo. Se voi sisältää vain nollia ja ykkösiä. 74 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 75 ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Käyttöohjeita ÂÂ Tämä funktio käyttää kahden komplementti -notaatiota, joka perustuu 32 bittiin. Siksi negatiivisten lukujen on aina oltava 11 numeroa pitkiä. Esimerkkejä =BINOKT(”10011”) palauttaa 23. =BINOKT(”100111”; 3) palauttaa 047. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINHEKSA” sivulla 73 ”DESOKT” sivulla 82 ”HEKSAOKT” sivulla 88 ”OKTBIN” sivulla 90 ”BINDES” sivulla 73 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MUUNNA MUUNNA-funktio muuntaa numeron yhdestä mittajärjestelmästä vastaavaksi arvoksi toisessa mittajärjestelmässä. MUUNNA(muunna luku; yksikkömerkistä; yksikkömerkkiin) ÂÂ muunna luku:  Muunnettava luku. muunna luku on numeroarvo. ÂÂ yksikkömerkistä:  Muunnettavan luvun nykyinen yksikkö. yksikkömerkistä on merkkijonoarvo. Sen on oltava yksi määritellyistä vakioista. ÂÂ yksikkömerkkiin:  Muunnettavan luvun uusi yksikkö. yksikkömerkkiin on merkkijonoarvo. Sen on oltava yksi määritellyistä vakioista. Käyttöohjeita ÂÂ Argumenttien yksikkömerkistä ja yksikkömerkkiin mahdolliset arvot ovat taulukoissa, jotka seuraavat esimerkkejä (”Tuetut muuntoyksiköt” sivulla 76). Taulukot on järjestetty luokan mukaan. Jos arvo syötetään viitattuun soluun sen sijaan, että se kirjoitettaisiin suoraan funktioon, taulukoissa olevia lainausmerkkejä ei tarvita. Isojen ja pienten kirjainten erot ovat tärkeitä ja niitä on seurattava tarkasti. Esimerkkejä =MUUNNA(9; ”lbm”; ”kg”) palauttaa 4,08233133 (9 paunaa on noin 4,08 kilogrammaa). =MUUNNA (26,2; ”mi”; ”m”) palauttaa 42164,8128 (26,2 mailia on noin 42 164,8 metriä). =MUUNNA(1; ”tsp”; ”ml”) palauttaa 4,92892159375 (1 teelusikallinen on noin 4,9 millilitraa). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 Tuetut muuntoyksiköt Paino ja massa Mitta Vakio Gramma ”g” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Slug ”sg” Pauna (avoirdupois) ”lbm” U (Dalton) ”u” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Unssi (avoirdupois) ”ozm” 76 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 77 Etäisyys Mitta Vakio Metri ”m” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Maili ”mi” Meripeninkulma ”Nmi” Tuuma ”in” Jalka ”ft” Jaardi ”yd” Ångström ”ang” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Pica (1/6 tuumaa, Postscript Pica) ”Pica” Kesto Mitta Vakio Vuosi ”yr” Viikko ”wk” Vuorokausi ”day” Tunti ”hr” Minuutti ”mn” Sekunti ”sec” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Nopeus Mitta Vakio Mailia tunnissa ”mi/h” Mailia minuutissa ”mi/mn” Metriä tunnissa ”m/h” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Metriä minuutissa ”m/mn” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Metriä sekunnissa ”m/s” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Jalkaa minuutissa ”ft/mn” Jalkaa sekunnissa ”ft/s” Solmu ”kt” Paine Mitta Vakio Pascal ”Pa” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Ilmakehä ”atm” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Millimetriä elohopeaa ”mmHg” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Voima Mitta Vakio Newton ”N” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Dyne ”dyn” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Pauna ”lbf” Energia Mitta Vakio Joule ”J” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Ergi ”e” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Thermodynaaminen kalori ”c” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) IT-kalori ”cal” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Elektronivoltti ”eV” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Hevosvoimatunti ”HPh” Wattitunti ”Wh” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Jalkapauna ”flb” BTU ”BTU” 78 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 79 Teho Mitta Vakio Hevosvoima ”HP” Watti ”W” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Magnetismi Mitta Vakio Tesla ”T” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Gauss ”ga” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Lämpötila Mitta Vakio Celsius ”c” Fahrenheit ”f” Kelvin ”K” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Neste Mitta Vakio Teelusikka ”tsp” Ruokalusikka ”tbs” Nesteunssi ”oz” Kuppi ”cup” Pintti (US) ”pt” Pintti (UK) ”uk_pt” Quart ”qt” Gallona ”gal” Litra ”l” (voidaan käyttää metrijärjestelmän etuliitteiden kanssa) Metrijärjestelmän etuliitteet Mitta Vakio Kerroin eksa ”E” 1E+18 peta ”P” 1E+15 tera ”T” 1E+12 giga ”G” 1E+09 mega ”M” 1E+06 kilo ”k” 1E+03 hehto ”h” 1E+02 deka ”E” 1E+01 desi ”d” 1E-01 sentti ”c” 1E-02 milli ”M” 1E-03 mikro ”u” tai ”μ” 1E-06 nano ”n” 1E-09 piko ”P” 1E-12 femto ”f” 1E-15 atto ”a” 1E-18 Käyttöohjeita ÂÂ Näitä etuliitteitä voidaan käyttää vain seuraavien metrijärjestelmän vakioiden kanssa: ”g”, ”u”, ”m”, ”ang”, ”sec”, ”m/h”, ”m/mn”, ”m/s”, ”Pa”, ”atm”, ”mmHg”, ”N”, ”dyn”, ”J”, ”e”, ”c”, ”cal”, ”eV”, ”Wh”, ”W”, ”T”, ”ga”, ”K”, ja ”l”. DESBIN DESBIN-funktio muuntaa desimaaliluvun vastaavaksi binääriluvuksi. DESBIN(desimaalimerkkijono; muunna pituus) ÂÂ desimaalimerkkijono:  Muunnettavaa lukua kuvaava merkkijono. desimaalimerkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 9. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. 80 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 81 Esimerkkejä =DESBIN(100) palauttaa 01100100. =DESBIN(”1001”; 12) palauttaa 001111101001. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINDES” sivulla 73 ”DESHEKSA” sivulla 81 ”DESOKT” sivulla 82 ”HEKSABIN” sivulla 86 ”OKTBIN” sivulla 90 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 DESHEKSA DESHEKSA-funktio muuntaa desimaaliluvun vastaavaksi heksadesimaaliluvuksi. DESHEKSA(desimaalimerkkijono; muunna pituus) ÂÂ desimaalimerkkijono:  Muunnettavaa lukua kuvaava merkkijono. desimaalimerkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 9. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Esimerkkejä =DESHEKSA(100) palauttaa 64. =DESHEKSA(”1001”; 4) palauttaa 03E9. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINHEKSA” sivulla 73 ”DESBIN” sivulla 80 ”DESOKT” sivulla 82 ”HEKSADES” sivulla 87 ”OKTHEKSA” sivulla 91 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 DESOKT DESOKT-funktio muuntaa desimaaliluvun vastaavaksi oktaaliluvuksi. DESOKT(desimaalimerkkijono; muunna pituus) ÂÂ desimaalimerkkijono:  Muunnettavaa lukua kuvaava merkkijono. desimaalimerkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 9. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Esimerkkejä =DESOKT(100) palauttaa 144. =DESOKT(”1001”; 4) palauttaa 1751. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINOKT” sivulla 74 ”DESBIN” sivulla 80 ”DESHEKSA” sivulla 81 ”HEKSAOKT” sivulla 88 ”OKTDES” sivulla 91 82 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 83 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SAMA.ARVO SAMA.ARVO-funktio määrittää, ovatko kaksi arvoa täsmälleen samat. Tämä funktio käyttää täsmällistä yhtäläisyyttä. Erotuksena operaattori = käyttää merkkijonoperustaista yhtäläisyyttä. SAMA.ARVO(vertaile luvusta; vertaile lukuun) ÂÂ vertaile luvusta:  Numero. vertaile luvusta on numeroarvo. ÂÂ vertaile lukuun:  Numero. vertaile lukuun on numeroarvo. Käyttöohjeita ÂÂ SAMA.ARVO palauttaa 1 (TOSI), jos vertaile luvusta on täsmälleen sama kuin vertaile lukuun; muussa tapauksessa se palauttaa 0 (EPÄTOSI). Esimerkkejä =SAMA.ARVO(5; 5) palauttaa 1 (TOSI). =SAMA.ARVO(5; -5) palauttaa 0 (EPÄTOSI). =SAMA.ARVO(5; 5000) palauttaa 1 (TOSI). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”RAJA” sivulla 85 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VIRHEFUNKTIO VIRHEFUNKTIO-funktio palauttaa kahden arvon välillä integroidun virhefunktion. VIRHEFUNKTIO(alempi; ylempi) ÂÂ alempi:  Alaraja. alempi on numeroarvo. ÂÂ ylempi:  Valinnainen argumentti, joka määrittelee ylärajan. ylempi on numeroarvo. Jos ylempi-arvoa ei anneta, sen oletetaan olevan 0. Käyttöohjeita ÂÂ Tämä funktio tunnetaan myös nimellä Gaussin virhefunktio. Esimerkkejä =VIRHEFUNKTIO(0; 1) palauttaa 0,842700792949715. =VIRHEFUNKTIO(-1; 1) palauttaa 1,68540158589943. =VIRHEFUNKTIO(1; 8) palauttaa 0,157299207050285. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”VIRHEFUNKTIO.KOMPLEMENTTI” sivulla 84 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VIRHEFUNKTIO.KOMPLEMENTTI VIRHEFUNKTIO.KOMPLEMENTTI-funktio palauttaa komplementti-VIRHEFUNKTIOfunktion integroituna annetun alarajan ja äärettömän välillä. VIRHEFUNKTIO.KOMPLEMENTTI(alempi) ÂÂ alempi:  Alaraja. alempi on numeroarvo. Esimerkkejä =VIRHEFUNKTIO.KOMPLEMENTTI(-1) palauttaa 1,84270079294971. =VIRHEFUNKTIO.KOMPLEMENTTI(1) palauttaa 0,157299207050285. =VIRHEFUNKTIO.KOMPLEMENTTI(12) palauttaa 1,3562611692059E-64. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: 84 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 85 ”VIRHEFUNKTIO” sivulla 84 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 RAJA RAJA-funktio määrittää, onko yksi arvo suurempi tai täsmälleen yhtä suuri kuin toinen arvo. Tämä funktio käyttää täsmällistä yhtäläisyyttä. Erotuksena operaattori = käyttää merkkijonoperustaista yhtäläisyyttä. RAJA(vertaile-luku; askelnumero) ÂÂ vertaile-luku:  Verrattava luku. vertaile-luku on numeroarvo. ÂÂ askelnumero:  Askeleen koko. askelnumero on numeroarvo. Käyttöohjeita ÂÂ RAJA palauttaa 1 (TOSI), jos vertaile-luku on suurempi tai täsmälleen yhtä suuri kuin askelnumero; muussa tapauksessa se palauttaa 0 (EPÄTOSI). Esimerkkejä =RAJA(-4; -5) palauttaa 1 (TOSI), koska -4 on suurempi kuin -5. =RAJA(4; 5) palauttaa 0 (EPÄTOSI), koska 4 on pienempi kuin 5. =RAJA(5; 4) palauttaa 1 (TOSI), koska 5 on suurempi kuin 4. =RAJA(20; 20) palauttaa 1 (TOSI), koska 20 on täsmälleen yhtä suuri kuin 20. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SAMA.ARVO” sivulla 83 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 HEKSABIN HEKSABIN-funktio muuntaa heksadesimaaliluvun vastaavaksi binääriluvuksi. HEKSABIN(heksa-merkkijono; muunna pituus) ÂÂ heksa-merkkijono:  Muunnettavaa lukua kuvaava merkkijono. heksa-merkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 9 ja kirjaimia A - F. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Käyttöohjeita ÂÂ Tämä funktio käyttää kahden komplementti -notaatiota, joka perustuu 32 bittiin. Siksi negatiivisten lukujen on aina oltava 32 numeroa pitkiä. Esimerkkejä =HEKSABIN(”F”; 8) palauttaa 00001111. =HEKSABIN("3F") palauttaa 0111111. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINHEKSA” sivulla 73 ”HEKSADES” sivulla 87 ”HEKSAOKT” sivulla 88 ”OKTBIN” sivulla 90 ”DESBIN” sivulla 80 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 86 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 87 HEKSADES HEKSADES-funktio muuntaa heksadesimaaliluvun vastaavaksi desimaaliluvuksi. HEKSADES(heksa-merkkijono; muunna pituus) ÂÂ heksa-merkkijono:  Muunnettavaa lukua kuvaava merkkijono. heksa-merkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 9 ja kirjaimia A - F. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Esimerkkejä =HEKSADES(”F”; 3) palauttaa 015. =HEKSADES("3F") palauttaa 63. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINDES” sivulla 73 ”DESHEKSA” sivulla 81 ”HEKSABIN” sivulla 86 ”HEKSAOKT” sivulla 88 ”OKTDES” sivulla 91 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 HEKSAOKT HEKSAOKT-funktio muuntaa heksadesimaaliluvun vastaavaksi oktaaliluvuksi. HEKSAOKT(heksa-merkkijono; muunna pituus) ÂÂ heksa-merkkijono:  Muunnettavaa lukua kuvaava merkkijono. heksa-merkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 9 ja kirjaimia A - F. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Käyttöohjeita ÂÂ Tämä funktio käyttää kahden komplementti -notaatiota, joka perustuu 32 bittiin. Siksi negatiivisten lukujen on aina oltava 11 numeroa pitkiä. Esimerkkejä =HEKSAOKT(”F”; 3) palauttaa 017. =HEKSAOKT("4E") palauttaa 116. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINOKT” sivulla 74 ”DESOKT” sivulla 82 ”HEKSABIN” sivulla 86 ”HEKSADES” sivulla 87 ”OKTHEKSA” sivulla 91 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 88 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 89 10LUKU.KANTAAN 10LUKU.KANTAAN-funktio muuntaa kymmenkantaisen luvun määriteltyyn kantaan. 10LUKU.KANTAAN(desimaalimerkkijono; kantaluku; muunna pituus) ÂÂ desimaalimerkkijono:  Muunnettavaa lukua kuvaava merkkijono. desimaalimerkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 9. ÂÂ kantaluku:  Muunnettavan luvun uusi kantaluku. kantaluku on numeroarvo ja sen on oltava välillä 1 ja 36. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Esimerkkejä =10LUKU.KANTAAN(16; 16) palauttaa 10. =10LUKU.KANTAAN(100; 32; 4) palauttaa 0034. =10LUKU.KANTAAN(100; 2) palauttaa 1100100. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KANNASTA.10LUKU” sivulla 70 ”DESBIN” sivulla 80 ”DESHEKSA” sivulla 81 ”DESOKT” sivulla 82 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 OKTBIN OKTBIN-funktio muuntaa oktaaliluvun vastaavaksi binääriluvuksi. OKTBIN(oktaali merkkijono; muunna pituus) ÂÂ oktaali merkkijono:  Muunnettavaa lukua kuvaava merkkijono. oktaali merkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 7. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Käyttöohjeita ÂÂ Tämä funktio käyttää kahden komplementti -notaatiota, joka perustuu 32 bittiin. Siksi negatiivisten lukujen on aina oltava 32 numeroa pitkiä. Esimerkkejä =OKTBIN(127; 8) palauttaa 01010111. =OKTBIN(15) palauttaa 01101. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINOKT” sivulla 74 ”DESBIN” sivulla 80 ”HEKSABIN” sivulla 86 ”OKTDES” sivulla 91 ”OKTHEKSA” sivulla 91 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 90 Luku 5 Tekniset funktiot Luku 5 Tekniset funktiot 91 OKTDES OKTDES-funktio muuntaa oktaaliluvun vastaavaksi desimaaliluvuksi. OKTDES(oktaali merkkijono; muunna pituus) ÂÂ oktaali merkkijono:  Muunnettavaa lukua kuvaava merkkijono. oktaali merkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 7. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Esimerkkejä =OKTDES(127; 4) palauttaa 0087. =OKTDES(15) palauttaa 13. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINDES” sivulla 73 ”DESOKT” sivulla 82 ”OKTBIN” sivulla 90 ”OKTHEKSA” sivulla 91 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 OKTHEKSA OKTHEKSA-funktio muuntaa oktaaliluvun vastaavaksi heksadesimaaliluvuksi. OKTHEKSA(oktaali merkkijono; muunna pituus) ÂÂ oktaali merkkijono:  Muunnettavaa lukua kuvaava merkkijono. oktaali merkkijono on merkkijonoarvo. Se voi sisältää vain numeroita 0 - 7. ÂÂ muunna pituus:  Valinnainen arvo, joka määrittelee palautettavan luvun vähimmäispituuden. muunna pituus on numeroarvo ja sen on oltava 1 ja 32 välillä. Jos se jätetään pois, sen oletetaan olevan 1. Jos se sisällytetään, argumentin muunna merkkijono eteen laitetaan tarvittaessa nollia, jotta se on vähintään niin pitkä kuin on määritelty argumentissa muunna pituus. Käyttöohjeita ÂÂ Tämä funktio käyttää kahden komplementti -notaatiota, joka perustuu 32 bittiin. Siksi negatiivisten lukujen on aina oltava 8 numeroa pitkiä. Esimerkkejä =OKTHEKSA(127; 4) palauttaa 0057. =OKTHEKSA(15) palauttaa 0D. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINHEKSA” sivulla 73 ”DESHEKSA” sivulla 81 ”HEKSAOKT” sivulla 88 ”OKTBIN” sivulla 90 ”OKTDES” sivulla 91 ”Teknisten funktioiden luettelo” sivulla 69 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 92 Luku 5 Tekniset funktiot 93 Rahoitusfunktiot auttavat sinua käsittelemään kassavirtoja, poistokelpoisia varoja, annuiteetteja ja sijoituksia ratkomalla ongelmia, kuten varojen vuosittaisten poistojen määriä, sijoituksien korkoja ja osakkeiden markkinarvoja. Rahoitusfunktioiden luettelo iWork tarjoaa taulukoiden kanssa käytettäviksi seuraavat rahoitusfunktiot. Funktio Kuvaus ”KERTYNYT.KORKO” (sivu 97) KERTYNYT.KORKO-funktio laskee arvopaperin ostohintaan lisätyn ja myyjälle kausittaista korkoa maksavan koron. ”KERTYNYT.KORKO.LOPUSSA” (sivu 99) KERTYNYT.KORKO.LOPUSSA-funktio laskee arvopaperin ostohintaan lisätyn ja myyjälle eräpäivänä maksetun koron. ”KESTO.PAINOTT” (sivu 100) KESTO.PAINOTT-funktio laskee oletetulle 100 €:n nimellisarvolle kassavirran nykyisen arvon painotetun keskiarvon. ”KESTO.MUUNN” (sivu 101) KESTO.MUUNN-funktio laskee oletetulle 100 €:n nimellisarvolle kassavirran nykyisen arvon muunnetun painotetun keskiarvon. ”KORKOPÄIVÄT.ALUSTA” (sivu 103) KORKOPÄIVÄT.ALUSTA-funktio palauttaa korkopäivien määrän korkokauden alusta korkojen tilityspäivään. ”KORKOPÄIVÄT” (sivu 104) KORKOPÄIVÄT-funktio palauttaa päivien määrän sillä korkokaudella, jolloin tilitys tapahtuu. Rahoitusfunktiot 6 Funktio Kuvaus ”KORKOPÄIVÄT.SEURAAVA” (sivu 105) KORKOPÄIVÄT.SEURAAVA-funktio palauttaa tilityspäivän ja kyseisen korkokauden lopun välisten päivien määrän. ”KORKOPÄIVÄJAKSOT” (sivu 107) KORKOPÄIVÄJAKSOT-funktio palauttaa korkertojen lukumäärän tilityspäivän ja erääntymispäivän välillä. ”MAKSETTU.KORKO” (sivu 108) MAKSETTU.KORKO-funktio palauttaa kiinteisiin maksuihin ja kiinteään korkotasoon perustuvan, koko laina- tai annuiteettimaksuihin sisältyvän koron määrättynä aikana. ”MAKSETTU.LYHENNYS” (sivu 110) MAKSETTU.LYHENNYS-funktio palauttaa kiinteisiin maksuihin ja kiinteään korkotasoon perustuvan, koko laina- tai annuiteettimaksuihin sisältyvän pääoman määrättynä aikana. ”DB” (sivu 111) DB-funktio palauttaa omaisuuserän arvonalenemisen määrän määritellyllä kaudella käyttäen amerikkalaista fixed-declining balance -metodia. ”DDB” (sivu 113) DDB-funktio palauttaa omaisuuserän arvonalenemisen määrän perustuen määritettyyn poistoprosenttiin. ”DISKONTTOKORKO” (sivu 115) DISKONTTOKORKO-funktio palauttaa vuosittaisen diskonttokoron arvopaperille, jolle ei makseta korkoa ja joka on myyty alle lunastusarvonsa. ”KORKO.EFEKT” (sivu 116) KORKO.EFEKT-funktio palauttaa efektiivisen vuosikorkokannan nimellisestä vuosikorkokannasta perustuen määrättyyn määrään korkojaksoja vuodessa. ”TULEVA.ARVO” (sivu 117) TULEVA.ARVO-funktio palauttaa sijoituksen tulevan arvon perustuen sarjaan säännöllisiä jaksottaisia rahavirtoja (vakiomääräisiä maksuja ja rahavirtoja määrätyin väliajoin) ja kiinteään korkoprosenttiin. ”KORKO.ARVOPAPERI” (sivu 119) KORKO.ARVOPAPERI-funktio palauttaa efektiivisen vuosikorkokannan arvopaperille, joka maksaa korkoa vain erääntymispäivänä. ”IPMT” (sivu 120) IPMT-funktio palauttaa määrätyn lainan tai esim. annuiteettimaksun korko-osuuden perustuen kiinteisiin, jaksotettuihin maksuihin ja kiinteään korkoon. ”SISÄINEN KORKO” (sivu 122) SISÄINEN KORKO -funktio palauttaa sisäisen tuottoprosentin investoinnille, joka perustuu sarjaan potentiaalisesti epäsäännöllisiä rahavirtoja, jotka tapahtuvat säännöllisin väliajoin. 94 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 95 Funktio Kuvaus ”ONMAKSU” (sivu 123) ONMAKSU-funktio palauttaa määrätyn lainan tai annuiteettimaksun korko-osuuden perustuen kiinteisiin, jaksotettuihin maksuihin ja kiinteään korkoon. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muiden taulukkolaskentaohjelmien kanssa. ”MSISÄINEN” (sivu 125) MSISÄINEN-funktio palauttaa muunnetun sisäisen tuottoprosentin investoinnille, joka perustuu sarjaan potentiaalisesti epäsäännöllisiä rahavirtoja, jotka tapahtuvat säännöllisin väliajoin. Positiivisten rahavirtojen tuottoprosentti ja negatiivisten rahavirtojen rahoittamiseen tarvittavan lainan korkoprosentti voivat olla erilaisia. ”KORKO.VUOSI” (sivu 126) KORKO.VUOSI-funktio palauttaa efektiivisen vuosikorkokannan nimellisestä vuosikorkokannasta perustuen määrättyyn määrään korkojaksoja vuodessa. ”NJAKSO” (sivu 127) NJAKSO-funktio palauttaa lainan tai annuiteettimaksun maksukausien määrän perustuen sarjaan säännöllisiä jaksottaisia rahavirtoja (vakiomääräisiä maksuja ja rahavirtoja määrätyin väliajoin) ja kiinteään korkoprosenttiin. ”NNA” (sivu 129) NNA-funktio palauttaa tämänhetkisen nettoarvon investoinnille perustuen sarjaan potentiaalisesti epäsäännöllisiä rahavirtoja, jotka tapahtuvat säännöllisin väliajoin. ”MAKSU” (sivu 130) MAKSU-funktio palauttaa lainan tai annuiteettimaksun kiinteän jaksottaisen maksun perustuen sarjaan säännöllisiä jaksottaisia rahavirtoja (vakiomääräisiä maksuja ja rahavirtoja määrätyin väliajoin) ja kiinteään korkoprosenttiin. ”PPMT” (sivu 132) PPMT-funktio palauttaa määrätyn lainan tai annuiteettimaksun pääoman perustuen kiinteisiin, jaksotettuihin maksuihin ja kiinteään korkoon. ”HINTA” (sivu 133) HINTA-funktio palauttaa hinnan arvopaperille, joka maksaa jaksottaista korkoa lunastusarvon jokaista 100 €:a kohden. ”HINTA.DISK” (sivu 135) HINTA.DISK-funktio palauttaa hinnan lunastusarvoonsa nähden alennuksella myydylle arvopaperille, jolle ei makseta korkoa lunastusarvon jokaista 100 €:a kohden. Funktio Kuvaus ”HINTA.LUNASTUS” (sivu 136) HINTA.LUNASTUS-funktio palauttaa hinnan arvopaperille, joka maksaa korkoa ainoastaan erääntymispäivänä lunastusarvon jokaista 100 €:a kohden. ”NA” (sivu 138) NA-funktio palauttaa sijoituksen tai annuiteetin nykyisen arvon perustuen sarjaan säännöllisiä jaksottaisia rahavirtoja (vakiomääräisiä maksuja ja rahavirtoja määrätyin väliajoin) ja kiinteään korkoprosenttiin. ”KORKO” (sivu 140) KORKO-funktio palauttaa sijoituksen, lainan tai annuiteetin koron perustuen sarjaan säännöllisiä jaksottaisia rahavirtoja (vakiomääräisiä maksuja ja rahavirtoja määrätyin väliajoin) ja kiinteään korkoprosenttiin. ”SAATU.HINTA” (sivu 142) SAATU.HINTA-funktio palauttaa erääntymisarvon arvopaperille, joka maksaa korkoa vain erääntymispäivänä. ”STP” (sivu 143) STP-funktio palauttaa omaisuuserän arvonalenemisen määrän määritellyllä kaudella käyttäen tasapoistometodia. ”VUOSIPOISTO” (sivu 144) VUOSIPOISTO-funktio palauttaa omaisuuserän arvonalenemisen määrän määritellyllä kaudella käyttäen amerikkalaista sum-of-the-years-digitsmetodia. ”VDB” (sivu 145) VDB-funktio palauttaa omaisuuserän arvonalenemisen määrän valitulla aikavälillä, perustuen määritettyyn poistoprosenttiin. ”TUOTTO” (sivu 146) TUOTTO-funktio palauttaa vuosittaisen efektiivisen koron arvopaperille, jolle maksetaan säännöllistä jaksottaista korkoa. ”TUOTTO.DISK” (sivu 148) TUOTTO.DISK-funktio palauttaa vuosittaisen efektiivisen koron arvopaperille, joka on myyty alle lunastusarvonsa ja jolle ei makseta korkoa. ”TUOTTO.ERÄP” (sivu 149) TUOTTO.ERÄP-funktio palauttaa vuosittaisen efektiivisen korkokannan arvopaperille, joka maksaa korkoa vain erääntymispäivänä. 96 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 97 KERTYNYT.KORKO KERTYNYT.KORKO-funktio laskee arvopaperin ostohintaan lisätyn ja myyjälle kausittaista korkoa maksavan koron. KERTYNYT.KORKO(liikkeellelaskupäivä; ensimmäinen; maksa; vuosikorko; nimellisarvo; taajuus; päivien laskentaperuste) ÂÂ liikkeellelaskupäivä:  Arvopaperin alkuperäinen liikkeellelaskupäivä. liikkeellelaskupäivä on päiväys-/aika-arvo ja sen on oltava varhaisin annettu päivä. ÂÂ ensimmäinen:  Ensimmäisen korkomaksun päivämäärä. ensimmäinen on päiväys-/ aika-arvo ja sen on oltava liikkellelaskupäivän jälkeen tuleva päivä. ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ nimellisarvo:  Arvopaperin nimellis- tai erääntymisarvo. nimellisarvo on numeroarvo. Jos se jätetään pois (puolipiste, mutta ei arvoa), nimellisarvon oletetaan olevan 1000. ÂÂ taajuus:  Vuosittaisten koronmaksuerien määrä. vuosittain (1): Yksi maksu vuodessa. puolivuosittain (2): Kaksi maksua vuodessa. neljännesvuosittain (4): Neljä maksua vuodessa. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Käyttöohjeita ÂÂ Jos maksa-arvo on ennen ensimmäinen-arvoa, funktio palauttaa liikkeellelaskupäivästä alkaen karttuneen koron. Jos maksa on ensimmäinen -arvon jälkeen, funktio palauttaa karttuneen koron siitä koronmaksupäivästä lähtien, joka on heti ennen maksa-arvoa. ÂÂ Käytä KERTYNYT.KORKO.LOPUSSA -funktiota arvopaperille, joka maksaa korkoa vain erääntymispäivänä. Esimerkki 1 Kuvittele harkitsevasi hypoteettisen arvopaperin ostamista, joka kuvataan seuraavilla arvoilla. Tilityspäivän kuvitellaan olevan ennen ensimmäistä koronmaksupäivää. Voisit käyttää KERTYNYT.KORKO-funktiota määrittelemään kertyneen koron määrää, joka lisätään osto-/myyntihintaan. funktio evaluoituu arvoon 38,06 €, joka edustaa liikkeellelaskupäivän ja tilityspäivän välillä kerääntyneen koron määrää. liikkeellelaskupäivä ensimmäinen maksa vuosikorko nimellisarvo taajuus päivien laskentaperuste =KERTYNYT. KORKO (B2; C2; D2; E2; F2; G2; H2) 14.12.2008 1.7.2009 1.5.2009 0,10 1000 2 0 Esimerkki 2 Kuvittele harkitsevasi hypoteettisen arvopaperin ostamista, joka kuvataan seuraavilla arvoilla. Tilityspäivän kuvitellaan olevan ensimmäisen koronmaksupäivän jälkeen. Voisit käyttää KERTYNYT.KORKO-funktiota määrittelemään kertyneen koron määrää, joka lisätään osto-/myyntihintaan. funktio evaluoituu arvoon 20,56 €, joka edustaa heti seuraavan koronmaksupäivän ja tilityspäivän välillä kertyneen koron määrää. liikkeellelaskupäivä ensimmäinen maksa vuosikorko nimellisarvo taajuus päivien laskentaperuste =KERTYNYT. KORKO (B2; C2; D2; E2; F2; G2; H2) 14.12.2008 1.7.2009 15.9.2009 0,10 1000 2 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KERTYNYT.KORKO.LOPUSSA” sivulla 99 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 98 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 99 KERTYNYT.KORKO.LOPUSSA KERTYNYT.KORKO.LOPUSSA-funktio laskee laskee arvopaperin ostohintaan lisätyn ja myyjälle erääntymispäivänä maksetun koron. KERTYNYT.KORKO.LOPUSSA(liikkeellelaskupäivä; maksa; vuosikorko; nimellisarvo; päivienlaskentaperuste) ÂÂ liikkeellelaskupäivä:  Arvopaperin alkuperäinen liikkeellelaskupäivä. liikkeellelaskupäivä on päiväys-/aika-arvo ja sen on oltava varhaisin annettu päivä. ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ nimellisarvo:  Arvopaperin nimellis- tai erääntymisarvo. nimellisarvo on numeroarvo. Jos se jätetään pois (puolipiste, mutta ei arvoa), nimellisarvon oletetaan olevan 1000. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Käyttöohjeita ÂÂ Käytä KERTYNYT.KORKO-funktiota arvopaperille, joka maksaa jaksottaista korkoa. Esimerkki Kuvittele harkitsevasi hypoteettisen arvopaperin ostamista, joka kuvataan seuraavilla arvoilla. Arvopaperi maksaa korkoa vain erääntymispäivänä. Voisit käyttää KERTYNYT.KORKO.LOPUSSA-funktiota määrittelemään kertyneen koron määrää, joka lisätään osto-/myyntihintaan. funktio evaluoituu noin arvoon 138,06 €, joka edustaa liikkeellelaskupäivän ja tilityspäivän välillä kerääntyneen koron määrää. liikkeellelaskupäivä maksa vuosikorko nimellisarvo päivien laskentaperuste =KERTYNYT. KORKO. LOPUSSA(B2; C2; D2; E2; F2) 14.12.2007 1.5.2009 0,10 1000 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KERTYNYT.KORKO” sivulla 97 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESTO.PAINOTT KESTO.PAINOTT-funktio palauttaa oletetulle 100 €:n nimellisarvolle rahavirran nykyisen arvon painotetun keskiarvon. KESTO.PAINOTT(maksa; erääntymispäivä; vuosikorko; vuosituotto; taajuus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ vuosituotto:  Arvopaperin vuotuinen tuotto. vuosituotto on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ taajuus:  Vuosittaisten koronmaksuerien määrä. vuosittain (1): Yksi maksu vuodessa. puolivuosittain (2): Kaksi maksua vuodessa. neljännesvuosittain (4): Neljä maksua vuodessa. 100 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 101 ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Käyttöohjeita ÂÂ Tämä funktio palauttaa arvon, joka tunnetaan nimellä Macauley-kesto. Esimerkki Oletetaan, että suunnittelet hypoteettisen arvopaperin ostamista. Ostos maksetaan 2. huhtikuuta 2010 ja se erääntyy 31. joulukuuta 2015. Korkokanta on 5 %, jolloin tuotto on noin 5,284 % (tuotto laskettiin TUOTTO-funktiolla). Korko maksetaan neljännesvuosittain todellisiin päiviin perustuen. =KESTO.PAINOTT("2.4.20120"; "31.12.2015"; 0,05; 0,05284; 4; 1) palauttaa noin 5,0208, nykyisen arvon tulevalle kassavirralle (arvopaperin kesto) perustuen Macauley-kestoon. Rahavirrat koostuvat maksetusta hinnasta, saaduista koroista ja pääomasta, joka vapautuu erääntymispäivänä. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESTO.MUUNN” sivulla 101 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESTO.MUUNN KESTO.MUUNN-funktio palauttaa oletetulle 100 €:n nimellisarvolle rahavirran nykyisen arvon muunnetun painotetun keskiarvon. KESTO.MUUNN(maksa; erääntymispäivä; vuosikorko; vuosituotto; taajuus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ vuosituotto:  Arvopaperin vuotuinen tuotto. vuosituotto on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ taajuus:  Vuosittaisten koronmaksuerien määrä. vuosittain (1): Yksi maksu vuodessa. puolivuosittain (2): Kaksi maksua vuodessa. neljännesvuosittain (4): Neljä maksua vuodessa. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Käyttöohjeita ÂÂ Tämä funktio palauttaa arvon, joka tunnetaan nimellä muunnettu Macauley-kesto. Esimerkki Oletetaan, että suunnittelet hypoteettisen arvopaperin ostamista. Ostos maksetaan 2. huhtikuuta 2010 ja se erääntyy 31. joulukuuta 2015. Korkokanta on 5 %, jolloin tuotto on noin 5,284 % (tuotto laskettiin TUOTTO-funktiolla). Korko maksetaan neljännesvuosittain todellisiin päiviin perustuen. =KESTO.MUUNN("2.4.2010"; "31.12.2015"; 0,05; 0,05284; 4; 1) palauttaa noin 4,9554, nykyisen arvon tulevalle kassavirralle (arvopaperin kesto) perustuen Macauley-kestoon. Rahavirrat koostuvat maksetusta hinnasta, saaduista koroista ja pääomasta, joka vapautuu erääntymispäivänä. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: 102 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 103 ”KESTO.PAINOTT” sivulla 100 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORKOPÄIVÄT.ALUSTA KORKOPÄIVÄT.ALUSTA-funktio palauttaa korkopäivien määrän korkokauden alusta korkojen tilityspäivään. KORKOPÄIVÄT.ALUSTA(maksa; erääntymispäivä; taajuus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ taajuus:  Vuosittaisten koronmaksuerien määrä. vuosittain (1): Yksi maksu vuodessa. puolivuosittain (2): Kaksi maksua vuodessa. neljännesvuosittain (4): Neljä maksua vuodessa. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Kuvittele harkitsevasi hypoteettisen arvopaperin ostamista, joka kuvataan seuraavilla arvoilla. Voit käyttää KORKOPÄIVÄT.ALUSTA-funktiota määrittämään päivien määrän viimeisestä koronmaksupäivästä tilityspäivään. Tämä on karttuneen koron laskemiseen käytettävien päivien määrä. Korko lisätään arvopaperin kauppahintaan. Funktio palauttaa 2, koska viimeisimmän koronmaksupäivän 31.3.2010 ja tilityspäivän 2.4.2010 välillä on 2 päivää. maksa erääntymispäivä taajuus päivien laskentaperuste =KORKOPÄIVÄT. ALUSTA(B2; C2; D2; E2; F2; G2) 2.4.2010 31.12.2015 4 1 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KORKOPÄIVÄT” sivulla 104 ”KORKOPÄIVÄT.SEURAAVA” sivulla 105 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORKOPÄIVÄT KORKOPÄIVÄT-funktio palauttaa päivien määrän sillä korkokaudella, jolloin tilitys tapahtuu. KORKOPÄIVÄT(maksa; erääntymispäivä; taajuus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ taajuus:  Vuosittaisten koronmaksuerien määrä. vuosittain (1): Yksi maksu vuodessa. puolivuosittain (2): Kaksi maksua vuodessa. neljännesvuosittain (4): Neljä maksua vuodessa. 104 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 105 ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Kuvittele harkitsevasi hypoteettisen arvopaperin ostamista, joka kuvataan seuraavilla arvoilla. Voit käyttää KORKOPÄIVÄT-funktiota määrittämään päivien määrän sillä korkokaudella, jolloin tilitys tapahtuu. Funktio palauttaa 91, koska korkokauden alun 1.4.2010 ja korkokauden viimeisen päivän 30.6.2010 välillä on 91 päivää. maksa erääntymispäivä taajuus päivien laskentaperuste =KORKOPÄIVÄT(B2; C2; D2; E2; F2; G2) 2.4.2010 31.12.2015 4 1 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KORKOPÄIVÄT.ALUSTA” sivulla 103 ”KORKOPÄIVÄT.SEURAAVA” sivulla 105 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORKOPÄIVÄT.SEURAAVA KORKOPÄIVÄT.SEURAAVA-funktio palauttaa tilityspäivän ja kyseisen korkokauden lopun välisten päivien määrän. KORKOPÄIVÄT.SEURAAVA(maksa; erääntymispäivä; taajuus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ taajuus:  Vuosittaisten koronmaksuerien määrä. vuosittain (1): Yksi maksu vuodessa. puolivuosittain (2): Kaksi maksua vuodessa. neljännesvuosittain (4): Neljä maksua vuodessa. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Kuvittele harkitsevasi hypoteettisen arvopaperin ostamista, joka kuvataan seuraavilla arvoilla. Voit käyttää KORKOPÄIVÄT.SEURAAVA-funktiota määrittämään päivien lukumäärän ennen seuraavaa koronmaksupäivää. Tämä on päivien lukumäärä ennen ensimmäistä koronmaksua. Funktio palauttaa 89, koska tilityspäivän 2.4.2010 ja seuraavan koronmaksupäivän 30.6.2010 välillä on 89 päivää. maksa erääntymispäivä taajuus päivien laskentaperuste =KORKOPÄIVÄT. SEURAAVA(B2; C2; D2; E2; F2; G2) 2.4.2010 31.12.2015 4 1 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KORKOPÄIVÄT” sivulla 104 ”KORKOPÄIVÄT.ALUSTA” sivulla 103 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 106 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 107 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORKOPÄIVÄJAKSOT KORKOPÄIVÄJAKSOT-funktio palauttaa koronmaksukertojen lukumäärän tilityspäivän ja erääntymispäivän välillä. KORKOPÄIVÄJAKSOT(maksa; erääntymispäivä; taajuus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ taajuus:  Vuosittaisten koronmaksuerien määrä. vuosittain (1): Yksi maksu vuodessa. puolivuosittain (2): Kaksi maksua vuodessa. neljännesvuosittain (4): Neljä maksua vuodessa. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Kuvittele harkitsevasi hypoteettisen arvopaperin ostamista, joka kuvataan seuraavilla arvoilla. Voit käyttää KORKOPÄIVÄJAKSOT-funktiota määrittämään tilityspäivän ja arvopaperin erääntymispäivän välisten koronmaksuerien lukumäärän. Funktio palauttaa 23, koska tilityspäivän 2.4.2010 ja erääntymispäivän 31.12.2015 välillä on 23 neljännesvuosittaista koronmaksuerää, joista ensimmäinen on 30.6.2010. maksa erääntymispäivä taajuus päivien laskentaperuste =KORKOPÄIVÄJAKSOT(B2; C2; D2; E2; F2; G2) 2.4.2010 31.12.2015 4 1 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MAKSETTU.KORKO MAKSETTU.KORKO-funktio palauttaa kiinteisiin maksuihin ja kiinteään korkotasoon perustuvan, koko laina- tai annuiteettimaksuihin sisältyvän koron määrättynä aikana. MAKSETTU.KORKO(kauden korko; luku-kaudet; nykyarvo; aloituskausi; viimeinen kausi; erääntyy) ÂÂ kauden korko:  Korko per kausi. kauden korko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ luku-kaudet:  Kausien määrä. luku-kaudet on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ nykyarvo:  Alkusijoituksen arvo tai lainan tai sijoituksen määrä. nykyarvo on numeroarvo. Alussa (aika 0) vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Esimerkiksi, se voi olla toiselle lainattu summa (positiivinen) tai annuiteettisopimuksen maksettu alkumaksu (negatiivinen). ÂÂ aloituskausi:  Ensimmäinen laskentaan sisällytettävä kausi. aloituskausi on numeroarvo. ÂÂ viimeinen kausi:  Viimeinen laskentaan sisällytettävä kausi. viimeinen kausi on lukuarvo ja sen on oltava suurempi kuin 0 ja myös suurempi kuin aloituskausi. ÂÂ erääntyy:  Määrittelee erääntyvätkö laskut kauden alussa vai lopussa. lopussa (0):  Maksut erääntyvät jokaisen kauden lopussa. alussa (1):  Maksut erääntyvät jokaisen kauden alussa. 108 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 109 Käyttöohjeita ÂÂ Jos maksa-arvo on ennen ensimmäinen-arvoa, funktio palauttaa liikkeellelaskupäivästä alkaen karttuneen koron. Jos maksa on ensimmäinen -arvon jälkeen, funktio palauttaa karttuneen koron siitä koronmaksupäivästä lähtien, joka on heti ennen maksa-arvoa. ÂÂ Käytä KERTYNYT.KORKO.LOPUSSA -funktiota arvopaperille, joka maksaa korkoa vain erääntymispäivänä. Esimerkkejä Yleensä ymmärretään, että lainasta maksetun koron määrä on korkeampi alkuvuosina loppuvuosiin verrattuna. Tässä esimerkissä kerrotaan, kuinka paljon korkeampi korko voi alkuvuosina olla. Kuvittele asuntolaina, jonka määrä on alunperin 550 000 €, korko on 6 % ja laina-aika 30 vuotta. Voit käyttää MAKSETTU.KORKO-funktiota määrittämään koron mille tahansa kaudelle. Seuraavassa taulukossa MAKSETTU.KORKO-funktiota on käytetty määrittämään korko laina-ajan ensimmäiselle vuodelle (erät 1-12) ja viimeiselle vuodelle (erät 349-360). Funktio evaluoituu arvoihin 32 816,27 € ja 1 256,58 €. Ensimmäisen vuoden koron määrä on yli 26-kertainen verrattuna viimeisen vuoden korkoon. kauden korko luku-kaudet nykyarvo aloituskausi viimeinen kausi erääntyy =MAKSETTU. KORKO(B2; C2; D2; E2; F2; G2) =0,06/12 360 =550000 1 12 0 =MAKSETTU. KORKO (B2; C2; D2; E3; F3; G2) 349 360 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”MAKSETTU.LYHENNYS” sivulla 110 ”IPMT” sivulla 120 ”MAKSU” sivulla 130 ”PPMT” sivulla 132 ”Esimerkki lainanlyhennystaulukosta” sivulla 343 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MAKSETTU.LYHENNYS MAKSETTU.LYHENNYS-funktio palauttaa kiinteisiin maksuihin ja kiinteään korkotasoon perustuvan, koko laina- tai annuiteettimaksuihin sisältyvän lainapääoman määrättynä aikana. MAKSETTU.LYHENNYS(kauden korko; luku-kaudet; nykyarvo; aloituskausi; viimeinen kausi; erääntyy) ÂÂ kauden korko:  Korko per kausi. kauden korko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ luku-kaudet:  Kausien määrä. luku-kaudet on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ nykyarvo:  Alkusijoituksen arvo tai lainan tai sijoituksen määrä. nykyarvo on numeroarvo. Alussa (aika 0) vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Esimerkiksi, se voi olla toiselle lainattu summa (positiivinen) tai annuiteettisopimuksen maksettu alkumaksu (negatiivinen). ÂÂ aloituskausi:  Ensimmäinen laskentaan sisällytettävä kausi. aloituskausi on numeroarvo. ÂÂ viimeinen kausi:  Viimeinen laskentaan sisällytettävä kausi. viimeinen kausi on lukuarvo ja sen on oltava suurempi kuin 0 ja suurempi kuin aloituskausi. ÂÂ erääntyy:  Määrittelee erääntyvätkö laskut kauden alussa vai lopussa. lopussa (0):  Maksut erääntyvät jokaisen kauden lopussa. alussa (1):  Maksut erääntyvät jokaisen kauden alussa. Esimerkkejä Yleensä ymmärretään, että lainan lyhennyksen määrä on suurempi loppuvuosina alkuvuosiin verrattuna. Tässä esimerkissä kerrotaan, kuinka paljon suurempi lyhennys voi loppuvuosina olla. Kuvittele asuntolaina, jonka määrä on alunperin 550 000 €, korko on 6 % ja laina-aika 30 vuotta. Voit käyttää MAKSETTU.LYHENNYS-funktiota määrittämään koron mille tahansa kaudelle. Seuraavassa taulukossa MAKSETTU.LYHENNYS-funktiota on käytetty määrittämään maksettu pääoma laina-ajan ensimmäiselle vuodelle (erät 1-12) ja viimeiselle vuodelle (erät 349-360). Funktio evaluoituu arvoihin 6 754,06 € ja 38 313,75 €. Ensimmäisenä vuonna maksetun pääoman määrä on vain noin 18 % viimeisenä vuonna maksetun pääoman määrästä. 110 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 111 kauden korko luku-kaudet nykyarvo aloituskausi viimeinen kausi erääntyy =MAKSETTU. LYHENNYS (B2; C2; D2; E2; F2; G2) =0,06/12 360 =550000 1 12 0 =MAKSETTU. LYHENNYS (B2; C2; D2; E3; F3; G2) 349 360 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”MAKSETTU.KORKO” sivulla 108 ”IPMT” sivulla 120 ”MAKSU” sivulla 130 ”PPMT” sivulla 132 ”Esimerkki lainanlyhennystaulukosta” sivulla 343 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 DB DB-funktio palauttaa omaisuuserän arvonalenemisen määritellyllä kaudella käyttäen amerikkalaista fixed-declining balance -metodia. DB(hinta; loppuarvo; aika; poistokausi; ensimmäinen-vuosi-kuukaudet) ÂÂ hinta:  Sijoituksen alkuperäinen hankintahinta. hinta on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ loppuarvo:  Sijoituksen loppuarvo. loppuarvo on lukuarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ aika:  Kausien määrä omaisuuserän poistoaikana. aika on numeroarvo ja sen on oltava suurempi kuin 0. Argumentissa aika voi olla desimaali (esimerkiksi poistoaika voi olla viisi ja puoli vuotta eli 5,5). ÂÂ poistokausi:  Kausi, jolle poisto halutaan laskea. poistokausi on numeroarvo ja sen on oltava suurempi kuin 0. Jos argumentissa poistokausi on desimaaliosa (murto-osa), sitä ei huomioida. ÂÂ ensimmäinen-vuosi-kuukaudet:  Valinnainen argumentti, joka määrittelee poiston kuukausien määrän ensimmäisenä vuonna. ensimmäinen-vuosi-kuukaudet on numeroarvo ja sen on oltava 1 ja 12 välillä. Jos argumentissa ensimmäinen-vuosikuukaudet on desimaaliosa (murto-osa), sitä ei huomioida. Esimerkki 1 Poistosuunnitelman kokoaminen Kuvittele, että olet juuri ostanut omaisuuserän, joka maksoi 1000 €, sen loppuarvo on 100 € ja sen odotettu käyttöikä on 4 vuotta. Oletetaan, että omaisuuserästä poistetaan ensimmäisen vuoden aikana 12 kuukautta. DB-funktiota käyttämällä voit koota poistotaulukon, jossa näkyy jokaisen vuoden poistot. hinta loppuarvo aika poistokausi ensimmäinenvuosi- kuukaudet 1000 100 4 12 Ensimmäinen vuosi (palauttaa 438 €) =DB(B2; C2; D2; E3; F2) 1 Toinen vuosi (palauttaa 246,16 €) =DB(B2; C2; D2; E4; F2) 2 Kolmas vuosi (palauttaa 138,74 €) =DB(B2; C2; D2; E5; F2) 3 Neljäs vuosi (palauttaa 77,75 €) =DB(B2; C2; D2; E6; F2) 4 Esimerkki 2 Poisto, kun ensimmäinen vuosi on alle 12kk Oleta muuten samat tiedot kuin Esimerkki 1:ssä, paitsi että omaisuuserästä poistetaan alle 12 kuukautta ensimmäisenä vuonna. 112 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 113 hinta loppuarvo aika poistokausi ensimmäinenvuosi- kuukaudet 1000 100 4 1 Poista 9 kuukautta (palauttaa 328,50 €) =DB(B2; C2; D2; E2; F3) 9 Poista 6 kuukautta (palauttaa 219 €) =DB(B2; C2; D2; E2; F4) 3 Poista 3 kuukautta (palauttaa 109,50 €) =DB(B2; C2; D2; E2; F5) 6 Poista 1 kuukausi (palauttaa 36,50 €) =DB(B2; C2; D2; E2; F6) 1 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”DDB” sivulla 113 ”STP” sivulla 143 ”VUOSIPOISTO” sivulla 144 ”VDB” sivulla 145 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 DDB DDB-funktio (double-declining balance) palauttaa omaisuuserän arvonalenemisen määrän perustuen määritettyyn poistoprosenttiin. DDB(hinta; loppuarvo; aika; poistokausi; poistokerroin) ÂÂ hinta:  Sijoituksen alkuperäinen hankintahinta. hinta on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ loppuarvo:  Sijoituksen loppuarvo. loppuarvo on lukuarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ aika:  Kausien määrä omaisuuserän poistoaikana. aika on numeroarvo ja sen on oltava suurempi kuin 0. Argumentissa aika voi olla desimaali (esimerkiksi poistoaika voi olla viisi ja puoli vuotta eli 5,5). ÂÂ poistokausi:  Kausi, jolle poisto halutaan laskea. poistokausi on numeroarvo ja sen on oltava suurempi kuin 0. Jos argumentissa poistokausi on desimaaliosa (murto-osa), sitä ei huomioida. ÂÂ poistokerroin:  Valinnainen luku, joka määrittää poistoprosentin. poistokerroin on numeroarvo. Jos argumentti jätetään pois, oletusarvona on 2 (200 % tuplapoistossa). Mitä korkeampi luku, sitä nopeampi poisto. Esimerkiksi jos poistoprosentiksi halutaan 1,5 kertaa tasapoisto, käytä arvoa 1,5 tai 150 %. Esimerkkejä Kuvittele, että olet juuri ostanut omaisuuserän, joka maksoi 1000 €, sen loppuarvo on 100 € ja sen odotettu käyttöikä on 4 vuotta. DDB-funktiolla voit määrittää arvonalenemiset erilaisille kausille ja erilaisille poistoprosenteille. hinta loppuarvo aika poistokausi poistokerroin 1000 100 4 Ensimmäinen vuosi, DDB (palauttaa 500 €) =DDB(B2; C2; D2; E3; F3) 1 2 Toinen vuosi, DDB (palauttaa 250 €) =DDB(B2; C2; D2; E4; F4) 2 2 Kolmas vuosi, DDB (palauttaa 125 €) =DDB(B2; C2; D2; E5; F5) 3 2 Neljäs vuosi, DDB (palauttaa 25 €) =DDB(B2; C2; D2; E6; F6) 4 2 Ensimmäinen vuosi, tasapoisto (palauttaa 250 €) =DDB(B2; C2; D2; E7; F7) 1 1 Ensimmäinen vuosi, kolminkertainen poisto (palauttaa 750 €) =DDB(B2;C2;D2;E8; F8) 3 1 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”DB” sivulla 111 ”STP” sivulla 143 ”VUOSIPOISTO” sivulla 144 114 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 115 ”VDB” sivulla 145 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 DISKONTTOKORKO DISKONTTOKORKO-funktio palauttaa vuosittaisen diskonttokoron arvopaperille, jolle ei makseta korkoa ja joka on myyty alle lunastusarvonsa. DISKONTTOKORKO(maksa; erääntymispäivä; hinta; lunastus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ hinta:  Arvopaperin hinta nimellisarvon 100 €:a kohden. hinta on numeroarvo. ÂÂ lunastus:  Lunastushinta nimellisarvon 100 €:a kohden. lunastus on numeroarvo, jonka on oltava suurempi kuin 0. lunastus on summa, jonka arvopaperista saa sen nimellisarvon 100 €:a kohden. Usein se on 100, joka tarkoittaa sitä, että arvopaperin lunastusarvo on sama kuin sen nimellisarvo. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Tässä esimerkissä DISKONTTOKORKO-funktiota käytetään määrittelemään vuosittainen diskonttokorko hypoteettiselle arvopaperille, jota kuvataan seuraavilla arvoilla. Funktio evaluoituu arvoon 5,25 %, joka on vuosittainen diskonttokorko. maksa erääntymispäivä hinta lunastus päivien laskentaperuste =DISKONTTOKORKO(B2; C2; D2; E2; F2) 1.5.2009 30.6.2015 67,64 100 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”HINTA.DISK” sivulla 135 ”TUOTTO.DISK” sivulla 148 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORKO.EFEKT KORKO.EFEKT-funktio palauttaa efektiivisen vuosikorkokannan nimellisestä vuosikorkokannasta perustuen määrättyyn määrään korkoakorollemaksavia jaksoja vuodessa. KORKO.EFEKT(nimelliskorko; luku-kaudet-vuosi) ÂÂ nimelliskorko:  Arvopaperin nimelliskorko. nimelliskorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ luku-kaudet-vuosi:  Korkojaksojen lukumäärä vuodessa. luku-kaudet-vuosi on numeroarvo ja sen on oltava suurempi kuin 0. 116 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 117 Esimerkkejä =KORKO.EFEKT(0,05; 365) palauttaa noin 5,13 %, joka on vuosittainen efektiivinen korko, jos 5 % lasketaan päiväsaldolle. =KORKO.EFEKT(0,05; 12) palauttaa noin 5,12 %, joka on vuosittainen efektiivinen korko, jos 5 % lasketaan kuukauden keskisaldolle. =KORKO.EFEKT(0,05; 4) palauttaa noin 5,09 %, joka on vuosittainen efektiivinen korko, jos 5 % lasketaan kolmen kuukauden keskisaldolle. =KORKO.EFEKT(0,05; 2) palauttaa noin 5,06 %, joka on vuosittainen efektiivinen korko, jos 5 % lasketaan kuuden kuukauden keskisaldolle. =KORKO.EFEKT(0,05; 1) palauttaa noin 5,00 %, joka on vuosittainen efektiivinen korko, jos 5 % lasketaan vuoden keskisaldolle. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KORKO.VUOSI” sivulla 126 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TULEVA.ARVO TULEVA.ARVO-funktio palauttaa sijoituksen tulevan arvon perustuen sarjaan säännöllisiä jaksottaisia rahavirtoja (kiinteitä maksueriä ja säännöllisin väliajoin toistuvia rahavirtoja) ja kiinteään korkoprosenttiin. TULEVA.ARVO(kauden korko; luku-kaudet; maksu; nykyarvo; erääntyy) ÂÂ kauden korko:  Korko per kausi. kauden korko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ luku-kaudet:  Kausien määrä. luku-kaudet on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ maksu:  Joka kausi suoritettu tai saatu maksu. maksu on numeroarvo. Jokaisella kaudella vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan maksettava kuukausierä (negatiivinen) tai annuiteetista saatava kuukausittainen maksu (positiivinen). ÂÂ nykyarvo:  Valinnainen argumentti, joka määrittelee alkusijoituksen arvon tai lainan tai annuiteetin määrän. nykyarvo on numeroarvo. Alussa (aika 0) vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Esimerkiksi, se voi olla toiselle lainattu summa (positiivinen) tai annuiteettisopimuksen maksettu alkumaksu (negatiivinen). ÂÂ erääntyy:  Valinnainen argumentti, joka määrittelee erääntyvätkö laskut kauden alkaessa vai päättyessä. Useimmat asuntolainat ja muut lainat edellyttävät ensimmäisen maksun tekemistä ensimmäisen kauden (0) lopussa, joten se on oletusarvona. Useimmat liisaus- ja vuokraerät ja jotkin muuntyyppiset maksut maksetaan kauden alussa (1). lopussa (0 tai jätetty pois):  Maksut erääntyvät jokaisen kauden lopussa. alussa (1):  Maksut erääntyvät jokaisen kauden alussa. Käyttöohjeita ÂÂ Jos maksu on määritelty eikä alkusijoitusta ole, nykyarvo voidaan jättää pois. Esimerkki 1 Kuvittele suunnittelevasi tyttäresi opintojen rahoittamista. Hän on juuri täyttänyt 3 ja oletat hänen aloittavan opiskelunsa 15 vuoden kuluttua. Sinulla on 50 000 € sijoitettavaksi talletustilille nyt ja voit lisätä 200 € tilille joka kuukauden lopussa. Seuraavan 15 vuoden kuluessa säästötilille oletetaan maksettavan vuosittaista korkoa 4,5 %, ja korko lasketaan kuukauden keskisaldolle. TULEVA.ARVO-funktiolla voit määrittää säästötilin odotetun arvon sillä hetkellä, kun tyttäresi aloittaa opiskelun. Perustuen annettuihin oletuksiin, sen pitäisi olla 149 553,00 €. kauden korko luku-kaudet maksu nykyarvo erääntyy =TULEVA.ARVO(B2; C2; D2; E2; F2) =0,045/12 =15*12 -200 -50000 1 Esimerkki 2 Kuvittele, että sinulle esitellään sijoitusmahdollisuus. Mahdollisuus edellyttää, että sijoitat 50 000 € diskontattuun arvopaperiin nyt, eikä mitään sen jälkeen. Diskontattu arvopaperi erääntyy 14 vuoden kuluttua ja sen lunastusarvo on 100 000 €. Vaihtoehtoisesti voit jättää rahasi pankin säästötilille, jossa sen odotettu vuosittainen tuotto on 5,25%. Yksi tapa arvioida tätä sijoitusmahdollisuutta on miettiä kuinka suuri arvo 50 000 €:lla on sijoituskauden lopussa ja verrata sitä diskontatun arvopaperin lunastushintaan. TULEVA.ARVO-funktiolla voit määrittää odotetun tulevan arvon pankin säästötilillä olevalle rahalle. Annettuihin oletuksiin perustuen se olisi 102 348,03 €. Sen vuoksi, jos kaikki oletukset toteutuisivat, olisi parempi pitää rahat pankin säästötilillä, koska rahan arvo 14 vuoden jälkeen (102 348,03 €) on suurempi kuin diskontatun arvopaperin lunastusarvo (100 000 €). kauden korko luku-kaudet maksu nykyarvo erääntyy =TULEVA.ARVO(B2; C2; D2; E2; F2) 0,0525 14 0 -50000 1 118 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 119 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”NJAKSO” sivulla 127 ”NNA” sivulla 129 ”MAKSU” sivulla 130 ”NA” sivulla 138 ”KORKO” sivulla 140 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORKO.ARVOPAPERI KORKO.ARVOPAPERI-funktio palauttaa efektiivisen vuosikorkokannan arvopaperille, joka maksaa korkoa vain erääntymispäivänä. KORKO.ARVOPAPERI(maksa; erääntymispäivä; sijoitusmäärä; erääntymispäivä; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ sijoitusmäärä:  Arvopaperiin sijoitettu määrä. sijoitusmäärä on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ lunastus:  Lunastushinta nimellisarvon 100 €:a kohden. lunastus on numeroarvo, jonka on oltava suurempi kuin 0. lunastus on summa, jonka arvopaperista saa sen nimellisarvon 100 €:a kohden. Usein se on 100, joka tarkoittaa sitä, että arvopaperin lunastusarvo on sama kuin sen nimellisarvo. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Tässä esimerkissä KORKO.ARVOPAPERI-funktiota käytetään määrittelemään vuosittainen efektiivinen korkokanta hypoteettiselle arvopaperille, jota kuvataan seuraavilla arvoilla. Arvopaperi maksaa korkoa vain erääntymispäivänä. funktio evaluoituu noin arvoon 10,85 %. maksa erääntymispäivä sijoitusmäärä nimellisarvo päivien laskentaperuste =KORKO. ARVOPAPERI(B2; C2; D2; E2; F2) 1.5.2009 30.6.2015 990,02 1651,83 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SAATU.HINTA” sivulla 142 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 IPMT IPMT-funktio palauttaa määrätyn lainan tai sijoituksen maksuerän korko-osuuden perustuen kiinteisiin, kausittaisiin maksuihin ja kiinteään korkoon. IPMT(kauden korko; kausi; luku-kaudet; nykyarvo; tuleva arvo; erääntyy) ÂÂ kauden korko:  Korko per kausi. kauden korko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). 120 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 121 ÂÂ kausi:  Maksukausi, jolle halutaan laskea lyhennyksen tai koron määrä. kausi on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ luku-kaudet:  Kausien määrä. luku-kaudet on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ nykyarvo:  Alkusijoituksen arvo tai lainan tai sijoituksen määrä. nykyarvo on numeroarvo. Alussa (aika 0) vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Esimerkiksi, se voi olla toiselle lainattu summa (positiivinen) tai annuiteettisopimuksen maksettu alkumaksu (negatiivinen). ÂÂ tuleva arvo:  Valinnainen argumentti, joka edustaa sijoituksen arvoa tai annuiteetin jäljellä olevaa raha-arvoa (positiivinen määrä) tai jäljellä olevaa lainaa (negatiivinen määrä) viimeisen maksun jälkeen. tuleva arvo on numeroarvo. Sijoituskauden lopussa vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan viimeinen isompi erä (negatiivinen) tai sijoituksen viimeinen suurempi maksu (positiivinen). Jos se jätetään pois, sen oletetaan olevan 0. ÂÂ erääntyy:  Valinnainen argumentti, joka määrittelee erääntyvätkö laskut kauden alkaessa vai päättyessä. Useimmat asuntolainat ja muut lainat edellyttävät ensimmäisen maksun tekemistä ensimmäisen kauden (0) lopussa, joten se on oletusarvona. Useimmat liisaus- ja vuokraerät ja jotkin muuntyyppiset maksut maksetaan kauden alussa (1). lopussa (0 tai jätetty pois):  Maksut erääntyvät jokaisen kauden lopussa. alussa (1):  Maksut erääntyvät jokaisen kauden alussa. Esimerkki Tässä esimerkissä IPMT-funktiota käytetään määrittämään laina-ajan kolmannen vuoden ensimmäisen maksun (25. maksu) koron osuus esitellyillä lainatiedoilla. funktio evaluoituu noin arvoon -922,41 €, joka on 25. maksun koron osuus. kauden korko kausi luku-kaudet nykyarvo tuleva arvo erääntyy =IPMT(B2; C2; D2; E2; F2; G2) =0,06/12 25 =10*12 200000 -100000 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”MAKSETTU.KORKO” sivulla 108 ”MAKSETTU.LYHENNYS” sivulla 110 ”MAKSU” sivulla 130 ”PPMT” sivulla 132 ”Esimerkki lainanlyhennystaulukosta” sivulla 343 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SISÄINEN KORKO SISÄINEN KORKO -funktio palauttaa sisäisen tuottoprosentin investoinnille, joka perustuu sarjaan potentiaalisesti epäsäännöllisiä rahavirtoja (maksujen ei tarvitse olla vakiosuuruisia), jotka tapahtuvat säännöllisin väliajoin. SISÄINEN KORKO(kassavirta-alue; arvio) ÂÂ kassavirta-alue:  Kassavirta-arvot sisältävä joukko. kassavirta-alue on numeroarvoja sisältävä joukko. Tulo (rahavirta sisään) on positiivinen numero ja kulu (rahavirta ulos) on negatiivinen numero. Joukossa on oltava vähintään yksi positiivinen ja yksi negatiivinen arvo. Rahavirrat on määriteltävä aikajärjestyksessä ja samalla tavalla kausittaisesti (esimerkiksi joka kuukausi). Jos jollain kaudella ei ole rahavirtaa, käytä arvoa 0 sille kaudelle. ÂÂ arvio:  Valinnainen argumentti, joka määrittelee arviolaskelman korkokannalle. arvio on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). Jos se jätetään pois, oletusarvona on 10 %. Jos oletusarvo ei tuota ratkaisua, kokeile suurempaa positiivista arvoa. Jos se ei tuota tulosta, kokeile pientä negatiivista arvoa. Pienin sallittu arvo on -1. Käyttöohjeita ÂÂ Jos kausittaiset rahavirrat ovat samat, voit harkita NNA-funktion käyttämistä. Esimerkki 1 Kuvittele suunnittelevasi tyttäresi opintojen rahoittamista. Hän on juuri täyttänyt 13 ja oletat hänen aloittavan opiskelunsa 5 vuoden kuluttua. Sinulla on nyt 75 000 € säästötilillä ja lisäät siihen joka vuosi loppuvuodesta työpaikaltasi saamasi bonuksen. Koska uskot bonuksesi kasvavan joka vuosi, odotat pystyväsi säästämään 5000 €, 7000 €, 8000 €, 9000 €, ja 10 000 €, tässä järjestyksessä tulevien viiden vuoden lopussa. Uskot tarvitsevasi 150 000 € tyttäresi koulutukseen siinä vaiheessa, kun hän aloittaa opiskelut. Käyttämällä SISÄINEN KORKO-funktiota voit määrittää kuinka paljon korkoa sinun pitäisi saada sijoittamillesi rahoille, jotta lopusumma olisi 150 000 €. Annettuihin oletuksiin perustuen koron tulisi olla 5,70 %. 122 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 123 Alkuperäinen talletus Vuosi 1 Vuosi 2 Vuosi 3 Vuosi 4 Vuosi 5 Tarvittava summa =SISÄINEN KORKO(B2:H2) -75000 -5000 -7000 -8000 -9000 -10000 150000 Esimerkki 2 Kuvittele, että sinulle on esitelty mahdollisuus sijoittaa rahaa yhtiöön. Tarvittava alkusijoitus on 50 000 €. Koska yhtiössä jatketaan tuotekehitystä, 25 000 € ja 10 000 € sijoitukset tarvitaan vielä ensimmäisen ja toisen vuoden lopussa (tässä järjestyksessä). Kolmantena vuonna yhtiö uskoo toimivansa tulorahoituksella, mutta se ei vielä pysty maksamaan tuottoa sijoittajille. Neljäntenä ja viidentenä vuonna sijoittajien ennustetaan saavan 10 000 € ja 30 000 € (tässä järjestyksessä). Kuudennen vuoden lopussa yhtiö suunnitelmien mukaan myydään ja sijoittajien ennustetaan saavan 100 000 €. SISÄINEN KORKO -funktiolla voit laskea tämän sijoituksen odotetun tuottoprosentin. Annettuihin oletuksiin perustuen koron pitäisi olla 10,24 %. Alkuperäinen talletus Vuosi 1 Vuosi 2 Vuosi 3 Vuosi 4 Vuosi 5 Myyntituotot =SISÄINEN KORKO(B2:H2) -50000 -25000 -10000 0 10000 30000 100000 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”MSISÄINEN” sivulla 125 ”NNA” sivulla 129 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ONMAKSU ONMAKSU-funktio palauttaa määrätyn lainan tai annuiteettimaksun korko-osuuden perustuen kiinteisiin, jaksotettuihin maksuihin ja kiinteään korkoon. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muiden taulukkolaskentaohjelmien kanssa. ONMAKSU(vuosikorko; kausi; luku-kaudet; nykyarvo) ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ kausi:  Maksukausi, jolle halutaan laskea lyhennyksen tai koron määrä. kausi on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ luku-kaudet:  Kausien määrä. luku-kaudet on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ nykyarvo:  Alkusijoituksen arvo tai lainan tai sijoituksen määrä. nykyarvo on numeroarvo. Alussa (aika 0) vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Esimerkiksi, se voi olla toiselle lainattu summa (positiivinen) tai annuiteettisopimuksen maksettu alkumaksu (negatiivinen). Käyttöohjeita ÂÂ IPMT-funktiossa on lisätoimintoja, ja sitä pitäisi käyttää ONMAKSU-funktion sijaan. Esimerkki Tässä esimerkissä ONMAKSU-funktiota käytetään määrittämään laina-ajan kolmannen vuoden ensimmäisen maksun (25. maksu) koron osuus esitellyillä lainatiedoilla. funktio evaluoituu noin arvoon -791,67 € joka on 25. maksun koron osuus. kauden korko kausi luku-kaudet nykyarvo =ONMAKSU(B2; C2; D2; E2) =0,06/12 25 =10*12 200000 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”IPMT” sivulla 120 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 124 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 125 MSISÄINEN MSISÄINEN-funktio palauttaa muokatun sisäisen tuottoprosentin investoinnille, joka perustuu sarjaan potentiaalisesti epäsäännöllisiä rahavirtoja (maksujen ei tarvitse olla vakiosuuruisia), jotka tapahtuvat säännöllisin väliajoin. Positiivisten rahavirtojen tuottoprosentti ja negatiivisten rahavirtojen rahoittamiseen tarvittavan lainan korkoprosentti voivat olla erilaisia. MSISÄINEN(kassavirta-alue; rahoituskorko; uudelleensijoituskorko) ÂÂ kassavirta-alue:  Kassavirta-arvot sisältävä joukko. kassavirta-alue on numeroarvoja sisältävä joukko. Tulo (rahavirta sisään) on positiivinen numero ja kulu (rahavirta ulos) on negatiivinen numero. Joukossa on oltava vähintään yksi positiivinen ja yksi negatiivinen arvo. Rahavirrat on määriteltävä aikajärjestyksessä ja samalla tavalla kausittaisesti (esimerkiksi joka kuukausi). Jos jollain kaudella ei ole rahavirtaa, käytä arvoa 0 sille kaudelle. ÂÂ rahoituskorko:  Maksettu negatiivisen rahavirran korkoprosentti (menot). rahoituskorko on numeroarvo, joka syötetään joko desimaalina (esimerkiksi 0,08) tai prosenttimerkillä (esimerkiksi 8 %). Se edustaa korkoprosenttia, jolla negatiivinen rahavirta rahoitetaan. Esimerkiksi voidaan käyttää yrityksen pääomakustannusta. ÂÂ uudelleensijoituskorko:  Korko, jolla positiivinen kassavirta voidaan uudelleensijoittaa. uudelleensijoituskorko on numeroarvo, joka syötetään joko desimaalina (esimerkiksi 0,08) tai prosenttimerkillä (esimerkiksi 8 %). Se edustaa korkoprosenttia, jolla vastaanotetut varat (positiivinen rahavirta) voidaan sijoittaa uudelleen. Esimerkiksi voidaan käyttää yrityksen lyhytaikaisten sijoitusten korkoprosenttia. Käyttöohjeita ÂÂ Rahavirrat on jaksoitettava samalla tavalla. Jos jollain jaksolla ei ole rahavirtoja, käytä arvoa 0. Esimerkki 1 Kuvittele, että sinulle on esitelty mahdollisuus sijoittaa rahaa yhtiöön. Tarvittava alkusijoitus on 50 000 €. Koska yhtiössä jatketaan tuotekehitystä, 25 000 € ja 10 000 € sijoitukset tarvitaan vielä ensimmäisen ja toisen vuoden lopussa (tässä järjestyksessä). Kolmantena vuonna yhtiö uskoo toimivansa tulorahoituksella, mutta se ei vielä pysty maksamaan tuottoa sijoittajille. Neljäntenä ja viidentenä vuonna sijoittajien ennustetaan saavan 10 000 € ja 30 000 € (tässä järjestyksessä). Kuudennen vuoden lopussa yhtiö suunnitelmien mukaan myydään ja sijoittajien ennustetaan saavan 100 000 €. Oletetaan, että voit tällä hetkellä lainata rahaa 9,00 %:n korolla (rahoituskorko) ja voit ansaita 4,25 % lyhytaikaisilla säästöillä (uudelleensijoituskorko) SISÄINEN KORKO -funktiolla voit laskea tämän sijoituksen odotetun tuottoprosentin. Annettuihin oletuksiin perustuen koron pitäisi olla noin 9,75 %. Alkuperäinen talletus Vuosi 1 Vuosi 2 Vuosi 3 Vuosi 4 Vuosi 5 Myyntituotot =MSISÄINEN (B2:H2; 0,09; 0,0425) -50000 -25000 -10000 0 10000 30000 100000 Esimerkki 2 Oleta samat tiedot kuin esimerkissä 1, mutta sen sijaan että asetat rahavirrat eri soluihin, voit määritellä rahavirrat matriisivakiona. MSISÄINEN-funktio on silloin seuraavanlainen: =MSISÄINEN({-50000; -25000; -10000; 0; 10000; 30000; 100000}, 0,09; 0,0425) palauttaa noin 9,75 %. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SISÄINEN KORKO” sivulla 122 ”NNA” sivulla 129 ”NA” sivulla 138 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORKO.VUOSI KORKO.VUOSI-funktio palauttaa vuosittaisen nimellisen koron efektiivisestä vuosikorkokannasta perustuen määrättyyn määrään korkoakorollemaksavia jaksoja vuodessa. KORKO.VUOSI(efektiivinen korko; luku-kaudet-vuosi) ÂÂ efektiivinen korko:  Arvopaperin efektiivinen korko. efektiivinen korko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ luku-kaudet-vuosi:  Korkojaksojen lukumäärä vuodessa. luku-kaudet-vuosi on numeroarvo ja sen on oltava suurempi kuin 0. 126 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 127 Esimerkkejä =KORKO.VUOSI(0,0513; 365) palauttaa noin 5,00 %, vuosittaisen nimellisen korkokannan, jos efektiivinen korko 5,13 % perustuu päiväsaldoon. =KORKO.VUOSI(0,0512; 12) palauttaa noin 5,00 %, vuosittaisen nimellisen korkokannan, jos efektiivinen korko 5,12 % perustuu kuukausisaldoon. =KORKO.VUOSI(0,0509; 4) palauttaa noin 5,00 %, vuosittaisen nimellisen korkokannan, jos efektiivinen korko 5,09 % perustuu neljännesvuosisaldoon. =KORKO.VUOSI(0,0506; 2) palauttaa noin 5,00 %, vuosittaisen nimellisen korkokannan, jos efektiivinen korko 5,06 % perustuu puolivuosisaldoon. =KORKO.VUOSI(0,0500; 1) palauttaa noin 5,00 %, vuosittaisen nimellisen korkokannan, jos efektiivinen korko 5,00 % perustuu vuosisaldoon. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KORKO.EFEKT” sivulla 116 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NJAKSO NJAKSO-funktio palauttaa lainan tai sijoituksen maksukausien määrän perustuen sarjaan säännöllisiä kausittaisia rahavirtoja (vakiomääräisiä maksuja ja rahavirtoja määrätyin väliajoin) ja kiinteään korkoprosenttiin. NJAKSO(kauden korko; maksu; nykyarvo; tuleva arvo; erääntyy) ÂÂ kauden korko:  Korko per kausi. kauden korko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ maksu:  Joka kausi suoritettu tai saatu maksu. maksu on numeroarvo. Jokaisella kaudella vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan maksettava kuukausierä (negatiivinen) tai annuiteetista saatava kuukausittainen maksu (positiivinen). ÂÂ nykyarvo:  Alkusijoituksen arvo tai lainan tai annuiteetin määrä määriteltynä negatiivisena lukuna. nykyarvo on numeroarvo. Alussa (aika 0) vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Esimerkiksi se voi olla toiselle lainattu summa (positiivinen) tai annuiteettisopimuksen maksettu alkumaksu (negatiivinen). ÂÂ tuleva arvo:  Valinnainen argumentti, joka määrittelee sijoituksen arvoa tai annuiteetin jäljellä olevaa raha-arvoa (positiivinen määrä) tai jäljellä olevaa lainaa (negatiivinen määrä) viimeisen maksun jälkeen. tuleva arvo on numeroarvo. Sijoituskauden lopussa vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan viimeinen isompi erä (negatiivinen) tai sijoituksen viimeinen suurempi maksu (positiivinen). ÂÂ erääntyy:  Valinnainen argumentti, joka määrittelee erääntyvätkö laskut kauden alkaessa vai päättyessä. Useimmat asuntolainat ja muut lainat edellyttävät ensimmäisen maksun tekemistä ensimmäisen kauden (0) lopussa, joten se on oletusarvona. Useimmat liisaus- ja vuokraerät ja jotkin muuntyyppiset maksut maksetaan kauden alussa (1). lopussa (0 tai jätetty pois):  Maksut erääntyvät jokaisen kauden lopussa. alussa (1):  Maksut erääntyvät jokaisen kauden alussa. Esimerkki 1 Kuvittele suunnittelevasi tyttäresi opintojen rahoittamista. Sinulla on 50 000 € sijoitettavaksi talletustilille nyt ja voit lisätä 200 € tilille joka kuukauden lopussa. Säästötilin vuosittaisen koron odotetaan olevan 4,5 %, ja korot maksetaan kuukausittain. Uskot tarvitsevasi 150 000 € siinä vaiheessa kun hän aloittaa opiskelut. NJAKSO-funktiolla voit määrittää, kuinka monena kautena sinun on tehtävä 200 € :n talletus. Annettuihin tietoihin perustuen se olisi noin 181 kautta eli 15 vuotta ja 1 kuukausi. kauden korko maksu nykyarvo tuleva arvo erääntyy =NJAKSO(B2; C2; D2; E2; F2) =0,045/12 -200 -50000 150000 1 Esimerkki 2 Kuvittele, että olet ostamassa enosi kesämökin. Sinulla on 30 000 € käytettäväksi käsirahana nyt ja voit lyhentää lainaa 1500 € kuussa. Enosi sanoo, että hän voi lainata sinulle käsirahan ja mökin käyvän arvon 200 000 €:n välisen erotuksen (eli lainaisit häneltä 170 000 €) 7 % vuosittaisella korolla. NJAKSO-funktiolla voit määrittää, kuinka monta kuukautta sinulla menee enosi lainan maksamiseen. Annettuihin tietoihin perustuen siihen menisi noin 184 kuukautta eli 15 vuotta ja 4 kuukautta. kauden korko maksu nykyarvo tuleva arvo erääntyy =NJAKSO(B2; C2; D2; E2; F2) =0,07/12 -1500 170000 0 1 128 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 129 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TULEVA.ARVO” sivulla 117 ”MAKSU” sivulla 130 ”NA” sivulla 138 ”KORKO” sivulla 140 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NNA NNA-funktio palauttaa sijoituksen tämänhetkisen nettoarvon perustuen sarjaan potentiaalisesti epäsäännöllisiä rahavirtoja, jotka tapahtuvat säännöllisin väliajoin. NNA(kauden diskonttokorko; kassavirta; kassavirta…) ÂÂ kauden diskonttokorko Diskonttokorko per kausi. kauden diskonttokorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). kauden diskonttokorko on oltava suurempi tai yhtä suuri kuin 0. ÂÂ kassavirta:   Kassavirta. kassavirta on numeroarvo. Positiivinen arvo on tulo (rahavirta sisään). Negatiivinen arvo on kulu (rahavirta ulos). Rahavirrat on jaksoitettava samalla tavalla. ÂÂ kassavirta...:  Voit sisällyttää yhden tai useamman kassavirran. Käyttöohjeita ÂÂ kauden diskonttokorko määritellään käyttämällä samaa ajanjaksoa kuin kassavirrassa. Esimerkiksi, jos kassavirrat ovat kuukausittaisia ja haluttu vuosittainen diskonttokorko on 8 %, kauden diskonttokorko on määriteltävä arvona 0,00667 tai 0,667 % (0,08 jaettuna 12). ÂÂ Jos rahavirrat ovat epäsäännöllisiä, käytä SISÄINEN KORKO-funktiota. Esimerkki Kuvittele, että sinulle on esitelty mahdollisuus sijoittaa rahaa yhtiöön. Koska yhtiössä jatketaan tuotekehitystä, 25 000 € ja 10 000 € sijoitukset tarvitaan vielä ensimmäisen ja toisen vuoden lopussa (tässä järjestyksessä). Kolmantena vuonna yhtiö uskoo toimivansa tulorahoituksella, mutta se ei vielä pysty maksamaan tuottoa sijoittajille. Neljäntenä ja viidentenä vuonna sijoittajien ennustetaan saavan 10 000 € ja 30 000 € (tässä järjestyksessä). Kuudennen vuoden lopussa yhtiö suunnitelmien mukaan myydään ja sijoittajien ennustetaan saavan 100 000 €. Jotta sijoittaminen kannattaa, haluat saada sijoituksellesi vähintään 10 % vuosittaisen tuoton. NNA-funktiolla voit määrittää maksimimäärän, jonka olet valmis alunperin sijoittamaan yhtiöön. Annettuihin oletuksiin perustuen NNA olisi 50 913, 43 €. Eli jos alkuperäinen sijoituksesi on tämän verran tai vähemmän, tilaisuus vastaa 10 % tavoitteeseesi. kauden korko Vuosi 1 Vuosi 2 Vuosi 3 Vuosi 4 Vuosi 5 Myyntituotot =NNA(B2; C2:H2) 0,10 -25000 -10000 0 10000 30000 100000 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SISÄINEN KORKO” sivulla 122 ”NA” sivulla 138 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MAKSU MAKSU-funktio palauttaa lainan tai sijoituksen kiinteän jaksottaisen maksun perustuen sarjaan säännöllisiä jaksottaisia rahavirtoja (vakiomääräisiä maksuja ja rahavirtoja määrätyin väliajoin) ja kiinteään korkoprosenttiin. MAKSU(kauden korko; luku-kaudet; nykyarvo; tuleva arvo; erääntyy) ÂÂ kauden korko:  Korko per kausi. kauden korko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). 130 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 131 ÂÂ luku-kaudet:  Kausien määrä. luku-kaudet on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ nykyarvo:  Alkusijoituksen arvo tai lainan tai sijoituksen määrä. nykyarvo on numeroarvo. Alussa (aika 0) vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Esimerkiksi, se voi olla toiselle lainattu summa (positiivinen) tai annuiteettisopimuksen maksettu alkumaksu (negatiivinen). ÂÂ tuleva arvo:  Valinnainen argumentti, joka edustaa sijoituksen arvoa tai annuiteetin jäljellä olevaa raha-arvoa (positiivinen määrä) tai jäljellä olevaa lainaa (negatiivinen määrä) viimeisen maksun jälkeen. tuleva arvo on numeroarvo. Sijoituskauden lopussa vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan viimeinen isompi erä (negatiivinen) tai sijoituksen viimeinen suurempi maksu (positiivinen). Jos se jätetään pois, sen oletetaan olevan 0. ÂÂ erääntyy:  Valinnainen argumentti, joka määrittelee erääntyvätkö laskut kauden alkaessa vai päättyessä. Useimmat asuntolainat ja muut lainat edellyttävät ensimmäisen maksun tekemistä ensimmäisen kauden (0) lopussa, joten se on oletusarvona. Useimmat liisaus- ja vuokraerät ja jotkin muuntyyppiset maksut maksetaan kauden alussa (1). lopussa (0 tai jätetty pois):  Maksut erääntyvät jokaisen kauden lopussa. alussa (1):  Maksut erääntyvät jokaisen kauden alussa. Esimerkki Tässä esimerkissä MAKSU-funktiota käytetään määrittämään kiinteä maksuerä, kun lainan muut tiedot on annettu. funktio evaluoituu arvoon -1610,21 €, joka on lainan kiinteä maksuerä (se on negatiivinen, koska se on kulu). kauden korko luku-kaudet nykyarvo tuleva arvo erääntyy =MAKSU(B2; C2; D2; E2; F2) =0,06/12 =10*12 200000 -100000 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TULEVA.ARVO” sivulla 117 ”IPMT” sivulla 120 ”NJAKSO” sivulla 127 ”PPMT” sivulla 132 ”NA” sivulla 138 ”KORKO” sivulla 140 ”Esimerkki lainanlyhennystaulukosta” sivulla 343 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PPMT PPMT-funktio palauttaa määrätyn lainan tai sijoituksen maksuerän pääoman osuuden perustuen kiinteisiin, jaksotettuihin maksuihin ja kiinteään korkoon. PPMT(kauden korko; kausi; luku-kaudet; nykyarvo; tuleva arvo; erääntyy) ÂÂ kauden korko:  Korko per kausi. kauden korko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ kausi:  Maksukausi, jolle halutaan laskea lyhennyksen tai koron määrä. kausi on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ luku-kaudet:  Kausien määrä. luku-kaudet on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ nykyarvo:  Alkusijoituksen arvo tai lainan tai sijoituksen määrä. nykyarvo on numeroarvo. Alussa (aika 0) vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Esimerkiksi, se voi olla toiselle lainattu summa (positiivinen) tai annuiteettisopimuksen maksettu alkumaksu (negatiivinen). ÂÂ tuleva arvo:  Valinnainen argumentti, joka edustaa sijoituksen arvoa tai annuiteetin jäljellä olevaa raha-arvoa (positiivinen määrä) tai jäljellä olevaa lainaa (negatiivinen määrä) viimeisen maksun jälkeen. tuleva arvo on numeroarvo. Sijoituskauden lopussa vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan viimeinen isompi erä (negatiivinen) tai sijoituksen viimeinen suurempi maksu (positiivinen). Jos se jätetään pois, sen oletetaan olevan 0. ÂÂ erääntyy:  Valinnainen argumentti, joka määrittelee erääntyvätkö laskut kauden alkaessa vai päättyessä. Useimmat asuntolainat ja muut lainat edellyttävät ensimmäisen maksun tekemistä ensimmäisen kauden (0) lopussa, joten se on oletusarvona. Useimmat liisaus- ja vuokraerät ja jotkin muuntyyppiset maksut maksetaan kauden alussa (1). lopussa (0 tai jätetty pois):  Maksut erääntyvät jokaisen kauden lopussa. 132 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 133 alussa (1):  Maksut erääntyvät jokaisen kauden alussa. Esimerkki Tässä esimerkissä PPMT-funktiota käytetään määrittämään laina-ajan kolmannen vuoden ensimmäisen maksun (25. maksu) pääomalyhennyksen osuus esitellyillä lainatiedoilla. funktio evaluoituu noin arvoon -687,80 € joka on 25. maksun pääoman osuus. kauden korko kausi luku-kaudet nykyarvo tuleva arvo erääntyy =PPMT(B2; C2; D2; E2; F2; G2) =0,06/12 25 =10*12 200000 -100000 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”MAKSETTU.KORKO” sivulla 108 ”MAKSETTU.LYHENNYS” sivulla 110 ”IPMT” sivulla 120 ”MAKSU” sivulla 130 ”Esimerkki lainanlyhennystaulukosta” sivulla 343 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 HINTA HINTA-funktio palauttaa jaksottaista korkoa maksavan arvopaperin hinnan jokaista lunastusarvon 100 €:a kohden. HINTA(maksa; erääntymispäivä; vuosikorko; vuosituotto; lunastus; taajuus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ vuosituotto:  Arvopaperin vuotuinen tuotto. vuosituotto on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ lunastus:  Lunastushinta nimellisarvon 100 €:a kohden. lunastus on numeroarvo, jonka on oltava suurempi kuin 0. lunastus on summa, jonka arvopaperista saa sen nimellisarvon 100 €:a kohden. Usein se on 100, joka tarkoittaa sitä, että arvopaperin lunastusarvo on sama kuin sen nimellisarvo. ÂÂ taajuus:  Vuosittaisten koronmaksuerien määrä. vuosittain (1): Yksi maksu vuodessa. puolivuosittain (2): Kaksi maksua vuodessa. neljännesvuosittain (4): Neljä maksua vuodessa. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Tässä esimerkissä HINTA-funktiota käytetään määrittelemään myyntihinta hypoteettiselle arvopaperille, jota kuvataan seuraavilla arvoilla. Arvopaperi maksaa kausittaista korkoa. funktio evaluoituu arvoon 106,50 €, joka on hinta nimellisarvon jokaista 100 €:a kohden. maksa erääntymispäivä vuosikorko vuosituotto lunastus taajuus päivien laskentaperuste =HINTA (B2; C2; D2; E2; F2; G2; H2) 1.5.2009 30.6.2015 0,065 0,0525 100 2 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: 134 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 135 ”HINTA.DISK” sivulla 135 ”HINTA.LUNASTUS” sivulla 136 ”TUOTTO” sivulla 146 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 HINTA.DISK HINTA.DISK-funktio palauttaa hinnan lunastusarvoonsa nähden alennuksella myydylle arvopaperille, jolle ei makseta korkoa lunastusarvon jokaista 100 € :a kohden. HINTA.DISK(maksa; erääntymispäivä; vuosituotto; lunastus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ vuosituotto:  Arvopaperin vuotuinen tuotto. vuosituotto on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ lunastus:  Lunastushinta nimellisarvon 100 €:a kohden. lunastus on numeroarvo, jonka on oltava suurempi kuin 0. lunastus on summa, jonka arvopaperista saa sen nimellisarvon 100 €:a kohden. Usein se on 100, joka tarkoittaa sitä, että arvopaperin lunastusarvo on sama kuin sen nimellisarvo. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Tässä esimerkissä HINTA.DISK-funktiota käytetään määrittelemään myyntihinta hypoteettiselle arvopaperille, jota kuvataan seuraavilla arvoilla. Arvopaperi ei maksa korkoa ja se myydään alle nimellishinnan. funktio evaluoituu arvoon 65,98 €, joka on hinta nimellisarvon jokaista 100 €:a kohden. maksa erääntymispäivä diskontto lunastus päivien laskentaperuste =HINTA.DISK (B2; C2; D2; E2; F2) 1.5.2009 30.6.2015 0,0552 100 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”HINTA” sivulla 133 ”HINTA.LUNASTUS” sivulla 136 ”TUOTTO.DISK” sivulla 148 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 HINTA.LUNASTUS HINTA.LUNASTUS-funktio palauttaa vain erääntymispäivänä korkoa maksavan arvopaperin hinnan jokaista lunastusarvon 100 €:a kohden. HINTA.LUNASTUS(maksa; erääntymispäivä; liikkeellelaskupäivä; vuosikorko; vuosituotto; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. 136 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 137 ÂÂ liikkeellelaskupäivä:  Arvopaperin alkuperäinen liikkeellelaskupäivä. liikkeellelaskupäivä on päiväys-/aika-arvo ja sen on oltava varhaisin annettu päivä. ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ vuosituotto:  Arvopaperin vuotuinen tuotto. vuosituotto on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Tässä esimerkissä HINTA.LUNASTUS-funktiota käytetään määrittelemään myyntihinta hypoteettiselle arvopaperille, jota kuvataan seuraavilla arvoilla. Arvopaperi maksaa korkoa vain erääntymispäivänä. funktio evaluoituu arvoon 99,002 €, joka on hinta nimellisarvon jokaista 100 €:a kohden. maksa erääntymispäivä liikkeellelaskupäivä vuosikorko vuosituotto päivien laskentaperuste =HINTA. LUNASTUS(B2; C2; D2; E2; F2; G2) 1.5.2009 30.6.2015 14.12.2008 0,065 0,06565 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”HINTA” sivulla 133 ”HINTA.DISK” sivulla 135 ”TUOTTO.ERÄP” sivulla 149 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NA NA-funktio palauttaa sijoituksen nykyisen arvon perustuen sarjaan säännöllisiä jaksottaisia rahavirtoja (vakiomääräisiä maksuja ja rahavirtoja määrätyin väliajoin) ja kiinteään korkoprosenttiin. NA(kauden korko; luku-kaudet; maksu; tuleva arvo; erääntyy) ÂÂ kauden korko:  Korko per kausi. kauden korko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ luku-kaudet:  Kausien määrä. luku-kaudet on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ maksu:  Joka kausi suoritettu tai saatu maksu. maksu on numeroarvo. Jokaisella kaudella vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan maksettava kuukausierä (negatiivinen) tai annuiteetista saatava kuukausittainen maksu (positiivinen). ÂÂ tuleva arvo:  Valinnainen argumentti, joka määrittelee sijoituksen arvoa tai annuiteetin jäljellä olevaa raha-arvoa (positiivinen määrä) tai jäljellä olevaa lainaa (negatiivinen määrä) viimeisen maksun jälkeen. tuleva arvo on numeroarvo. Sijoituskauden lopussa vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan viimeinen isompi erä (negatiivinen) tai sijoituksen viimeinen suurempi maksu (positiivinen). ÂÂ erääntyy:  Valinnainen argumentti, joka määrittelee erääntyvätkö laskut kauden alkaessa vai päättyessä. Useimmat asuntolainat ja muut lainat edellyttävät ensimmäisen maksun tekemistä ensimmäisen kauden (0) lopussa, joten se on oletusarvona. Useimmat liisaus- ja vuokraerät ja jotkin muuntyyppiset maksut maksetaan kauden alussa (1). lopussa (0 tai jätetty pois):  Maksut erääntyvät jokaisen kauden lopussa. alussa (1):  Maksut erääntyvät jokaisen kauden alussa. Käyttöohjeita ÂÂ kauden korko määritellään käyttäen luku-kaudet-argumentin määrittämää aikarajoitusta. Esimerkiksi, jos luku-kaudet kerrotaan kuukausissa ja vuosittainen korko on 8%, kauden korko on määriteltävä arvona 0,00667 tai 0,667 % (0,08 jaettuna 12). 138 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 139 ÂÂ Jos maksu on määritelty, eikä sijoitusarvoa, rahavirtaa tai jäljellä olevaa lainasaldoa ole, tuleva arvo voidaan jättää pois. ÂÂ Jos maksu jätetään pois, funktioon on lisättävä tuleva arvo. Esimerkki 1 Kuvittele suunnittelevasi tyttäresi opintojen rahoittamista. Hän on juuri täyttänyt 3 ja oletat hänen aloittavan opiskelunsa 15 vuoden kuluttua. Uskot tarvitsevasi 150 000 € talletettuna säästötilille siinä vaiheessa, kun hän aloittaa opiskelut. Voit tallettaa tilille 200 € lisää jokaisen kuukauden lopussa. Seuraavan 15 vuoden kuluessa säästötilin oletetaan ansaitsevan vuosittaista korkoa 4,5 % ja korko lasketaan kuukauden keskisaldolle. NA-funktiolla voit määrittää mikä summa säästötilille on sijoitettava nyt, jotta säästötilin arvo on 150 000 € silloin, kun tyttäresi aloittaa opiskelun. Annettuihin oletuksiin perustuen funktio palauttaa -50 227,88 € eli tämä summa olisi talletettava tilille nyt (funktio palauttaa negatiivisen luvun, koska talletus säästötilille on tällä hetkellä kulu). kauden korko luku-kaudet maksu tuleva arvo erääntyy =NA(B2; C2; D2; E2; F2) =0,045/12 =15*12 -200 150000 1 Esimerkki 2 Tässä esimerkissä sinulle tehdään sijoitusehdotus. Sinulle ehdotetaan, että sijoitat diskontattuun arvopaperiin nyt ja sen jälkeen et saa tai maksa mitään ennen kuin arvopaperi erääntyy. Diskontattu arvopaperi erääntyy 14 vuoden kuluttua ja sen lunastusarvo on 100 000 €. Vaihtoehtoisesti voit jättää rahasi pankin säästötilille, jossa sen odotettu vuosittainen tuotto on 5,25%. NA-funktiolla voit laskea maksimimäärän, joka sinun kannattaa maksaa diskontatusta arvopaperista nyt, olettaen että haluat vähintään yhtä hyvän koron kuin saisit säästötilillä. Oletettuihin tietoihin perustuen maksimimäärä on -48 852,92 € (funktio palauttaa negatiivisen arvon, koska arvopaperi on tällä hetkellä kulu). kauden korko luku-kaudet maksu tuleva arvo erääntyy =NA(B2; C2; D2; E2; F2) 0,0525 14 0 100000 1 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TULEVA.ARVO” sivulla 117 ”SISÄINEN KORKO” sivulla 122 ”NJAKSO” sivulla 127 ”MAKSU” sivulla 130 ”KORKO” sivulla 140 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORKO KORKO-funktio palauttaa sijoituksen tai lainan koron perustuen sarjaan säännöllisiä jaksottaisia rahavirtoja (kiinteitä maksueriä ja säännöllisin väliajoin toistuvia rahavirtoja) ja kiinteään korkoprosenttiin. KORKO(luku-kaudet; maksu; nykyarvo; tuleva arvo; erääntyy; arvio) ÂÂ luku-kaudet:  Kausien määrä. luku-kaudet on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ maksu:  Joka kausi suoritettu tai saatu maksu. maksu on numeroarvo. Jokaisella kaudella vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan maksettava kuukausierä (negatiivinen) tai annuiteetista saatava kuukausittainen maksu (positiivinen). ÂÂ nykyarvo:  Alkusijoituksen arvo tai lainan tai sijoituksen määrä. nykyarvo on numeroarvo. Alussa (aika 0) vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Esimerkiksi, se voi olla toiselle lainattu summa (positiivinen) tai annuiteettisopimuksen maksettu alkumaksu (negatiivinen). ÂÂ tuleva arvo:  Valinnainen argumentti, joka edustaa sijoituksen arvoa tai annuiteetin jäljellä olevaa raha-arvoa (positiivinen määrä) tai jäljellä olevaa lainaa (negatiivinen määrä) viimeisen maksun jälkeen. tuleva arvo on numeroarvo. Sijoituskauden lopussa vastaanotettu summa on positiivinen summa ja maksettu summa on negatiivinen summa. Se voi olla esimerkiksi lainan viimeinen isompi erä (negatiivinen) tai sijoituksen viimeinen suurempi maksu (positiivinen). ÂÂ erääntyy:  Valinnainen argumentti, joka määrittelee erääntyvätkö laskut kauden alkaessa vai päättyessä. Useimmat asuntolainat ja muut lainat edellyttävät ensimmäisen maksun tekemistä ensimmäisen kauden (0) lopussa, joten se on oletusarvona. Useimmat liisaus- ja vuokraerät ja jotkin muuntyyppiset maksut maksetaan kauden alussa (1). lopussa (0 tai jätetty pois):  Maksut erääntyvät jokaisen kauden lopussa. alussa (1):  Maksut erääntyvät jokaisen kauden alussa. 140 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 141 ÂÂ arvio:  Valinnainen argumentti, joka määrittelee arviolaskelman korkokannalle. arvio on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). Jos se jätetään pois, oletusarvona on 10 %. Jos oletusarvo ei tuota ratkaisua, kokeile suurempaa positiivista arvoa. Jos se ei tuota tulosta, kokeile pientä negatiivista arvoa. Pienin sallittu arvo on -1. Esimerkki Kuvittele suunnittelevasi tyttäresi opintojen rahoittamista. Hän on juuri täyttänyt 3 ja oletat hänen aloittavan opiskelunsa 15 vuoden kuluttua. Uskot tarvitsevasi 150 000 € talletettuna säästötilille siinä vaiheessa, kun hän aloittaa opiskelut. Voit siirtää nyt sivuun 50 000 € ja lisätä tilille 200 € jokaisen kuukauden lopussa. Seuraavan 15 vuoden kuluessa säästötilin oletetaan ansaitsevan vuosittaista korkoa 4,5 % ja korko lasketaan kuukauden keskisaldolle. KORKO-funktiolla voit määrittää, minkälaista korkoa säästötilille on maksettava, jotta tilillä on 150 000 € siihen mennessä, kun tyttäresi aloittaa opiskelun. Annettuihin oletuksiin perustuen funktio palauttaa 0,377 %, joka on kuukausittainen korko, koska luku-kaudet oli kuukausittainen arvo. Vuosikoroksi tulee 4.52 %. luku-kaudet maksu nykyarvo tuleva arvo erääntyy arvio =KORKO(B2; C2; D2; E2; F2; G2) =15*12 -200 -50000 150000 1 =0,1/12 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TULEVA.ARVO” sivulla 117 ”SISÄINEN KORKO” sivulla 122 ”NJAKSO” sivulla 127 ”MAKSU” sivulla 130 ”NA” sivulla 138 ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SAATU.HINTA SAATU.HINTA-funktio palauttaa erääntymisarvon arvopaperille, joka maksaa korkoa vain erääntymispäivänä. SAATU.HINTA(maksa; erääntymispäivä; sijoitusmäärä; vuosikorko; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Arvopaperin erääntymispäivä. erääntymispäivä on päiväys-/aikaarvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ sijoitusmäärä:  Arvopaperiin sijoitettu määrä. sijoitusmäärä on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Tässä esimerkissä SAATU.HINTA-funktiota käytetään määrittämään hypoteettisen arvopaperin erääntymispäivänä saatavaa määrää. Arvopaperi kuvataan seuraavilla arvoilla. Arvopaperi maksaa korkoa vain erääntymispäivänä. funktio evaluoituu arvoon 1651,83 € eli pääoman ja korkojen yhteismäärän, joka maksetaan arvopaperin omistajalle erääntymispäivänä. maksa erääntymispäivä sijoitusmäärä vuosikorko päivien laskentaperuste =SAATU.HINTA(B2; C2; D2; E2; F2) 1.5.2009 30.6.2015 990,02 0,065 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KORKO.ARVOPAPERI” sivulla 119 142 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 143 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 STP STP-funktio palauttaa omaisuuserän arvonalenemisen määritellyllä kaudella käyttäen tasapoistometodia. STP(hinta; loppuarvo; aika) ÂÂ hinta:  Sijoituksen alkuperäinen hankintahinta. hinta on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ loppuarvo:  Sijoituksen loppuarvo. loppuarvo on lukuarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ aika:  Kausien määrä omaisuuserän poistoaikana. aika on numeroarvo ja sen on oltava suurempi kuin 0. Argumentissa aika voi olla desimaali (esimerkiksi poistoaika voi olla viisi ja puoli vuotta eli 5,5). Esimerkki =STP(10000; 1000; 6) palauttaa 1500 €, joka on poisto per vuosi euroina omaisuuserälle, jonka alkuperäinen kustannus oli 10 000 € ja jonka loppuarvo 6 vuoden jälkeen on 1000 €. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”DB” sivulla 111 ”DDB” sivulla 113 ”VUOSIPOISTO” sivulla 144 ”VDB” sivulla 145 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VUOSIPOISTO VUOSIPOISTO-funktio palauttaa omaisuuserän arvonalenemisen määrätyn ajanjakson aikana käyttäen sum-of-the-years-digits-metodia. VUOSIPOISTO(hinta; loppuarvo; aika; poistokausi) ÂÂ hinta:  Sijoituksen alkuperäinen hankintahinta. hinta on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ loppuarvo:  Sijoituksen loppuarvo. loppuarvo on lukuarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ aika:  Kausien määrä omaisuuserän poistoaikana. aika on numeroarvo ja sen on oltava suurempi kuin 0. Argumentissa aika voi olla desimaali (esimerkiksi poistoaika voi olla viisi ja puoli vuotta eli 5,5). ÂÂ poistokausi:  Kausi, jolle poisto halutaan laskea. poistokausi on numeroarvo ja sen on oltava suurempi kuin 0. Jos argumentissa poistokausi on desimaaliosa (murto-osa), sitä ei huomioida. Esimerkkejä =VUOSIPOISTO(10000; 1000; 9; 1) palauttaa 1800 €, joka on omaisuuserän arvonaleneminen ensimmäisenä vuonna, kun omaisuuserän alkuperäinen arvo on 10 000 € ja loppuarvo 9 vuoden käyttöajan jälkeen on 1000 €. =VUOSIPOISTO(10000; 1000; 9; 2) palauttaa 1600 €, joka on toisen vuoden arvonaleneminen. =VUOSIPOISTO(10000; 1000; 9; 8) palauttaa 400 €, joka on 8. vuoden arvonaleneminen. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”DB” sivulla 111 ”DDB” sivulla 113 ”STP” sivulla 143 ”VDB” sivulla 145 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 144 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 145 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VDB VDB (variable declining balance) -funktio palauttaa omaisuuserän arvonalenemisen määrätyn ajanjakson aikana, perustuen määritettyyn poistoprosenttiin. VDB(hinta; loppuarvo; aika; aloituskausi; viimeinen kausi; poistokerroin; älä vaihda)) ÂÂ hinta:  Sijoituksen alkuperäinen hankintahinta. hinta on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ loppuarvo:  Sijoituksen loppuarvo. loppuarvo on lukuarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ aika:  Kausien määrä omaisuuserän poistoaikana. aika on numeroarvo ja sen on oltava suurempi kuin 0. Argumentissa aika voi olla desimaali (esimerkiksi poistoaika voi olla viisi ja puoli vuotta eli 5,5). ÂÂ aloituskausi:  Ensimmäinen laskentaan sisällytettävä kausi. aloituskausi on numeroarvo. ÂÂ viimeinen kausi:  Viimeinen laskentaan sisällytettävä kausi. viimeinen kausi on lukuarvo ja sen on oltava suurempi kuin 0 ja suurempi kuin aloituskausi. ÂÂ poistokerroin:  Valinnainen luku, joka määrittää poistoprosentin. poistokerroin on numeroarvo. Jos argumentti jätetään pois, oletusarvona on 2 (200 % tuplapoistossa). Mitä korkeampi luku, sitä nopeampi poisto. Esimerkiksi jos poistoprosentiksi halutaan 1,5 kertaa tasapoisto, käytä arvoa 1,5 tai 150 %. ÂÂ älä vaihda:  Valinnainen arvo, joka osoittaa, siirtyykö arvonaleneminen suoran viivan menetelmään. vaihda (0, EPÄTOSI tai jätetty pois):  Siirry tasapoistomenetelmään vuonna, jolloin tasapoisto ylittää DB-poiston. älä vaihda (TOSI tai 1):  Älä siirry tasapoistomenetelmään. Käyttöohjeita ÂÂ aloituskausi pitää määrittää kaudeksi ennen ensimmäistä kautta, jonka haluat ottaa mukaan laskelmaan. Jos haluat ottaa mukaan ensimmäisen kauden, laita aloituskausi-argumentin arvoksi 0. ÂÂ Jos haluat määritellä arvonalenemisen, jossa huomioidaan vain ensimmäinen kausi, viimeinen kausi -argumentin arvon on oltava 1. Esimerkkejä Kuvittele, että olet juuri ostanut omaisuuserän, joka maksoi 11 000,00 €, sen loppuarvo on 1000,00 € ja sen odotettu käyttöikä on 5 vuotta. Aiot poistaa omaisuuserän käyttäen 1,5 (150 %) declining balance -metodia. =VDB(11000; 1000; 5; 0; 1; 1,5; 0) palauttaa 3300 €, joka on ensimmäisen vuoden poisto. =VDB(11000; 1000; 5; 4; 5; 1,5; 0) palauttaa 1386,50 €, joka on viidennen (viimeisen) vuoden poisto, olettaen, että tasapoistoa käytetään kun se on suurempi kuin DB-poisto. =VDB(11000; 1000; 5; 4; 5; 1,5; 1) palauttaa 792,33 €, joka on viidennen (viimeisen) vuoden poisto, olettaen että DB-poistoa käytetään koko ajan (älä vaihda on TOSI). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”DB” sivulla 111 ”DDB” sivulla 113 ”STP” sivulla 143 ”VUOSIPOISTO” sivulla 144 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TUOTTO TUOTTO-funktio palauttaa vuosittaisen efektiivisen koron arvopaperille, jolle maksetaan säännöllistä jaksottaista korkoa. TUOTTO(maksa; erääntymispäivä; vuosikorko; hinta; lunastus; taajuus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Päivä, jolloin arvopaperi erääntyy. erääntymispäivä on päiväys-/ aika-arvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). 146 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 147 ÂÂ hinta:  Arvopaperin hinta nimellisarvon 100 €:a kohden. hinta on numeroarvo. ÂÂ lunastus:  Lunastushinta nimellisarvon 100 €:a kohden. lunastus on numeroarvo, jonka on oltava suurempi kuin 0. lunastus on summa, jonka arvopaperista saa sen nimellisarvon 100 €:a kohden. Usein se on 100, joka tarkoittaa sitä, että arvopaperin lunastusarvo on sama kuin sen nimellisarvo. ÂÂ taajuus:  Vuosittaisten koronmaksuerien määrä. vuosittain (1): Yksi maksu vuodessa. puolivuosittain (2): Kaksi maksua vuodessa. neljännesvuosittain (4): Neljä maksua vuodessa. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Tässä esimerkissä TUOTTO-funktiota käytetään määrittelemään vuosittainen tuotto hypoteettiselle arvopaperille, jota kuvataan seuraavilla arvoilla. Arvopaperi maksaa kausittaista korkoa. funktio evaluoituu noin arvoon 5,25 %. maksa erääntymispäivä vuosikorko hinta lunastus taajuus päivien laskentaperuste =TUOTTO (B2; C2; D2; E2; F2; G2; H2) 1.5.2009 30.6.2015 0,065 106,50 100 2 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”HINTA” sivulla 133 ”TUOTTO.DISK” sivulla 148 ”TUOTTO.ERÄP” sivulla 149 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TUOTTO.DISK TUOTTO.DISK-funktio palauttaa vuosittaisen efektiivisen koron arvopaperille, joka on myyty alle lunastusarvonsa ja jolle ei makseta korkoa. TUOTTO.DISK(maksa; erääntymispäivä; hinta; lunastus; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Päivä, jolloin arvopaperi erääntyy. erääntymispäivä on päiväys-/ aika-arvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ hinta:  Arvopaperin hinta nimellisarvon 100 €:a kohden. hinta on numeroarvo. ÂÂ lunastus:  Lunastushinta nimellisarvon 100 €:a kohden. lunastus on numeroarvo, jonka on oltava suurempi kuin 0. lunastus on summa, jonka arvopaperista saa sen nimellisarvon 100 €:a kohden. Usein se on 100, joka tarkoittaa sitä, että arvopaperin lunastusarvo on sama kuin sen nimellisarvo. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Tässä esimerkissä TUOTTO.DISK-funktiota käytetään määrittelemään efektiivinen vuosittainen tuotto hypoteettiselle arvopaperille, jota kuvataan seuraavilla arvoilla. Arvopaperi ei maksa korkoa ja se myydään alle nimellishinnan. funktio evaluoituu noin arvoon 8,37 %, joka edustaa vuosittaista tuottoa, jos arvopaperin 100 €:n nimellisarvoa kohti maksetaan 65,98 €. 148 Luku 6 Rahoitusfunktiot Luku 6 Rahoitusfunktiot 149 maksa erääntymispäivä hinta lunastus päivien laskentaperuste =TUOTTO.DISK(B2; C2; D2; E2; F2) 1.5.2009 30.6.2015 65,98 100 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”HINTA.DISK” sivulla 135 ”TUOTTO” sivulla 146 ”TUOTTO.ERÄP” sivulla 149 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TUOTTO.ERÄP TUOTTO.ERÄP-funktio palauttaa efektiivisen vuosikorkokannan arvopaperille, jolle maksetaan korkoa vain erääntymispäivänä. TUOTTO.ERÄP(maksa; erääntymispäivä; liikkeellelaskupäivä; vuosikorko; hinta; päivien laskentaperuste) ÂÂ maksa:  Kaupan tilityspäivä. maksa on päiväys-/aika-arvo. Kaupan tilityspäivä on yleensä yksi tai useampi päivää kauppapäivän jälkeen. ÂÂ erääntymispäivä:  Päivä, jolloin arvopaperi erääntyy. erääntymispäivä on päiväys-/ aika-arvo. Sen on oltava myöhäisempi kuin maksa. ÂÂ liikkeellelaskupäivä:  Arvopaperin alkuperäinen liikkeellelaskupäivä. liikkeellelaskupäivä on päiväys-/aika-arvo ja sen on oltava varhaisin annettu päivä. ÂÂ vuosikorko:  Arvopaperin vuosittainen korkokanta tai ilmoitettu vuosikorko. vuosikorko on numeroarvo, joka syötetään joko desimaalina (esim. 0,08) tai prosenttimerkillä (esim 8 %). ÂÂ hinta:  Arvopaperin hinta nimellisarvon 100 €:a kohden. hinta on numeroarvo. ÂÂ päivien laskentaperuste:  Valinnainen argumentti, joka määrittelee laskennassa käytettävien päivien määrän kuukaudessa ja vuodessa. 30/360 (0 tai jätetty pois):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen NASD-menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle. todellinen/todellinen (1):  Jokaisen kuukauden todelliset päivät, jokaisen vuoden todelliset päivät. todellinen/360 (2):  Jokaisen kuukauden todelliset päivät, 360 päivää vuodessa. todellinen/365 (3):  Jokaisen kuukauden todelliset päivät, 365 päivää vuodessa. 30E/360 (4):  30 päivää kuukaudessa, 360 päivää vuodessa käyttäen eurooppalaista menetelmää päivämäärille, jotka osuvat kuukauden 31. päivälle (eurooppalainen 30/360). Esimerkki Tässä esimerkissä TUOTTO.ERÄP-funktiota käytetään määrittelemään efektiivinen vuosittainen tuotto hypoteettiselle arvopaperille, jota kuvataan seuraavilla arvoilla. Arvopaperi maksaa korkoa vain erääntymispäivänä. funktio evaluoituu noin arvoon 6,565 %. maksa erääntymispäivä liikkeellelaskupäivä vuosikorko hinta päivien laskentaperuste =TUOTTO. ERÄP(B2; C2; D2; E2; F2; G2) 1.5.2009 30.6.2015 14.12.2008 0,065 99,002 0 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”HINTA.LUNASTUS” sivulla 136 ”TUOTTO” sivulla 146 ”TUOTTO.DISK” sivulla 148 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 150 Luku 6 Rahoitusfunktiot 151 Loogiset ja informaatiofunktiot auttavat arvioimaan solujen sisältöjä ja määrittelemään, kuinka evaluoida tai muuten käyttää solujen sisältöjä tai kaavojen tuloksia. Loogisten ja informaatiofunktioiden luettelo iWork tarjoaa nämä loogiset ja informaatiofunktiot taulukoiden kanssa käytettäviksi. Funktio Kuvaus ”JA” (sivu 152) JA-funktio palauttaa TOSI, jos kaikki argumentit ovat tosia, ja muussa tapauksessa EPÄTOSI. ”EPÄTOSI” (sivu 153) EPÄTOSI-funktio palauttaa loogisen arvon EPÄTOSI. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muista taulukkolaskentaohjelmista tuotujen taulukoiden kanssa. ”JOS” (sivu 154) JOS-funktio palauttaa toisen kahdesta arvosta riippuen siitä, evaluoituuko määritelty lauseke loogiseksi arvoksi TOSI vai EPÄTOSI. ”JOSVIRHE” (sivu 155) JOSVIRHE-funktio palauttaa määrittelemäsi arvon, jos annettu arvo evaluoituu virheeksi; muussa tapauksessa se palauttaa annetun arvon. ”ONTYHJÄ” (sivu 156) ONTYHJÄ-funktio palauttaa TOSI, jos määritelty solu on tyhjä, ja muussa tapauksessa EPÄTOSI. ”ONVIRHE” (sivu 157) ONVIRHE-funktio palauttaa TOSI, jos annettu lauseke evaluoituu virheeksi, ja muussa tapauksessa EPÄTOSI. Loogiset ja informaatiofunktiot 7 Funktio Kuvaus ”ONPARILLINEN” (sivu 158) ONPARILLINEN-funktio palauttaa TOSI, jos arvo on parillinen (ei jätä jakojäännöstä jaettaessa kahdella); muussa tapauksessa se palauttaa EPÄTOSI. ”ONPARITON” (sivu 159) ONPARITON-funktio palauttaa TOSI, jos arvo on pariton (jättää jakojäännöksen jaettaessa kahdella); muussa tapauksessa se palauttaa EPÄTOSI. ”EI” (sivu 159) EI-funktio palauttaa määritellyn lausekkeen loogisen arvon vastakohdan. ”TAI” (sivu 160) TAI-funktio palauttaa TOSI, jos mikä tahansa argumentti on tosi; muussa tapauksessa se palauttaa EPÄTOSI. ”TOSI” (sivu 161) TOSI-funktio palauttaa loogisen arvon TOSI. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muista taulukkolaskentaohjelmista tuotujen taulukoiden kanssa. JA JA-funktio palauttaa TOSI, jos kaikki argumentit ovat tosia, ja muussa tapauksessa EPÄTOSI. JA(testilauseke; testilauseke…) ÂÂ testilauseke:  Lauseke. testilauseke voi sisältää mitä tahansa kunhan lauseke evaluoituu loogiseksi arvoksi. Jos lauseke evaluoituu luvuksi, luvun 0 katsotaan olevan EPÄTOSI ja muiden lukujen katsotaan olevan TOSI. ÂÂ testilauseke…:  Voit sisällyttää yhden tai useamman lisälausekkeen. Käyttöohjeita ÂÂ JA-funktio vastaa matematiikassa ja logiikassa käytettyä loogista konjunktiooperaattoria. Se evaluoi ensin jokaisen testilausekkeen. Jos kaikki lausekkeet evaluoituvat arvoksi TOSI, JA-funktio palauttaa TOSI; muussa tapauksessa EPÄTOSI. Esimerkkejä =JA(TOSI; TOSI) palauttaa TOSI, koska molemmat argumentit ovat tosia. =JA(1; 0; 1; 1) palauttaa EPÄTOSI, koska yksi argumenteista on numeerinen 0, joka tulkitaan arvoksi EPÄTOSI. =JA(A5>60; A5<=100) palauttaa TOSI, jos solun A5 arvo on välillä 61 - 100, muussa tapauksessa EPÄTOSI. Seuraavat kaksi JOS-funktiota palauttavat saman arvon: =JOS(B2>60; JOS(B2<=100; TOSI; EPÄTOSI); EPÄTOSI) =JOS(JA(B2>60; B2<=100); TOSI; EPÄTOSI) 152 Luku 7 Loogiset ja informaatiofunktiot Luku 7 Loogiset ja informaatiofunktiot 153 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”JOS” sivulla 154 ”EI” sivulla 159 ”TAI” sivulla 160 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Kommenttien lisääminen perustuen solujen sisältöön” sivulla 350 ”Loogisten ja informaatiofunktioiden käyttäminen yhdessä” sivulla 349 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 EPÄTOSI EPÄTOSI-funktio palauttaa loogisen arvon EPÄTOSI. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muista taulukkolaskentaohjelmista tuotujen taulukoiden kanssa. EPÄTOSI() Käyttöohjeita ÂÂ EPÄTOSI-funktiolla ei ole argumentteja. Sinun on kuitenkin lisättävä sulut: =EPÄTOSI(). ÂÂ EPÄTOSI-funktion käyttämisen sijaan voit määritellä loogisen arvon EPÄTOSI kirjoittamalla EPÄTOSI (tai epätosi) soluun tai funktion argumentiksi. Esimerkkejä =EPÄTOSI() palauttaa loogisen arvon EPÄTOSI. =JA(1, EPÄTOSI()) palauttaa loogisen arvon EPÄTOSI. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TOSI” sivulla 161 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 JOS JOS-funktio palauttaa toisen kahdesta arvosta riippuen siitä, evaluoituuko määritelty lauseke loogiseksi arvoksi TOSI vai EPÄTOSI. JOS(jos-lauseke, jos tosi, jos epätosi) ÂÂ jos-lauseke:  Looginen lauseke. jos lauseke voi sisältää mitä tahansa kunhan lauseke evaluoituu loogiseksi arvoksi. Jos lauseke evaluoituu luvuksi, luvun 0 katsotaan olevan EPÄTOSI ja muiden lukujen katsotaan olevan TOSI. ÂÂ jos tosi:  Palautettu arvo, jos lauseke on TOSI. jos tosi voi sisältää minkä tyyppisen arvon tahansa. Jos se jätetään pois (puolipiste mutta ei arvoa), JOS palauttaa 0. ÂÂ jos epätosi:  Valinnainen argumentti, joka määrittelee palautettavan arvon, jos lauseke on EPÄTOSI. jos epätosi voi sisältää minkä tyyppisen arvon tahansa. Jos se jätetään pois (puolipiste mutta ei arvoa), JOS palauttaa 0. Jos se jätetään kokonaan pois (ei puolipistettä jos epätosi -lausekkeen jälkeen) ja jos-lauseke evaluoituu arvoksi EPÄTOSI, JOS palauttaa EPÄTOSI. Käyttöohjeita ÂÂ Jos jos-lausekkeen looginen arvo on TOSI, funktio palauttaa jos tosi -lausekkeen; muussa tapauksessa se palauttaa jos epätosi -lausekkeen. ÂÂ Sekä jos tosi- että jos epätosi -lausekkeet voivat sisältää lisää JOS-funktioita (sisäkkäisiä JOS-funktioita). Esimerkkejä =JOS(A5>=0, ”Ei negatiivinen”, ”Negatiivinen”) palauttaa tekstin ”Ei negatiivinen”, jos solu A5 sisältää numeron, joka on suurempi tai yhtä suuri kuin nolla tai ei-numeerinen arvo. Jos solu A5 sisältää arvon, joka on pienempi kuin 0, funktio palauttaa ”Negatiivinen”. =JOS(JOSVIRHE(TAI(ONPARILLINEN(B4+B5); ONPARITON(B4+B5); EPÄTOSI);); ”Kaikki numeroita”; ”Kaikki eivät numeroita”) palauttaa tekstin ”Kaikki numeroita”, jos solut B4 ja B5 molemmat sisältävät numeroita; muussa tapauksessa tekstin ”Kaikki eivät numeroita”. Tämä saavutetaan testaamalla, onko kahden solun summa joko parillinen tai pariton. Jos solu ei ole numero, PARILLINEN- ja PARITONfunkiot palauttavat virheen ja JOSVIRHE-funktio palauttaa EPÄTOSI; muussa tapauksessa se palauttaa TOSI, koska joko PARILLINEN tai PARITON on TOSI. Joten jos joko B4 tai B5 ei ole numero tai looginen arvo, JOS-lauseke palauttaa jos epätosi -lausekkeen ”Kaikki eivät numeroita”; muussa tapauksessa se palauttaa jos tosi -lausekkeen ”Kaikki numeroita”. 154 Luku 7 Loogiset ja informaatiofunktiot Luku 7 Loogiset ja informaatiofunktiot 155 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”JA” sivulla 152 ”EI” sivulla 159 ”TAI” sivulla 160 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Nollalla jakamisen estäminen” sivulla 351 ”Kommenttien lisääminen perustuen solujen sisältöön” sivulla 350 ”Loogisten ja informaatiofunktioiden käyttäminen yhdessä” sivulla 349 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 JOSVIRHE JOSVIRHE-funktio palauttaa määrittelemäsi arvon, jos annettu arvo evaluoituu virheeksi; muussa tapauksessa se palauttaa annetun arvon. JOSVIRHE(mikä tahansa -lauseke, josvirhe) ÂÂ mikä tahansa -lauseke:  Testattava lauseke. mikä tahansa -lauseke voi sisältää minkä tyyppisen arvon tahansa. ÂÂ josvirhe:  Palautettava arvo, jos mikä tahansa -lauseke evaluoituu virheeksi. josvirhe voi sisältää minkä tyyppisen arvon tahansa. Käyttöohjeita ÂÂ Käytä JOSVIRHE-funktiota kaavan virheiden käsittelyyn. Esimerkiksi, jos käsittelet dataa, jossa kelvollinen arvo solulle D1 on 0, kaava =B1/D1 saa aikaan virheen (nollalla jakaminen). Tämä virhe voidaan välttää käyttämällä kaavaa kuten =JOSVIRHE(B1/D1; "0"), joka palauttaa jakolaskun tuloksen, jos D1 ei ole nolla; muussa tapauksessa se palauttaa 0. Esimerkkejä Jos B1 on numeroarvo ja D1 evaluoituu arvoksi 0, sitten: =JOSVIRHE(B1/D1; 0) palauttaa 0, koska nollalla jakaminen on virhe. =JOS(ONVIRHE(B1/D1); 0; B1/D1) on sama kuin edellinen JOSVIRHE-esimerkki, mutta edellyttää sekä JOS- että ONVIRHE-funktioiden käyttöä. =JOS(JOSVIRHE(TAI(ONPARILLINEN(B4+B5); ONPARITON(B4+B5); EPÄTOSI);); ”Kaikki numeroita”; ”Kaikki eivät numeroita”) palauttaa tekstin ”Kaikki numeroita”, jos solut B4 ja B5 molemmat sisältävät numeroita; muussa tapauksessa tekstin ”Kaikki eivät numeroita”. Tämä saavutetaan testaamalla, onko kahden solun summa joko parillinen tai pariton. Jos solu ei ole numero, PARILLINEN- ja PARITONfunkiot palauttavat virheen ja JOSVIRHE-funktio palauttaa EPÄTOSI; muussa tapauksessa se palauttaa TOSI, koska joko PARILLINEN tai PARITON on TOSI. Joten jos joko B4 tai B5 ei ole numero tai looginen arvo, JOS-lauseke palauttaa jos epätosi -lausekkeen ”Kaikki eivät numeroita”; muussa tapauksessa se palauttaa jos tosi -lausekkeen ”Kaikki numeroita”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ONTYHJÄ” sivulla 156 ”ONVIRHE” sivulla 157 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ONTYHJÄ ONTYHJÄ-funktio palauttaa TOSI, jos määritelty solu on tyhjä, ja muussa tapauksessa EPÄTOSI. ONTYHJÄ(solu) ÂÂ solu:  Viittaus taulukon yksittäiseen soluun. solu on viitearvo yksittäiseen soluun, joka voi sisältää minkä tahansa arvon tai olla tyhjä. Käyttöohjeita ÂÂ Jos solu on kokonaan tyhjä, funktio palauttaa TOSI; muussa tapauksessa se palauttaa EPÄTOSI. Jos solu sisältää välilyönnin tai ei-tulostuvan merkin, funktio palauttaa EPÄTOSI, vaikka solu näyttää olevan tyhjä. 156 Luku 7 Loogiset ja informaatiofunktiot Luku 7 Loogiset ja informaatiofunktiot 157 Esimerkkejä Jos taulukon solu A1 on tyhjä ja solu B2 sisältää luvun 100: =ONTYHJÄ(A1) palauttaa TOSI. =ONTYHJÄ(B2) palauttaa EPÄTOSI. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”JOSVIRHE” sivulla 155 ”ONVIRHE” sivulla 157 ”Kommenttien lisääminen perustuen solujen sisältöön” sivulla 350 ”Loogisten ja informaatiofunktioiden käyttäminen yhdessä” sivulla 349 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ONVIRHE ONVIRHE-funktio palauttaa TOSI, jos annettu lauseke evaluoituu virheeksi, ja muussa tapauksessa EPÄTOSI. ONVIRHE(mikä tahansa -lauseke) ÂÂ mikä tahansa -lauseke:  Testattava lauseke. mikä tahansa -lauseke voi sisältää minkä tyyppisen arvon tahansa. Käyttöohjeita ÂÂ Usein on parempi käyttää JOSVIRHE-funktiota. JOSVIRHE-funktio tarjoaa kaiken ONVIRHE-funktion toiminnallisuuden, mutta ei mahdollista ainoastaan virheen tunnistusta, vaan myös sen keskeytyksen. Esimerkkejä Jos B1 on numeroarvo ja D1 evaluoituu arvoksi 0, sitten =JOS(ONVIRHE(B1/D1); 0; B1/D1) palauttaa 0, koska nollalla jakaminen johtaa virheeseen. =JOSVIRHE(B1/D1; 0) on sama kuin edellinen esimerkki, mutta edellyttää vain yhden funktion käyttöä. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”JOSVIRHE” sivulla 155 ”ONTYHJÄ” sivulla 156 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ONPARILLINEN ONPARILLINEN-funktio palauttaa TOSI, jos annettu numero on parillinen (ei jätä jakojäännöstä jaettaessa kahdella); muussa tapauksessa se palauttaa EPÄTOSI. ONPARILLINEN(num) ÂÂ num:  Numero. num on numeroarvo. Käyttöohjeita ÂÂ Jos num on tekstiä, funktio palauttaa virheen. Jos num on looginen arvo TOSI (arvo 1), funktio palauttaa EPÄTOSI. Jos num on looginen arvo EPÄTOSI (arvo 0), funktio palauttaa TOSI. Esimerkkejä =ONPARILLINEN(2) palauttaa TOSI. =ONPARILLINEN(2,75) palauttaa TOSI. =ONPARILLINEN(3) palauttaa EPÄTOSI. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ONPARITON” sivulla 159 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 158 Luku 7 Loogiset ja informaatiofunktiot Luku 7 Loogiset ja informaatiofunktiot 159 ONPARITON ONPARITON-funktio palauttaa TOSI, jos annettu numero on pariton (jättää jakojäännöksen jaettaessa kahdella); muussa tapauksessa se palauttaa EPÄTOSI. ONPARITON(num) ÂÂ num:  Numero. num on numeroarvo. Käyttöohjeita ÂÂ Jos num on tekstiä, funktio palauttaa virheen. Jos num on looginen arvo TOSI (arvo 1), funktio palauttaa TOSI. Jos num on looginen arvo EPÄTOSI (arvo 0), funktio palauttaa EPÄTOSI. Esimerkkejä =ONPARITON(3) palauttaa TOSI. =ONPARITON(3,75) palauttaa TOSI. =ONPARITON(2) palauttaa EPÄTOSI. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ONPARILLINEN” sivulla 158 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 EI EI-funktio palauttaa määritellyn lausekkeen loogisen arvon vastakohdan. EI(mikä tahansa -lauseke) ÂÂ mikä tahansa -lauseke:  Testattava lauseke. mikä tahansa -lauseke voi sisältää mitä tahansa kunhan lauseke evaluoituu loogiseksi arvoksi. Jos lauseke evaluoituu luvuksi, luvun 0 katsotaan olevan EPÄTOSI ja muiden lukujen katsotaan olevan TOSI. Esimerkkejä =EI(0) palauttaa TOSI, koska 0 tulkitaan arvoksi EPÄTOSI. =TAI(A9; EI(A9)) palauttaa aina TOSI, koska joko A9 vai sen vastakohta on aina tosi. =EI(TAI(EPÄTOSI; EPÄTOSI)) palauttaa TOSI, koska loogisen TAI-lausekkeen kumpikaan argumentti ei ole tosi. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”JA” sivulla 152 ”JOS” sivulla 154 ”TAI” sivulla 160 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TAI TAI-funktio palauttaa TOSI, jos mikä tahansa argumentti on tosi; muussa tapauksessa se palauttaa EPÄTOSI. TAI(mikä tahansa -lauseke, mikä tahansa -lauseke…) ÂÂ mikä tahansa -lauseke:  Testattava lauseke. mikä tahansa -lauseke voi sisältää mitä tahansa kunhan lauseke evaluoituu loogiseksi arvoksi. Jos lauseke evaluoituu luvuksi, luvun 0 katsotaan olevan EPÄTOSI ja muiden lukujen katsotaan olevan TOSI. ÂÂ mikä tahansa -lauseke…:  Voit sisällyttää yhden tai useamman testattavan lisälausekkeen. Käyttöohjeita ÂÂ TAI-funktio vastaa matematiikassa ja logiikassa käytettyä loogista disjunktiooperaattoria. Se evaluoi ensin jokaisen lausekkeen. Jos mikä tahansa lausekkeista evaluoituu arvoksi TOSI, TAI-funktio palauttaa TOSI; muussa tapauksessa EPÄTOSI. ÂÂ Jos lauseke on numeerinen, arvo 0 tulkitaan arvoksi EPÄTOSI ja kaikki muut nollasta eroavat arvot tulkitaan arvoksi TOSI. ÂÂ TAI-funktiota käytetään usein JOS-funktion kanssa, kun pitää arvioida useampaa kuin yhtä ehtoa. Esimerkkejä =TAI(A1+A2<100; B1+B2<100) palauttaa EPÄTOSI, jos annettujen solujen molemmat summat ovat suurempia tai yhtä suuria kuin 100 ja TOSI, jos vähintään yksi summista on alle 100. =TAI(5; 0; 6) palauttaa TOSI, koska vähintään yksi argumentti ei ole nolla. 160 Luku 7 Loogiset ja informaatiofunktiot Luku 7 Loogiset ja informaatiofunktiot 161 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”JA” sivulla 152 ”JOS” sivulla 154 ”EI” sivulla 159 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Kommenttien lisääminen perustuen solujen sisältöön” sivulla 350 ”Loogisten ja informaatiofunktioiden käyttäminen yhdessä” sivulla 349 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TOSI TOSI-funktio palauttaa loogisen arvon TOSI. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muista taulukkolaskentaohjelmista tuotujen taulukoiden kanssa. TOSI() Käyttöohjeita ÂÂ TOSI-funktiolla ei ole argumentteja. Sinun on kuitenkin lisättävä sulut: =TOSI(). ÂÂ TOSI-funktion käyttämisen sijaan voit määritellä loogisen arvon TOSI kirjoittamalla TOSI (tai tosi) soluun tai funktion argumentiksi. Esimerkkejä =TOSI() palauttaa loogisen arvon TOSI. =JA(1; TOSI()) palauttaa loogisen arvon TOSI. =JA(1; TOSI) toimii täsmälleen samalla tavalla kuin edeltävä esimerkki. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”EPÄTOSI” sivulla 153 ”Loogisten ja informaatiofunktioiden luettelo” sivulla 151 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 162 Luku 7 Loogiset ja informaatiofunktiot 163 Numeeriset funktiot auttavat suorittamaan laskutoimituksia tavallisilla matemaattisilla arvoilla. Numeeristen funktioiden luettelo iWork tarjoaa taulukoiden kanssa käytettäviksi seuraavat numeeriset funktiot. Funktio Kuvaus ”ITSEISARVO” (sivu 166) ITSEISARVO-funktio palauttaa luku- tai kestoarvon itseisarvon. ”PYÖRISTÄ.KERR.YLÖS” (sivu 166) PYÖRISTÄ.KERR.YLÖS-funktio pyöristää luvun nollasta poispäin lähimpään määritellyn kertoimen monikertaan. ”KOMBINAATIO” (sivu 168) KOMBINAATIO-funktio palauttaa luvun, joka kertoo, kuinka monella tavalla kohteita voi yhdistää tietyn kokoisiksi ryhmiksi, kun ryhmän sisäisellä järjestyksellä ei ole merkitystä. ”PARILLINEN” (sivu 168) PARILLINEN-funktio pyöristää luvun nollasta poispäin seuraavaan parilliseen lukuun. ”EKSPONENTTI” (sivu 169) EKSPONENTTI-funktio palauttaa arvon e (luonnollisten logaritmien kantaluku) korotettuna määriteltyyn potenssiin. ”KERTOMA” (sivu 170) KERTOMA-funktio palauttaa luvun kertoman. ”KERTOMA.OSA” (sivu 171) KERTOMA.OSA-funktio palauttaa luvun osakertoman. ”PYÖRISTÄ.KERR.ALAS” (sivu 172) PYÖRISTÄ.KERR.ALAS-funktio pyöristää luvun nollaan päin lähimpään määritellyn kertoimen monikertaan. ”SUURIIN.YHT.TEKIJÄ” (sivu 173) SUURIN.YHT.TEKIJÄ-funktio palauttaa määriteltyjen lukujen suurimman yhteisen jakajan. Numeeriset funktiot 8 Funktio Kuvaus ”KOKONAISLUKU” (sivu 173) KOKONAISLUKU-funktio palauttaa lähimmän kokonaisluvun, joka on pienempi tai yhtä suuri kuin luku. ”PIENIN.YHT.JAETTAVA” (sivu 174) PIENIN.YHT.JAETTAVA-funktio palauttaa määriteltyjen lukujen pienimmän yhteisen jaettavan. ”LUONNLOG” (sivu 175) LUONNLOG-funktio palauttaa luvun luonnollisen logaritmin, eli luvun, jonka potenssiin e on korotettava jotta tuloksena on argumentin luku. ”LOG” (sivu 176) LOG-funktio palauttaa luvun logaritmin määritellyllä kantaluvulla. ”LOG10” (sivu 177) LOG10-funktio palauttaa luvun kymmenkantaisen logaritmin. ”JAKOJ” (sivu 177) JAKOJ-funktio palauttaa jakolaskun jakojäännöksen. ”PYÖRISTÄ.KERR” (sivu 178) PYÖRISTÄ.KERR-funktio pyöristää luvun lähimpään määritellyn kertoimen monikertaan. ”MULTINOMI” (sivu 179) MULTINOMI-funktio palauttaa annettujen lukujen monijäsenisen kertoimen suljetun muodon. ”PARITON” (sivu 180) PARITON-funktio pyöristää luvun nollasta poispäin seuraavaan parittomaan lukuun. ”PII” (sivu 181) PII-funktio palauttaa likiarvon π:stä (piistä) eli ympyrän kehän suhteesta ympyrän halkaisijaan. ”POTENSSI” (sivu 182) POTENSSI-funktio palauttaa luvun korotettuna potenssiin. ”TULO” (sivu 182) TULO-funktio palauttaa yhden tai useamman luvun tulon. ”OSAMÄÄRÄ” (sivu 183) OSAMÄÄRÄ-funktio palauttaa kahden luvun osamäärän kokonaislukuosan. ”SATUNNAISLUKU” (sivu 184) SATUNNAISLUKU-funktio palauttaa satunnaisluvun, joka on suurempi tai yhtä suuri kuin 0 ja pienempi kuin 1. ”SATUNNAISLUKU.VÄLILTÄ” (sivu 185) SATUNNAISLUKU.VÄLILTÄ-funktio palauttaa satunnaisen kokonaisluvun määritellyltä alueelta. ”ROMAN” (sivu 185) ROMAN-funktio muuntaa luvun roomalaisiksi numeroiksi. ”PYÖRISTÄ” (sivu 186) PYÖRISTÄ-funktio palauttaa luvun pyöristettynä tiettyyn määrään sijoja. ”PYÖRISTÄ.DES.ALAS” (sivu 188) PYÖRISTÄ.DES.ALAS-funktio palauttaa luvun pyöristettynä nollaan päin (alaspäin) tiettyyn määrään sijoja. 164 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 165 Funktio Kuvaus ”PYÖRISTÄ.DES.YLÖS” (sivu 189) PYÖRISTÄ.DES.YLÖS-funktio palauttaa luvun pyöristettynä nollasta poispäin (ylöspäin) tiettyyn määrään sijoja. ”ETUMERKKI” (sivu 190) ETUMERKKI-funktio palauttaa arvon 1, kun funktiossa käytettävä luku on positiivinen, arvon -1 kun se on negatiivinen ja arvon 0, kun se on nolla. ”NELIÖJUURI” (sivu 190) NELIÖJUURI-funktio palauttaa luvun neliöjuuren. ”NELIÖJUURI.PII” (sivu 191) NELIÖJUURI.PII-funktio palauttaa luvun neliöjuuren kerrottuna π:llä (piillä). ”SUMMA” (sivu 191) SUMMA-funktio palauttaa lukujoukon summan. ”SUMMAJOS” (sivu 192) SUMMAJOS-funktio palauttaa lukujoukon summan, jossa ovat mukana vain määriteltyä ehtoa vastaavat luvut. ”SUMMA.JOS.JOUKKO” (sivu 194) SUMMA.JOS.JOUKKO-funktio palauttaa niiden joukkojen solujen summan, joissa testiarvot täyttävät annetut ehdot. ”TULOJEN.SUMMA” (sivu 196) TULOJEN.SUMMA-funktio palauttaa yhden tai useamman alueen toisiaan vastaavien lukujen tulojen summan. ”NELIÖSUMMA” (sivu 196) NELIÖSUMMA-funktio palauttaa lukujoukon neliöiden summan. ”NELIÖEROTUSTEN.SUMMA” (sivu 197) NELIÖEROTUSTEN.SUMMA-funktio palauttaa kahden joukon toisiaan vastaavien arvojen erotusten neliöiden summan. ”NELIÖSUMMIEN.SUMMA” (sivu 198) NELIÖSUMMIEN.SUMMA-funktio palauttaa kahden joukon toisiaan vastaavien arvojen neliöiden summien summan. ”EROTUSTEN.NELIÖSUMMA” (sivu 199) EROTUSTEN.NELIÖSUMMA-funktio palauttaa kahden joukon toisiaan vastaavien lukujen erotusten neliöiden summan. ”KATKAISE” (sivu 199) KATKAISE-funktio katkaisee luvun haluttuun määrään numeroita. ITSEISARVO ITSEISARVO-funktio palauttaa luvun tai keston itseisarvon. ITSEISARVO(luku-kesto) ÂÂ luku-kesto:  Luku- tai kestoarvo. luku-kesto on luku- tai kestoarvo. Käyttöohjeita ÂÂ ITSEISARVO-funktion palauttama arvo on joko positiivinen luku tai 0. Esimerkkejä =ITSEISARVO(A1) palauttaa 5, jos solun A1 sisältö on 5. =ITSEISARVO(8-5) palauttaa 3. =ITSEISARVO(5-8) palauttaa 3. =ITSEISARVO(0) palauttaa 0. =ITSEISARVO(A1) palauttaa 0, jos solu A1 on tyhjä. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PYÖRISTÄ.KERR.YLÖS PYÖRISTÄ.KERR.YLÖS-funktio pyöristää luvun nollasta poispäin lähimpään määritellyn kertoimen monikertaan. PYÖRISTÄ.KERR.YLÖS(pyöristettävä luku; monikertatekijä) ÂÂ pyöristettävä luku:  Pyöristettävä luku. pyöristettävä luku on numeroarvo. ÂÂ monikertatekijä:  Luku, jota käytetään lähimmän monikerran määrittämiseen. Monikertatekijä on numeroarvo ja sillä täytyy olla sama merkki kuin pyöristettävällä luvulla. 166 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 167 Esimerkkejä =PYÖRISTÄ.KERR.YLÖS(0,25; 1) palauttaa 1. =PYÖRISTÄ.KERR.YLÖS(1,25; 1) palauttaa 2. =PYÖRISTÄ.KERR.YLÖS(-1,25; -1) palauttaa -2. =PYÖRISTÄ.KERR.YLÖS(5; 2) palauttaa 6. =PYÖRISTÄ.KERR.YLÖS(73; 10) palauttaa 80. =PYÖRISTÄ.KERR.YLÖS(7; 2,5) palauttaa 7,5. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PARILLINEN” sivulla 168 ”PYÖRISTÄ.KERR.ALAS” sivulla 172 ”KOKONAISLUKU” sivulla 173 ”PYÖRISTÄ.KERR” sivulla 178 ”PARITON” sivulla 180 ”PYÖRISTÄ” sivulla 186 ”PYÖRISTÄ.DES.ALAS” sivulla 188 ”PYÖRISTÄ.DES.YLÖS” sivulla 189 ”KATKAISE” sivulla 199 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KOMBINAATIO KOMBINAATIO-funktio palauttaa luvun, joka kertoo, kuinka monella tavalla kohteita voi yhdistää tietyn kokoisiksi ryhmiksi, kun ryhmän sisäisellä järjestyksellä ei ole merkitystä. KOMBINAATIO(yhteensä kohteita; ryhmän koko) ÂÂ yhteensä kohteita:  Kohteiden kokonaismäärä. yhteensä kohteita on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. Jos argumentti yhteensä kohteita sisältää desimaaliosan (murto-osan), sitä ei huomioida. ÂÂ ryhmän koko:  Kuhunkin ryhmään yhdistettyjen kohteiden määrä. ryhmän koko on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. Jos argumentti ryhmän koko sisältää desimaaliosan (murto-osan), sitä ei huomioida. Käyttöohjeita ÂÂ Kombinaatiot ovat eri asia kuin permutaatiot. Kombinaatioissa ryhmän kohteiden järjestystä ei huomioida, mutta permutaatioissa se huomioidaan. Esimerkiksi (1, 2, 3) ja (3, 2, 1) ovat sama kombinaatio, mutta ne ovat kaksi eri permutaatiota. Jos haluat kombinaatioiden määrän sijaan permutaatioiden määrän, käytä PERMUTAATIOfunktiota. Esimerkkejä =KOMBINAATIO(3; 2) palauttaa 3. Jos käytössä on 3 kohdetta ja niistä otetaan ryhmään aina 2, voidaan luoda 3 erilaista ryhmää. =KOMBINAATIO(3,2; 2,3) palauttaa 3. Murto-osat jätetään huomiotta. =KOMBINAATIO(5; 2) ja =KOMBINAATIO(5; 3) molemmat palauttavat 10. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PERMUTAATIO” sivulla 273 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PARILLINEN PARILLINEN-funktio pyöristää luvun nollasta poispäin seuraavaan parilliseen lukuun. PARILLINEN(pyöristettävä luku) ÂÂ pyöristettävä luku:  Pyöristettävä luku. pyöristettävä luku on numeroarvo. 168 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 169 Käyttöohjeita ÂÂ Jos haluat pyöristää parittomaan lukuun, käytä PARITON-funktiota. Esimerkkejä =PARILLINEN(1) palauttaa 2. =PARILLINEN(2) palauttaa 2. =PARILLINEN(2,5) palauttaa 4. =PARILLINEN(-2,5) palauttaa -4. =PARILLINEN(0) palauttaa 0. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PYÖRISTÄ.KERR.YLÖS” sivulla 166 ”PYÖRISTÄ.KERR.ALAS” sivulla 172 ”KOKONAISLUKU” sivulla 173 ”PYÖRISTÄ.KERR” sivulla 178 ”PARITON” sivulla 180 ”PYÖRISTÄ” sivulla 186 ”PYÖRISTÄ.DES.ALAS” sivulla 188 ”PYÖRISTÄ.DES.YLÖS” sivulla 189 ”KATKAISE” sivulla 199 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 EKSPONENTTI EKSPONENTTI-funktio palauttaa arvon e (luonnollisten logaritmien kantaluku) korotettuna määriteltyyn potenssiin. EKSPONENTTI(eksponentti) ÂÂ eksponentti:  Potenssi, johon e halutaan korottaa. eksponentti on numeroarvo. Käyttöohjeita ÂÂ EKSPONENTTI JA LUONNLOG ovat matemaattisesti käänteisiä siellä, missä LUONNLOG on määritelty, mutta liukulukujen pyöristyksen vuoksi EXP(LN(x)) ei välttämättä palauta täsmälleen x. Esimerkki =EKSPONENTTI(1) palauttaa e:n likiarvon 2,71828182845905. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LUONNLOG” sivulla 175 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KERTOMA KERTOMA-funktio palauttaa luvun kertoman. KERTOMA(kertomaluku) ÂÂ kertomaluku:  Numero. kertomaluku on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. Jos argumentissa kertomaluku on desimaaliosa (murto-osa), sitä ei huomioida. Esimerkkejä =KERTOMA(5) palauttaa 120 eli 1 * 2 * 3 * 4 * 5. =KERTOMA(0) palauttaa 1. =KERTOMA(4,5) palauttaa 24. Murtolukuosa katkaistaan pois ja kertoma lasketaan luvulle 4. =KERTOMA(-1) palauttaa virheen, sillä luku ei saa olla negatiivinen. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KERTOMA.OSA” sivulla 171 ”MULTINOMI” sivulla 179 170 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 171 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KERTOMA.OSA KERTOMA.OSA-funktio palauttaa luvun osakertoman. KERTOMA.OSA(kertomaluku) ÂÂ kertomaluku:  Numero. kertomaluku on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin -1. -1 ja 1 välillä olevat arvot palauttavat 1. Jos argumentissa kertomaluku on desimaaliosa (murto-osa), sitä ei huomioida. Käyttöohjeita ÂÂ Parillisen kokonaisluvun osakertoma on tulo kaikista niistä parillisista kokonaisluvuista, jotka ovat pienempiä tai yhtä suuria kuin kyseinen kokonaisluku ja suurempia tai yhtä suuria kuin 2. Parittoman kokonaisluvun osakertoma on tulo kaikista niistä parittomista kokonaisluvuista, jotka ovat pienempiä tai yhtä suuria kuin kyseinen kokonaisluku ja suurempia tai yhtä suuria kuin 1. Esimerkkejä =KERTOMA.OSA(4) palauttaa 8 eli lukujen 2 ja 4 tulon. =KERTOMA.OSA(4,7) palauttaa 8 eli lukujen 2 ja 4 tulon. Desimaaliosaa ei oteta huomioon. =KERTOMA.OSA(10) palauttaa 3840 eli lukujen 2, 4,6,8 ja 10 tulon. =KERTOMA.OSA(1) palauttaa 1. Myös luvut välillä -1 ja 1 palauttavat 1. =KERTOMA.OSA(-1) palauttaa 1. Myös luvut välillä -1 ja 1 palauttavat 1. =KERTOMA.OSA (7) palauttaa 105 eli lukujen 1, 3, 5 ja 7 tulon. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KERTOMA” sivulla 170 ”MULTINOMI” sivulla 179 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PYÖRISTÄ.KERR.ALAS PYÖRISTÄ.KERR.ALAS-funktio pyöristää luvun nollaan päin lähimpään määritellyn kertoimen monikertaan. PYÖRISTÄ.KERR.ALAS(pyöristettävä luku; kerroin) ÂÂ pyöristettävä luku:  Pyöristettävä luku. pyöristettävä luku on numeroarvo. ÂÂ kerroin:  Numero, jota käytetään lähimmän monikerran määrittämiseen. kerroin on numeroarvo. Sillä on oltava sama etumerkki kuin pyöristettävällä luvulla. Esimerkkejä =PYÖRISTÄ.KERR.ALAS(0,25; 1) palauttaa 0. =PYÖRISTÄ.KERR.ALAS(1,25; 1) palauttaa 1. =PYÖRISTÄ.KERR.ALAS(5; 2) palauttaa 4. =PYÖRISTÄ.KERR.ALAS(73; 10) palauttaa 70. =PYÖRISTÄ.KERR.ALAS(-0,25; -1) palauttaa 0. =PYÖRISTÄ.KERR.ALAS(9; 2,5) palauttaa 7,5. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PYÖRISTÄ.KERR.YLÖS” sivulla 166 ”PARILLINEN” sivulla 168 ”KOKONAISLUKU” sivulla 173 ”PYÖRISTÄ.KERR” sivulla 178 ”PARITON” sivulla 180 ”PYÖRISTÄ” sivulla 186 ”PYÖRISTÄ.DES.ALAS” sivulla 188 ”PYÖRISTÄ.DES.YLÖS” sivulla 189 ”KATKAISE” sivulla 199 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 172 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 173 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SUURIIN.YHT.TEKIJÄ SUURIIN.YHT.TEKIJÄ palauttaa määriteltyjen lukujen suurimman yhteisen jakajan. SUURIIN.YHT.TEKIJÄ(lukuarvo; lukuarvo…) ÂÂ lukuarvo:  Numero. lukuarvo on numeroarvo. Jos siinä on desimaaliosa, sitä ei huomioida. ÂÂ lukuarvo…:  Voit sisällyttää yhden tai useamman lisäluvun. Käyttöohjeita ÂÂ Suurin yhteinen jakaja, jota joskus kutsutaan myös suurimmaksi yhteiseksi tekijäksi, on suurin kokonaisluku, joka jakaa kunkin luvun ilman jakojäännöstä. Esimerkkejä =SUURIIN.YHT.TEKIJÄ(8; 10) palauttaa 2. =SUURIIN.YHT.TEKIJÄ(99; 102; 105) palauttaa 3. =SUURIIN.YHT.TEKIJÄ(34; 51) palauttaa 17. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PIENIN.YHT.JAETTAVA” sivulla 174 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KOKONAISLUKU KOKONAISLUKU-funktio palauttaa lähimmän kokonaisluvun, joka on pienempi tai yhtä suuri kuin luku. KOKONAISLUKU(pyöristettävä luku) ÂÂ pyöristettävä luku:  Pyöristettävä luku. pyöristettävä luku on numeroarvo. Esimerkkejä =KOKONAISLUKU(1,49) palauttaa 1. =KOKONAISLUKU(1,50) palauttaa 1. =KOKONAISLUKU(1,23456) palauttaa 1. =KOKONAISLUKU(1111,222) palauttaa 1111. =KOKONAISLUKU(-2,2) palauttaa -3. =KOKONAISLUKU(-2,8) palauttaa -3. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PYÖRISTÄ.KERR.YLÖS” sivulla 166 ”PARILLINEN” sivulla 168 ”PYÖRISTÄ.KERR.ALAS” sivulla 172 ”PYÖRISTÄ.KERR” sivulla 178 ”PARITON” sivulla 180 ”PYÖRISTÄ” sivulla 186 ”PYÖRISTÄ.DES.ALAS” sivulla 188 ”PYÖRISTÄ.DES.YLÖS” sivulla 189 ”KATKAISE” sivulla 199 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PIENIN.YHT.JAETTAVA PIENIN.YHT.JAETTAVA-funktio palauttaa määriteltyjen lukujen pienimmän yhteisen jaettavan. PIENIN.YHT.JAETTAVA(lukuarvo; lukuarvo…) ÂÂ lukuarvo:  Numero. lukuarvo on numeroarvo. 174 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 175 ÂÂ lukuarvo…:  Voit sisällyttää yhden tai useamman lisäluvun. Käyttöohjeita ÂÂ Pienin yhteinen jaettava on pienin kokonaisluku, joka on määriteltyjen lukujen monikerta. Esimerkkejä =PIENIN.YHT.JAETTAVA(2; 3) palauttaa 6. =PIENIN.YHT.JAETTAVA(34; 68) palauttaa 68. =PIENIN.YHT.JAETTAVA(30; 40; 60) palauttaa 120. =PIENIN.YHT.JAETTAVA(30,25; 40,333; 60,5) palauttaa 120 (murto-osia ei huomioida). =PIENIN.YHT.JAETTAVA(2; -3) näyttää virheen (negatiiviset luvut eivät ole sallittuja). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SUURIIN.YHT.TEKIJÄ” sivulla 173 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LUONNLOG LUONNLOG-funktio palauttaa luvun luonnollisen logaritmin, eli luvun, jonka potenssiin e on korotettava jotta tuloksena on kyseinen luku. LUONNLOG(pos. luku) ÂÂ pos. luku:  Positiivinen luku. pos. luku on numeroarvo ja sen on oltava suurempi kuin 0. Käyttöohjeita ÂÂ EKSPONENTTI JA LUONNLOG ovat matemaattisesti käänteisiä siellä, missä LUONNLOG on määritelty, mutta liukulukujen pyöristyksen vuoksi =LN(EXP(x)) ei välttämättä palauta täsmälleen x. Esimerkki =LUONNLOG(2,71828) palautta likimäärin 1 eli potenssin, johon e on korotettava, jotta tuloksena on 2,71828. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”EKSPONENTTI” sivulla 169 ”LOG” sivulla 176 ”LOGNORM.JAKAUMA.KÄÄNT” sivulla 261 ”LOGNORM.JAKAUMA” sivulla 261 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LOG LOG-funktio palauttaa luvun logaritmin määritellyllä kantaluvulla. LOG(pos. luku; kantaluku) ÂÂ pos. luku:  Positiivinen luku. pos. luku on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ kantaluku:  Valinnainen arvo, joka määrittelee logaritmin kannan. kantaluku on numeroarvo ja sen on oltava suurempi kuin 0. Jos kantaluku on 1, seurauksena on jako arvolla 0 ja funktio palauttaa virheen. Jos kantalukua ei anneta, sen oletetaan olevan 10. Esimerkkejä =LOG(8; 2) palauttaa 3. =LOG(100, 10) ja LOG(100) palauttavat molemmat 2. =LOG(5,0625, 1,5) palauttaa 4. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LOG10” sivulla 177 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 176 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 177 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LOG10 LOG10-funktio palauttaa luvun kymmenkantaisen logaritmin. LOG10(pos. luku) ÂÂ pos. luku:  Positiivinen luku. pos. luku on numeroarvo ja sen on oltava suurempi kuin 0. Käyttöohjeita ÂÂ Jos haluat selvittää logaritmin muulle kantaluvulle kuin 10, käytä LOG-funktiota. Esimerkkejä =LOG10(1) palauttaa 0. =LOG10(10) palauttaa 1. =LOG10(100) palauttaa 2. =LOG10(1000) palauttaa 3. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LUONNLOG” sivulla 175 ”LOG” sivulla 176 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 JAKOJ JAKOJ-funktio palauttaa jakolaskun jakojäännöksen. JAKOJ(jaettava; jakaja) ÂÂ jaettava:  Luku, joka jaetaan toisella luvulla. jaettava on numeroarvo. ÂÂ jakaja:  Luku, joka jakaa toisen luvun. jakaja on numeroarvo. Jos 0, seurauksena on jako nollalla ja funktio palauttaa virheen. Käyttöohjeita ÂÂ Tuloksen etumerkki vastaa jakajan etumerkkiä. ÂÂ Kun lasketaan JAKOJ(a; b), JAKOJ antaa luvun r siten, että a = bk + r, missä r on arvo väliltä 0 ja b ja k on kokonaisluku. ÂÂ JAKOJ(a; b) on yhtä kuin a-b*KOKONAISLUKU(a/b). Esimerkkejä =JAKOJ(6; 3) palauttaa 0. =JAKOJ(7; 3) palauttaa 1. =JAKOJ(8; 3) palauttaa 2. =JAKOJ(-8; 3) palauttaa 1. =JAKOJ(4,5; 2) palauttaa 0,5. =JAKOJ(7; 0,75) palauttaa 0,25. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”OSAMÄÄRÄ” sivulla 183 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PYÖRISTÄ.KERR PYÖRISTÄ.KERR-funktio pyöristää luvun lähimpään määritellyn kertoimen monikertaan. PYÖRISTÄ.KERR(pyöristettävä luku; kerroin) ÂÂ pyöristettävä luku:  Pyöristettävä luku. pyöristettävä luku on numeroarvo. ÂÂ kerroin:  Numero, jota käytetään lähimmän monikerran määrittämiseen. kerroin on numeroarvo. Sillä on oltava sama etumerkki kuin pyöristettävällä luvulla. Esimerkkejä =PYÖRISTÄ.KERR(2; 3) palauttaa 3. =PYÖRISTÄ.KERR(4; 3) palauttaa 3. =PYÖRISTÄ.KERR(4,4999; 3) palauttaa 3. =PYÖRISTÄ.KERR(4,5; 3) palauttaa 6. =PYÖRISTÄ.KERR(-4,5; 3) palauttaa virheen. 178 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 179 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PYÖRISTÄ.KERR.YLÖS” sivulla 166 ”PARILLINEN” sivulla 168 ”PYÖRISTÄ.KERR.ALAS” sivulla 172 ”KOKONAISLUKU” sivulla 173 ”PARITON” sivulla 180 ”PYÖRISTÄ” sivulla 186 ”PYÖRISTÄ.DES.ALAS” sivulla 188 ”PYÖRISTÄ.DES.YLÖS” sivulla 189 ”KATKAISE” sivulla 199 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MULTINOMI MULTINOMI-funktio palauttaa annettujen lukujen monijäsenisen kertoimen. Se suorittaa tämän määrittelemällä annettujen lukujen summan kertoman suhteen lukujen kertomien tuloon. MULTINOMI(ei-negatiivinen luku; ei-negatiivinen luku…) ÂÂ ei-negatiivinen luku:  Numero. ei-negatiivinen luku on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ ei-negatiivinen luku…:  Voit sisällyttää yhden tai useamman lisäluvun. Esimerkkejä =MULTINOMI(2) palauttaa 1. 2:n kertoma on 2. 1:n ja 2:n tulo on 2. Jakolaskussa 2:2 suhde on 1. =MULTINOMI(1; 2; 3) palauttaa 60. Lukujen 1, 2 ja 3 summan kertoma on 720. Lukujen 1, 2 ja 3 kertomien tulo on 12. Jakolaskussa 720:12 suhde on 60. =MULTINOMI(4; 5; 6) palauttaa 630630. Lukujen 4, 5 ja 6 summan kertoma on 1,30767E+12. Lukujen 4, 5 ja 6 kertomien tulo on 2073600. Jakolaskussa 1,30767E+12:2073600 suhde on 630630. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KERTOMA” sivulla 170 ”KERTOMA.OSA” sivulla 171 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PARITON PARITON-funktio pyöristää luvun nollasta poispäin seuraavaan parittomaan lukuun. PARITON(pyöristettävä luku) ÂÂ pyöristettävä luku:  Pyöristettävä luku. pyöristettävä luku on numeroarvo. Käyttöohjeita ÂÂ Jos haluat pyöristää parilliseen lukuun, käytä PARILLINEN-funktiota. Esimerkkejä =PARITON(1) palauttaa 1. =PARITON(2) palauttaa 3. =PARITON(2,5) palauttaa 3. =PARITON(-2,5) palauttaa -3. =PARITON(0) palauttaa 1. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PYÖRISTÄ.KERR.YLÖS” sivulla 166 ”PARILLINEN” sivulla 168 180 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 181 ”PYÖRISTÄ.KERR.ALAS” sivulla 172 ”KOKONAISLUKU” sivulla 173 ”PYÖRISTÄ.KERR” sivulla 178 ”PYÖRISTÄ” sivulla 186 ”PYÖRISTÄ.DES.ALAS” sivulla 188 ”PYÖRISTÄ.DES.YLÖS” sivulla 189 ”KATKAISE” sivulla 199 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PII PII-funktio palauttaa likiarvon π:stä (piistä) eli ympyrän kehän suhteesta ympyrän halkaisijaan. PII() Käyttöohjeita ÂÂ PII-funktiolla ei ole argumentteja. Siihen on kuitenkin lisättävä sulut: =PII(). ÂÂ PII on 15 sijan likiarvo. Esimerkkejä =PII() palauttaa 3,14159265358979. =SIN(PII()/2) palauttaa 1, joka on π/2 radiaanin eli 90 asteen sini. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”COS” sivulla 324 ”SIN” sivulla 327 ”TAN” sivulla 329 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 POTENSSI POTENSSI-funktio palauttaa luvun korotettuna potenssiin. POTENSSI(luku; eksponentti) ÂÂ luku:  Numero. luku on numeroarvo. ÂÂ eksponentti:  Potenssi, johon annettu luku korotetaan. eksponentti on numeroarvo. Käyttöohjeita ÂÂ POTENSSI-funktio tuottaa saman tuloksen kuin operaattori ^: =POTENSSI(x; y) palauttaa saman tuloksen kuin =x^y. Esimerkkejä =POTENSSI(2; 3) palauttaa 8. =POTENSSI(2; 10) palauttaa 1024. =POTENSSI(0,5; 3) palauttaa 0,125. =POTENSSI(100; 0,5) palauttaa 10. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TULO TULO-funktio palauttaa yhden tai useamman luvun tulon. TULO(lukuarvo; lukuarvo…) ÂÂ lukuarvo:  Numero. lukuarvo on numeroarvo. 182 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 183 ÂÂ lukuarvo…:  Voit sisällyttää yhden tai useamman lisäluvun. Käyttöohjeita ÂÂ Arvojen joukossa olevia tyhjiä soluja ei huomioida eivätkä ne vaikuta tulokseen. Esimerkkejä =TULO(2; 4) palauttaa 8. =TULO(0,5; 5; 4; 5) palauttaa 50. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SUMMA” sivulla 191 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 OSAMÄÄRÄ OSAMÄÄRÄ-funktio palauttaa kahden luvun osamäärän kokonaislukuosan. OSAMÄÄRÄ(jaettava; jakaja) ÂÂ jaettava:  Luku, joka jaetaan toisella luvulla. jaettava on numeroarvo. ÂÂ jakaja:  Luku, joka jakaa toisen luvun. jakaja on numeroarvo. Jos 0, seurauksena on jako nollalla ja funktio palauttaa virheen. Käyttöohjeita ÂÂ Jos jompikumpi, mutta ei molemmat, jakajasta ja jaettavasta on negatiivinen, tulos on negatiivinen. Jos sekä jakajan ja jaettavan etumerkki on sama, tulos on positiivinen. ÂÂ Funktio palauttaa vain osamäärän kokonaislukuosan. Murto-osaa (jakojäännöstä) ei huomioida. Esimerkkejä =OSAMÄÄRÄ(5; 2) palauttaa 2. =OSAMÄÄRÄ(5,99; 2) palauttaa 2. =OSAMÄÄRÄ(-5; 2) palauttaa -2. =OSAMÄÄRÄ(6; 2) palauttaa 3. =OSAMÄÄRÄ(5; 6) palauttaa 0. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”JAKOJ” sivulla 177 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SATUNNAISLUKU SATUNNAISLUKU-funktio palauttaa satunnaisluvun, joka on suurempi tai yhtä suuri kuin 0 ja pienempi kuin 1. SATUNNAISLUKU() Käyttöohjeita ÂÂ SATUNNAISLUKU-funktiolla ei ole argumentteja. Siihen on kuitenkin lisättävä sulut: =SATUNNAISLUKU(). ÂÂ Aina kun taulukossa muutetaan arvoa, generoidaan uusi satunaisluku, joka on suurempi tai yhtä suuri kuin 0 ja pienempi kuin 1. Esimerkki =SATUNNAISLUKU() palauttaa esimerkiksi 0,217538648284972, 0,6137690856, 0,0296026556752622 ja 0,4684193600, kun laskutoimitus suoritetaan neljä kertaa. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SATUNNAISLUKU.VÄLILTÄ” sivulla 185 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 184 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 185 SATUNNAISLUKU.VÄLILTÄ SATUNNAISLUKU.VÄLILTÄ-funktio palauttaa satunnaisen kokonaisluvun määritellyltä alueelta. SATUNNAISLUKU.VÄLILTÄ(alempi; ylempi) ÂÂ alempi:  Alaraja. alempi on numeroarvo. ÂÂ ylempi:  Yläraja. ylempi on numeroarvo. Käyttöohjeita ÂÂ Aina kun taulukossa muutetaan arvoa, generoidaan uusi satunaisluku ala- ja ylärajan väliltä. Esimerkki =SATUNNAISLUKU.VÄLILTÄ(1; 10) palauttaa esimerkiksi 8, 6, 2, 3 ja 5 kun laskutoimitus suoritetaan viisi kertaa. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SATUNNAISLUKU” sivulla 184 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ROMAN ROMAN-funktio muuntaa luvun roomalaisiksi numeroiksi. ROMAN(arabialainen luku; roomalainen tyyli) ÂÂ arabialainen luku Muunnettava luku arabialaisilla numeroilla. arabialainen luku on numeroarvo väliltä 0 - 3999. ÂÂ roomalainen tyyli:  Valinnainen arvo, joka päättää kuinka tarkasti klassisia sääntöjä käytetään muodostettaessa roomalaisia numeroita. tarkka (0 tai TOSI tai jätetty pois):  Käytetään tarkimpia klassisia sääntöjä. Kun pienempi numeromerkki edeltää suurempaa tarkoittaen, että se vähennetään suuremman merkin luvusta, pienemmän numeromerkin on oltava luvun 10 potenssi ja sitä seuraava numero ei saa olla yli 10 kertaa sen suuruinen. Esimerkiksi 999 esitetään muodossa CMXCIX, ei muodossa LMVLIV. yksinkertaista yhdellä asteella (1):  Tarkkaa klassista sääntöä yksinkertaistetaan yhdellä asteella. Kun pienempi numeromerkki edeltää suurempaa, pienemmän numeromerkin ei tarvitse olla luvun 10 potenssi ja suhteellisen suuruuden sääntöä venytetään yhden numeromerkin verran. Esimerkiksi 999 voidaan esittää muodossa LMVLIV, mutta ei muodossa XMIX. yksinkertaista kahdella asteella (2):  Klassista sääntöä yksinkertaistetaan kahdella asteella. Kun pienempi numeromerkki edeltää suurempaa, suhteellisen suuruuden sääntöä venytetään kahden numeromerkin verran. Esimerkiksi 999 voidaan esittää muodossa XMIX, mutta ei muodossa VMIV. yksinkertaista kolmella asteella (3):  Klassista sääntöä yksinkertaistetaan kolmella asteella. Kun pienempi numeromerkki edeltää suurempaa, suhteellisen suuruuden sääntöä venytetään kolmen numeromerkin verran. Esimerkiksi 999 voidaan esittää muodossa VMIV, mutta ei muodossa IM. yksinkertaista neljällä asteella (4 tai EPÄTOSI):  Klassista sääntöä yksinkertaistetaan neljällä asteella. Kun pienempi numeromerkki edeltää suurempaa, suhteellisen suuruuden sääntöä venytetään neljän numeromerkin verran. Esimerkiksi 999 voidaan esittää muodossa IM. Esimerkkejä =ROMAN(12) palauttaa XII. =ROMAN(999) palauttaa CMXCIX. =ROMAN(999; 1) palauttaa LMVLIV. =ROMAN(999; 2) palauttaa XMIX. =ROMAN(999; 3) palauttaa VMIV. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PYÖRISTÄ PYÖRISTÄ-funktio palauttaa luvun pyöristettynä tiettyyn määrään sijoja. PYÖRISTÄ(pyöristettävä luku; numerot) ÂÂ pyöristettävä luku:  Pyöristettävä luku. pyöristettävä luku on numeroarvo. 186 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 187 ÂÂ numerot:  Säilytettävien numeroiden määrä suhteessa desimaalipilkkuun. numerot on numeroarvo. Positiivinen luku tarkoittaa lukuun sisällytettäviä merkkejä (kymmenyssijoja) desimaalipilkun oikealla puolella. Negatiivinen luku määrittelee, kuinka monta merkkiä desimaalipilkun vasemmalla puolella muutetaan nolliksi (nollien määrä luvun lopussa). Esimerkkejä =PYÖRISTÄ(1,49; 0) palauttaa 1. =PYÖRISTÄ(1,50; 0) palauttaa 2. =PYÖRISTÄ(1,23456; 3) palauttaa 1,235. =PYÖRISTÄ(1111,222; -2) palauttaa 1100. =PYÖRISTÄ(-2,2; 0) palauttaa -2. =PYÖRISTÄ(-2,8; 0) palauttaa -3. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PYÖRISTÄ.KERR.YLÖS” sivulla 166 ”PARILLINEN” sivulla 168 ”PYÖRISTÄ.KERR.ALAS” sivulla 172 ”KOKONAISLUKU” sivulla 173 ”PYÖRISTÄ.KERR” sivulla 178 ”PARITON” sivulla 180 ”PYÖRISTÄ.DES.ALAS” sivulla 188 ”PYÖRISTÄ.DES.YLÖS” sivulla 189 ”KATKAISE” sivulla 199 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PYÖRISTÄ.DES.ALAS PYÖRISTÄ.DES.ALAS-funktio palauttaa luvun pyöristettynä nollaan päin (alaspäin) tiettyyn määrään sijoja. PYÖRISTÄ.DES.ALAS(pyöristettävä luku; numerot) ÂÂ pyöristettävä luku:  Pyöristettävä luku. pyöristettävä luku on numeroarvo. ÂÂ numerot:  Säilytettävien numeroiden määrä suhteessa desimaalipilkkuun. numerot on numeroarvo. Positiivinen luku tarkoittaa lukuun sisällytettäviä merkkejä (kymmenyssijoja) desimaalipilkun oikealla puolella. Negatiivinen luku määrittelee, kuinka monta merkkiä desimaalipilkun vasemmalla puolella muutetaan nolliksi (nollien määrä luvun lopussa). Esimerkkejä =PYÖRISTÄ.DES.ALAS(1,49; 0) palauttaa 1. =PYÖRISTÄ.DES.ALAS(1,50; 0) palauttaa 1. =PYÖRISTÄ.DES.ALAS(1,23456; 3) palauttaa 1,234. =PYÖRISTÄ.DES.ALAS(1111,222; -2) palauttaa 1100. =PYÖRISTÄ.DES.ALAS(-2,2; 0) palauttaa -2. =PYÖRISTÄ.DES.ALAS(-2,8; 0) palauttaa -2. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PYÖRISTÄ.KERR.YLÖS” sivulla 166 ”PARILLINEN” sivulla 168 ”PYÖRISTÄ.KERR.ALAS” sivulla 172 ”KOKONAISLUKU” sivulla 173 ”PYÖRISTÄ.KERR” sivulla 178 ”PARITON” sivulla 180 ”PYÖRISTÄ” sivulla 186 ”PYÖRISTÄ.DES.YLÖS” sivulla 189 ”KATKAISE” sivulla 199 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 188 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 189 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PYÖRISTÄ.DES.YLÖS PYÖRISTÄ.DES.YLÖS-funktio palauttaa luvun pyöristettynä nollasta poispäin (ylöspäin) tiettyyn määrään sijoja. PYÖRISTÄ.DES.YLÖS(pyöristettävä luku; numerot) ÂÂ pyöristettävä luku:  Pyöristettävä luku. pyöristettävä luku on numeroarvo. ÂÂ numerot:  Säilytettävien numeroiden määrä suhteessa desimaalipilkkuun. numerot on numeroarvo. Positiivinen luku tarkoittaa lukuun sisällytettäviä merkkejä (kymmenyssijoja) desimaalipilkun oikealla puolella. Negatiivinen luku määrittelee, kuinka monta merkkiä desimaalipilkun vasemmalla puolella muutetaan nolliksi (nollien määrä luvun lopussa). Esimerkkejä =PYÖRISTÄ.DES.YLÖS(1,49; 0) palauttaa 2. =PYÖRISTÄ.DES.YLÖS(1,50; 0) palauttaa 2. =PYÖRISTÄ.DES.YLÖS(1,23456; 3) palauttaa 1,235. =PYÖRISTÄ.DES.YLÖS(1111,222; -2) palauttaa 1200. =PYÖRISTÄ.DES.YLÖS(-2,2; 0) palauttaa -3. =PYÖRISTÄ.DES.YLÖS(-2,8; 0) palauttaa -3. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PYÖRISTÄ.KERR.YLÖS” sivulla 166 ”PARILLINEN” sivulla 168 ”PYÖRISTÄ.KERR.ALAS” sivulla 172 ”KOKONAISLUKU” sivulla 173 ”PYÖRISTÄ.KERR” sivulla 178 ”PARITON” sivulla 180 ”PYÖRISTÄ” sivulla 186 ”PYÖRISTÄ.DES.ALAS” sivulla 188 ”KATKAISE” sivulla 199 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ETUMERKKI ETUMERKKI-funktio palauttaa arvon 1, kun argumentti luku on positiivinen, arvon -1 kun se on negatiivinen ja arvon 0, kun se on nolla. ETUMERKKI(num) ÂÂ num:  Numero. luku on numeroarvo. Esimerkkejä =ETUMERKKI(2) palauttaa 1. =ETUMERKKI(0) palauttaa 0. =ETUMERKKI(-2) palauttaa -1. =ETUMERKKI(A4) palauttaa -1, jos solun A4 sisältö on -2. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NELIÖJUURI NELIÖJUURI-funktio palauttaa luvun neliöjuuren. NELIÖJUURI(num) ÂÂ num:  Numero. luku on numeroarvo. Esimerkkejä =NELIÖJUURI(16) palauttaa 4. =NELIÖJUURI(12,25) palauttaa luvun 12,25 neliöjuuren 3,5. 190 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 191 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NELIÖJUURI.PII NELIÖJUURI.PII palauttaa luvun neliöjuuren kerrottuna π:llä (piillä). NELIÖJUURI.PII(ei-negatiivinen luku) ÂÂ ei-negatiivinen luku:  ei-negatiivinen luku. ei-negatiivinen luku on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. Esimerkkejä =NELIÖJUURI.PII(5) palauttaa 3,96332729760601. =NELIÖJUURI.PII(8) palauttaa 5,013256549262. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SUMMA SUMMA-funktio palauttaa lukujoukon summan. SUMMA(luku-päiväys-kesto; luku-päiväys-kesto…) ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. ÂÂ luku-päiväys-kesto…:  Voit sisällyttää yhden tai useamman lisäarvon. Jos määriteltyjä luku-päiväys-kesto-arvoja on enemmän kuin yksi, kaikkien on oltava samaa tyyppiä. Käyttöohjeita ÂÂ On olemassa yksi tapaus, jolloin kaikkien arvojen ei tarvitse olla samaa tyyppiä. Jos täsmälleen yksi päiväys/aika-arvo sisällytetään, kaikki lukuarvot tulkitaan päivien lukumääriksi ja kaikki luvut ja kestoarvot lisätään päiväys/aika-arvoon. ÂÂ Päiväys/aika-arvoja ei voi lisätä yhteen, joten vain yksi päiväys/aika-arvo on sallittu (käyttö kuten edellä selitetään). ÂÂ Arvot voivat olla yksittäisissä soluissa, solualueilla tai suoraan funktioon sisällytettyinä argumentteina. Esimerkkejä =SUMMA(A1:A4) laskee yhteen neljän solun luvut. =SUMMA(A1:D4) laskee yhteen neliön sisään sijoittuvien kuudentoisto solun arvot. =SUMMA(A1:A4; 100) laskee yhteen neljän solun arvot ja lisää niihin 100. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TULO” sivulla 182 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SUMMAJOS SUMMAJOS-funktio palauttaa lukujoukon summan, jossa ovat mukana vain määriteltyä ehtoa vastaavat luvut. SUMMAJOS(testiarvot; ehto; summa-arvot) ÂÂ testiarvot:  Testattavat arvot sisältävä joukko. testiarvot on minkä tahansa tyyppisiä arvoja sisältävä joukko. ÂÂ ehto:  Lauseke, jonka tulos on looginen TOSI tai EPÄTOSI. ehto on lauseke, joka voi sisältää mitä tahansa kunhan ehdon ja testiarvoissa olevan arvon vertailun tulos voidaan ilmaista loogisena arvona TOSI tai EPÄTOSI. 192 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 193 ÂÂ summa-arvot:  Valinnainen joukko yhteenlaskettavia lukuja. summa-arvot on joukko, joka sisältää luku-, päiväys/aika- tai kestoarvoja. Sen ulottuvuuksien tulee olla samat kuin argumentilla testiarvot. Käyttöohjeita ÂÂ Jos summa-arvot jätetään pois, oletusarvo on testiarvot. ÂÂ Vaikka testiarvot voi sisältää minkä tahansa tyyppisiä arvoja, arvojen tulisi yleensä olla keskenään samaa tyyppiä. ÂÂ Jos summa-arvot jätetään pois, testiarvot sisältää tavallisesti vain luku- tai kestoarvoja. Esimerkkejä Seuraavassa taulukossa: =SUMMAJOS(A1:A8; ”<5”) palauttaa 10. =SUMMAJOS(A1:A8; ”<5”, B1:B8) palauttaa 100. =SUMMAJOS(D1:F3; ”=c”; D5:F7) palauttaa 27. =SUMMAJOS(B1:D1; 1) tai SUMMAJOS(B1:D1; SUMMA(1)) laskevat molemmat yhteen kaikki alueella esiintyvät arvot 1. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVO.JOS” sivulla 227 ”KESKIARVO.JOS.JOUKKO” sivulla 229 ”LASKE.JOS” sivulla 242 ”LASKE.JOS.JOUKKO” sivulla 243 ”SUMMA.JOS.JOUKKO” sivulla 194 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SUMMA.JOS.JOUKKO SUMMA.JOS.JOUKKO-funktio palauttaa niiden joukkojen solujen summan, joissa testiarvot täyttävät annetut ehdot. SUMMA.JOS.JOUKKO(summa-arvot; testiarvot; ehto; testiarvot…; ehto…) ÂÂ summa-arvot:  Joukko arvoja, jotka lasketaan yhteen. summa-arvot on joukko, joka sisältää luku-, päiväys/aika- tai kestoarvoja. ÂÂ testiarvot:  Testattavia arvoja sisältävä joukko. testiarvot on minkä tahansa tyyppisiä arvoja sisältävä joukko. ÂÂ ehto:  Lauseke, jonka tulos on looginen TOSI tai EPÄTOSI. ehto on lauseke, joka voi sisältää mitä tahansa kunhan ehdon ja testiarvoissa olevan arvon vertailun tulos voidaan ilmaista loogisena arvona TOSI tai EPÄTOSI. ÂÂ testiarvot…:  Voit sisällyttää yhden tai useamman testattavien arvojen lisäjoukon. Kunkin testiarvot-joukon perässä on välittömästi oltava ehto-lauseke. Tämä testiarvot; ehto -kaava voidaan toistaa niin monta kertaa, kuin on tarpeen. ÂÂ ehto…:  Jos valinnainen joukko testiarvoja sisällytetään, tuloksena oleva lauseke on looginen TOSI tai EPÄTOSI. Kunkin testiarvot-joukon perässä on oltava yksi ehto, joten tässä funktiossa on aina pariton määrä argumentteja. Käyttöohjeita ÂÂ Kunkin testi- ja ehtoarvoparin kohdalla niitä vastaavaa (samassa paikassa alueella tai matriisissa olevaa) solua tai arvoa verrataan ehtoon. Jos kaikki ehdot täyttyvät, vastaava solu tai arvo summa-arvoista sisällytetään summaan. ÂÂ Kaikkien matriisien on oltava saman kokoisia. 194 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 195 Esimerkkejä Seuraavassa taulukossa on esitetty osa tietyn hyödykkeen toimittamisen kirjanpidosta. Kukin kuorma on punnittu ja sille on annettu luokitus 1 tai 2 ja sen toimituspäivä on merkitty. =SUMMA.JOS.JOUKKO(A2:A13;B2:B13;”=1”;C2:C13;”>=13.12.2010”;C2:C13;”<=17.12.2010”) palauttaa 23 eli 17. joulukuuta päättyvällä viikolla toimitettujen 1-luokiteltujen hyödykkeiden tonnimäärän. =SUMMA.JOS.JOUKKO(A2:A13;B2:B13;”=2”,C2:C13;”>=13.12.2010”;C2:C13;”<=17.12.2010”) palauttaa 34, eli samalla viikolla toimitetujen 2-luokiteltujen hyödykkeiden tonnimäärän. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVO.JOS” sivulla 227 ”KESKIARVO.JOS.JOUKKO” sivulla 229 ”LASKE.JOS” sivulla 242 ”LASKE.JOS.JOUKKO” sivulla 243 ”SUMMAJOS” sivulla 192 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TULOJEN.SUMMA TULOJEN.SUMMA-funktio palauttaa yhden tai useamman alueen toisiaan vastaavien lukujen tulojen summan. TULOJEN.SUMMA(alue; alue…) ÂÂ alue:  Solualue. alue on viittaus yksittäiseen, minkä tahansa tyyppisiä arvoja sisältävien solujen alueeseen. Jos alue sisältää merkkijonoja tai loogisia arvoja, ne jätetään huomioimatta. ÂÂ alue…:  Voit sisällyttää yhden tai useamman solualueen lisää. Kaikilla alueilla on oltava samat ulottuvuudet. Käyttöohjeita ÂÂ TULOJEN.SUMMA-funktio kertoo keskenään kunkin alueen vastaavat luvut ja laskee sitten tulot yhteen. Jos määriteltyjä alueita on vain yksi, TULOJEN.SUMMA palauttaa kyseisen alueen summan. Esimerkkejä =TULOJEN.SUMMA(3; 4) palauttaa 12. =TULOJEN.SUMMA({1; 2}; {3; 4}) = 3 + 8 = 11. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NELIÖSUMMA NELIÖSUMMA-funktio palauttaa lukujoukon neliöiden summan. NELIÖSUMMA(lukuarvo; lukuarvo…) ÂÂ lukuarvo:  Numero. lukuarvo on numeroarvo. ÂÂ lukuarvo…:  Voit sisällyttää yhden tai useamman lisäluvun. Käyttöohjeita ÂÂ Luvut voivat olla yksittäisissä soluissa, solualueilla tai suoraan funktioon sisällytettyinä argumentteina. 196 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 197 Esimerkkejä =NELIÖSUMMA(3; 4) palauttaa 25. =NELIÖSUMMA(A1:A4) laskee yhteen neljän luvun neliöt. =NELIÖSUMMA(A1:D4) laskee yhteen neliön muotoisen solualueen 16 solun lukujen neliöt. =NELIÖSUMMA(A1:A4; 100) laskee yhteen neljän solun lukujen neliöt ja lisää 100. =NELIÖJUURI(NELIÖSUMMA(3; 4)) palauttaa 5. Kaava palauttaa Pythagoraan lauseen mukaisesti suorakulmaisen kolmion hypotenuusan pituuden, kun kateettien pituudet ovat 3 ja 4. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NELIÖEROTUSTEN.SUMMA NELIÖEROTUSTEN.SUMMA-funktio palauttaa kahden joukon toisiaan vastaavien arvojen erotusten neliöiden summan. NELIÖEROTUSTEN.SUMMA(joukon 1 arvot; joukon 2 arvot) ÂÂ joukon 1 arvot:  Ensimmäinen arvojoukko. joukon 1 arvot on numeroarvoja sisältävä joukko. ÂÂ joukon 2 arvot:  Toinen arvojoukko. joukon 2 arvot on numeroarvoja sisältävä joukko. Esimerkki Seuraavassa taulukossa: =NELIÖEROTUSTEN.SUMMA(A1:A6;B1:B6) palauttaa -158 eli sarakkeen A arvojen neliöiden ja sarakkeen B arvojen neliöiden erotusten summan. Ensimmäisen erotuksen kaava on A12 - B12. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NELIÖSUMMIEN.SUMMA NELIÖSUMMIEN.SUMMA-funktio palauttaa kahden joukon toisiaan vastaavien arvojen neliöiden summan. NELIÖSUMMIEN.SUMMA(joukon 1 arvot; joukon 2 arvot) ÂÂ joukon 1 arvot:  Ensimmäinen arvojoukko. joukon 1 arvot on numeroarvoja sisältävä joukko. ÂÂ joukon 2 arvot:  Toinen arvojoukko. joukon 2 arvot on numeroarvoja sisältävä joukko. Esimerkki Seuraavassa taulukossa: =NELIÖSUMMIEN.SUMMA(A1:A6;B1:B6) palauttaa 640 eli sarakkeen A arvojen neliöiden ja sarakkeen B arvojen neliöiden summien summan. Ensimmäisen summan kaava on A12 + B12. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 198 Luku 8 Numeeriset funktiot Luku 8 Numeeriset funktiot 199 EROTUSTEN.NELIÖSUMMA EROTUSTEN.NELIÖSUMMA-funktio palauttaa kahden joukon toisiaan vastaavien lukujen erotusten neliöiden summan. EROTUSTEN.NELIÖSUMMA(joukon 1 arvot; joukon 2 arvot) ÂÂ joukon 1 arvot:  Ensimmäinen arvojoukko. joukon 1 arvot on numeroarvoja sisältävä joukko. ÂÂ joukon 2 arvot:  Toinen arvojoukko. joukon 2 arvot on numeroarvoja sisältävä joukko. Esimerkki Seuraavassa taulukossa: =EROTUSTEN.NELIÖSUMMA(A1:A6;B1:B6) palauttaa 196 eli sarakkeen A arvojen neliöiden ja sarakkeen B arvojen neliöiden summan. Ensimmäisen summan kaava on (A1 - B1)2. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KATKAISE KATKAISE-funktio katkaisee luvun halutun pituiseksi. KATKAISE(luku; numerot) ÂÂ luku:  Numero. luku on numeroarvo. ÂÂ numerot:  Valinnainen arvo, joka määrittelee säilytettävien numeroiden määrän suhteessa desimaalipilkkuun. numerot on numeroarvo. Positiivinen luku tarkoittaa lukuun sisällytettäviä merkkejä (kymmenyssijoja) desimaalipilkun oikealla puolella. Negatiivinen luku määrittelee, kuinka monta merkkiä desimaalipilkun vasemmalla puolella muutetaan nolliksi (nollien määrä luvun lopussa). Käyttöohjeita ÂÂ Jos numerot jätetään pois, argumentin arvoksi oletetaan 0. Esimerkkejä =KATKAISE(1,49; 0) palauttaa 1. =KATKAISE(1,50; 0) palauttaa 1. =KATKAISE(1,23456; 3) palauttaa 1,234. =KATKAISE(1111,222; -2) palauttaa 1100. =KATKAISE(-2,2; 0) palauttaa -2. =KATKAISE(-2,8; 0) palauttaa -2. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PYÖRISTÄ.KERR.YLÖS” sivulla 166 ”PARILLINEN” sivulla 168 ”PYÖRISTÄ.KERR.ALAS” sivulla 172 ”KOKONAISLUKU” sivulla 173 ”PYÖRISTÄ.KERR” sivulla 178 ”PARITON” sivulla 180 ”PYÖRISTÄ” sivulla 186 ”PYÖRISTÄ.DES.ALAS” sivulla 188 ”PYÖRISTÄ.DES.YLÖS” sivulla 189 ”Lisää pyöristämisestä” sivulla 346 ”Numeeristen funktioiden luettelo” sivulla 163 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 200 Luku 8 Numeeriset funktiot 201 Viittausfunktiot auttavat löytämään dataa taulukoista ja noutamaan solujen dataa. Viittausfunktioiden luettelo iWork tarjoaa taulukoiden kanssa käytettäviksi seuraavat viittausfunktiot. Funktio Kuvaus ”OSOITE” (sivu 202) OSOITE-funktio muodostaa solun osoitemerkkijonon erillisistä rivin, sarakkeen ja taulukon tunnisteista. ”ALUEET” (sivu 203) ALUEET-funktio palauttaa funktion viittauksessa olevien alueiden määrän. ”VALITSE” (sivu 204) VALITSE-funktio palauttaa arvojoukosta arvon määritellyn indeksiarvon perusteella. ”SARAKE” (sivu 205) SARAKE-funktio palauttaa määritellyn solun sisältävän sarakkeen sarakenumeron. ”SARAKKEET” (sivu 205) SARAKKEET-funktio palauttaa määriteltyyn solualueeseen sisältyvien sarakkeiden määrän. ”VHAKU” (sivu 206) VHAKU-funktio palauttaa arvon rivialueelta valiten käytettävän sarakkeen ylimmän rivin arvojen perusteella ja palauttaen sitten kyseisestä sarakkeesta halutun rivinumeron kohdalla olevan arvon. ”HYPERLINKKI” (sivu 207) HYPERLINKKI-funktio luo osoittamalla toimivan hyperlinkin, joka avaa verkkosivun tai uuden sähköpostiviestin. ”INDEKSI” (sivu 208) INDEKSI-funktio palauttaa arvon solusta, joka sijaitsee solualueella määritellyn rivin ja sarakkeen leikkauskohdassa. ”EPÄSUORA” (sivu 210) EPÄSUORA-funktio palauttaa merkkijonona määritellyn osoiteviittauksen solun tai alueen sisällön. Viittausfunktiot 9 Funktio Kuvaus ”HAKU” (sivu 211) HAKU-funktio etsii haluttua arvoa yhdeltä alueelta ja palauttaa sitten arvon solusta, jolla on suhteellisesti sama sijainti toisella alueella. ”VASTINE” (sivu 212) VASTINE-funktio palauttaa arvon sijainnin alueella. ”SIIRTYMÄ” (sivu 214) SIIRTYMÄ-funktio palauttaa solualueen, joka on määritellyn rivi- ja sarakemäärän päässä määritellystä kantasolusta. ”RIVI” (sivu 215) RIVI-funktio palauttaa määritellyn solun sisältävän rivin rivinumeron. ”RIVIT” (sivu 216) RIVIT-funktio palauttaa määritellyn solualueen sisältämien rivien määrän. ”TRANSPONOI” (sivu 216) TRANSPONOI-funktio palauttaa pystysuoran solualueen vaakasuorana solualueena tai päin vastoin. ”PHAKU” (sivu 217) PHAKU-funktio palauttaa arvon sarakealueelta valiten käytettävän rivin ensimmäisenä vasemmalla olevan sarakkeen arvojen perusteella ja palauttaen sitten kyseiseltä riviltä halutun sarakenumeron kohdalla olevan arvon. OSOITE OSOITE-funktio muodostaa solun osoitemerkkijonon erillisistä rivin, sarakkeen ja taulukon tunnisteista. OSOITE(rivi; sarake; absoluuttinen tyyppi; absoluuttinen tyyli; taulukko) ÂÂ rivi:  Osoitteen rivinumero. rivi on numeroarvo ja sen on oltava välillä 1 ja 65535. ÂÂ sarake:  Osoitteen sarakenumero. sarake on numeroarvo ja sen on oltava välillä 1 ja 256. ÂÂ absoluuttinen tyyppi:  Valinnainen arvo, joka määrittelee, ovatko rivi- ja sarakeluvut suhteellisia vai absoluuttisia. kaikki absoluuttisia (1 tai jätetty pois):  Rivi- ja sarakeviittaukset ovat absoluuttisia. rivi absoluuttinen, sarake suhteellinen (2):  Riviviittaukset ovat absoluuttisia ja sarakeviittaukset ovat suhteellisia. rivi suhteellinen, sarake absoluuttinen (3):  Riviviittaukset ovat suhteellisia ja sarakeviittaukset ovat absoluuttisia. kaikki suhteellisia (4):  Rivi- ja sarakeviittaukset ovat suhteellisia. ÂÂ absoluuttinen tyyli:  Valinnainen arvo, joka määrittelee osoitetyylin. 202 Luku 9 Viittausfunktiot Luku 9 Viittausfunktiot 203 A1 (TOSI, 1 tai jätetty pois):  Osoitemuodon tulisi käyttää kirjaimia sarakkeille ja numeroita riveille. R1C1 (EPÄTOSI):  Osoitemuotoa ei tueta, palautetaan virhe. ÂÂ taulukko:  Valinnainen arvo, joka määrittelee taulukon nimen. taulukko on merkkijonoarvo. Jos taulukko on toisella välilehdelle, on annettava myös välilehden nimi. Jos taulukko jätetään pois, käytetään oletuksena nykyistä taulukkoa nykyisellä välilehdellä (eli taulukkoa, jossa OSOITE-funktio sijaitsee). Käyttöohjeita ÂÂ Osoitetyyliä R1C1 ei tueta ja tämä modaalinen argumentti tarjotaan vain muiden taulukkolaskentaohjelmien yhteensopivuuden tukemiseksi. Esimerkkejä =OSOITE(3; 5) luo osoitteen $E$3. =OSOITE(3; 5; 2) luo osoitteen E$3. =OSOITE(3; 5; 3) luo osoitteen $E3. =OSOITE(3; 5; 4) luo osoitteen E3. =OSOITE(3; 3; ;; ”Välilehti 2 :: Taulukko 1”) luo osoitteen Välilehti 2 :: Taulukko 1:: $C$3. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ALUEET ALUEET-funktio palauttaa funktion viittauksessa olevien alueiden määrän. ALUEET(alueet) ÂÂ alueet:  Alueet, jotka funktion tulisi laskea. alueet on luetteloarvo. Se koostuu joko yhdestä alueesta tai useammista puolipisteellä erotetuista alueista ja sitä ympäröivät lisäsulut, esimerkiksi ALUEET((B1:B5; C10:C12)). Esimerkkejä =ALUEET(A1:F8) palauttaa 1. =ALUEET(C2:C8 B6:E6) palauttaa 1. =ALUEET((A1:F8; A10:F18)) palauttaa 2. =ALUEET((A1:C1; A3:C3; A5:C5)) palauttaa 3. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VALITSE VALITSE-funktio palauttaa arvojoukosta arvon määritellyn indeksiarvon perusteella. VALITSE(indeksi; arvo; arvo…) ÂÂ indeksi:  Palautettavan arvon indeksi. indeksi on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Esimerkkejä =VALITSE(4; ”maanantai”; ”tiistai”; ”keskiviikko”; ”torstai”; ”perjantai”; ”lauantai”; ”sunnuntai”) palauttaa luettelon neljännen arvon, joka on torstai. =VALITSE(3; ”ensimmäinen”; ”toinen”; 7; ”viimeinen”) palauttaa luettelon kolmannen arvon, joka on 7. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 204 Luku 9 Viittausfunktiot Luku 9 Viittausfunktiot 205 SARAKE SARAKE-funktio palauttaa määritellyn solun sisältävän sarakkeen sarakenumeron. SARAKE(solu) ÂÂ solu:  Valinnainen viittaus yksittäiseen taulukon soluun. solu on viittausarvo, joka viittaa yksittäiseen soluun, joka voi sisältää minkä tahansa arvon tai olla tyhjä. Jos solu jätetään pois kuten kaavassa =SARAKE(), funktio palauttaa sen solun sarakenumeron, jossa kaava on. Esimerkkejä =SARAKE(B7) palauttaa 2 eli sarakkeen B absoluuttisen sarakenumeron. =SARAKE() palauttaa sen solun sarakenumeron, jossa funktio on. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”INDEKSI” sivulla 208 ”RIVI” sivulla 215 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SARAKKEET SARAKKEET-funktio palauttaa määriteltyyn solualueeseen sisältyvien sarakkeiden määrän. SARAKKEET(alue) ÂÂ alue:  Solualue. alue on viittaus yksittäiseen, minkä tahansa tyyppisiä arvoja sisältävien solujen alueeseen. Käyttöohjeita ÂÂ Jos valitse alueeksi taulukon koko rivin, SARAKKEET palauttaa rivin sarakkeiden kokonaismäärän, joka muuttuu aina, kun muutat taulukon kokoa. Esimerkkejä =SARAKKEET(B3:D10) palauttaa alueen sarakkeiden määrän 3 (sarakkeet B, C ja D). =SARAKKEET(5:5) palauttaa rivin 5 sarakkeiden kokonaismäärän. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”RIVIT” sivulla 216 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VHAKU VHAKU-funktio palauttaa arvon rivialueelta valiten käytettävän sarakkeen ylimmän rivin arvojen perusteella ja palauttaen sitten kyseisestä sarakkeesta halutun rivinumeron kohdalla olevan arvon. VHAKU(etsittävä arvo; rivialue; palauta rivi; täsmää lähes) ÂÂ etsittävä arvo:  Etsittävä arvo. etsittävä arvo voi sisältää minkä tyyppisen arvon tahansa. ÂÂ rivialue:  Solualue. alue on viittaus yksittäiseen, minkä tahansa tyyppisiä arvoja sisältävien solujen alueeseen. ÂÂ palauta rivi:  Rivinumero, josta arvo palautetaan. palauta rivi on numeroarvo, jonka on oltava suurempi tai yhtä suuri kuin 1 ja pienempi tai yhtä pieni kuin määritellyn alueen rivien lukumäärä. ÂÂ täsmää lähes:  Valinnainen arvo, joka määrittelee tarvitaanko tarkkaa vastaavuutta. täsmää lähes (TOSI, 1 tai jätetty pois):  Jos yhtään tarkkaa vastaavuutta ei ole, valitaan sarake, jossa on suurin ylärivin arvo, joka on pienempi kuin haettava arvo. etsittävä arvo ei voi sisältää jokerimerkkejä. vastaa tarkalleen (EPÄTOSI tai 0):  Jos tarkkaa vastaavuutta ei löydy, palautuu virhe. etsittävä arvo ei voi sisältää jokerimerkkejä. Käyttöohjeita ÂÂ VHAKU vertaa etsittävää arvoa määritellyn alueen ylimmän rivin arvoihin. Jos tarkkaa vastaavuutta ei vaadita, valitaan sarake, jonka ylärivillä on suurin arvo, joka on pienempi kuin etsittävä arvo. Sen jälkeen funktio palauttaa arvon kyseisen sarakkeen määritellyltä riviltä. Jos vaaditaan tarkkaa vastaavuutta, eikä mikään ylimmän rivin arvoista vastaa etsittävää arvoa, funktio palauttaa virheen. 206 Luku 9 Viittausfunktiot Luku 9 Viittausfunktiot 207 Esimerkkejä Seuraavassa taulukossa: =VHAKU(20; A1:E4; 2) palauttaa ”E”. =VHAKU(39; A1:E4; 2) palauttaa ”E”. =VHAKU(”M”; A2:E4; 2) palauttaa ”dolor”. =VHAKU(”C”; A2:E3; 2) palauttaa ”lorem”. =VHAKU(”blandit”; A3:E4; 2) palauttaa ”5”. =VHAKU(”C”; A2:E4; 3; TOSI) palauttaa ”1”. =VHAKU(”C”; A2:E4; 3; EPÄTOSI) palauttaa virheen, koska arvoa ei löydy (tarkkaa vastaavuutta ei ole). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”HAKU” sivulla 211 ”VASTINE” sivulla 212 ”PHAKU” sivulla 217 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 HYPERLINKKI HYPERLINKKI-funktio luo osoittamalla toimivan hyperlinkin, joka avaa verkkosivun tai uuden sähköpostiviestin. HYPERLINKKI(osoite; linkitä teksti) ÂÂ osoite:  Normaali internet-osoite (URL). osoite on merkkijonoarvo, jonka tulee sisältää oikein muotoiltu internet-osoite (URL). ÂÂ linkitä teksti:  Valinnainen arvo, joka määrittelee solun tekstin, joka tulee näkyviin osoitettavana linkkinä. linkitä teksti on merkkijonoarvo. Jos se poistetaan, osoitearvoa käytetään linkitä teksti -arvona. Esimerkkejä =HYPERLINKKI(”http://www.apple.com/fi”; ”Apple”) luo linkin, jossa lukee Apple ja joka avaa Applen suomenkielisen kotisivun tietokoneen ensisijaisessa selaimessa. =HYPERLINKKI(”mailto:janedoe@example.com?subject=Tarjouspyyntö”; ”Pyydä tarjous”) luo linkin, jossa lukee Pyydä tarjous ja joka avaa tietokoneen ensisijaisessa sähköpostiohjelmassa uuden viestin, jonka osoitekentässä on janedoe@example.com ja aiheena on Tarjouspyyntö. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 INDEKSI INDEKSI-funktio palauttaa arvon solusta, joka sijaitsee solualueella tai matriisissa määritellyn rivin ja sarakkeen leikkauskohdassa. INDEKSI(alue; rivi-indeksi; sarakeindeksi; alueindeksi) ÂÂ alue:  Solualue. alue voi sisältää minkä tahansa tyypin arvoja. Alue on joko yksittäinen alue tai useita alueita, jotka on eroteltu puolipisteillä ja joiden ympärillä on yhdet sulut lisää. Esimerkiksi ((B1:B5; C10:C12)). ÂÂ rivi-indeksi:  Palautettava arvon rivinumero. rivi-indeksi on numeroarvo, jonka on oltava suurempi tai yhtä suuri kuin 0 ja pienempi tai yhtä pieni kuin alueen rivien lukumäärä. ÂÂ sarakeindeksi:  Valinnainen arvo, joka määrittelee palautettavan arvon sarakeluvun. sarakeindeksi on numeroarvo, jonka on oltava suurempi tai yhtä suuri kuin 0 ja pienempi tai yhtä pieni kuin alueen sarakkeiden lukumäärä. ÂÂ alueindeksi:  Valinnainen arvo, joka määrittelee palautettavan arvon alueluvun. alueindeksi on numeroarvo, jonka on oltava suurempi tai yhtä suuri kuin 1 ja pienempi tai yhtä pieni kuin alueen alueiden määrä. Jos se jätetään pois, käytetään arvoa 1. Käyttöohjeita ÂÂ INDEKSI voi palauttaa kaksiulotteiselta arvoalueelta määritellyn leikkauskohdan arvon. Oletetaan esimerkiksi, että arvot ovat soluissa B2:E7. =INDEKSI(B2:D7; 2; 3) palauttaa arvon, joka on toisen rivin ja kolmannen sarakkeen leikkauskohdassa (solun D3 arvon). 208 Luku 9 Viittausfunktiot Luku 9 Viittausfunktiot 209 ÂÂ Solualueita voidaan määritellä enemmän kuin yksi lisäämällä sulut alueiden molemmin puolin. Esimerkiksi =INDEKSI((B2:D5;B7:D10); 2; 3; 2) palauttaa arvon, joka on toisella alueella toisen rivin ja kolmannen sarakkeen leikkauskohdassa (solun D8 arvon). ÂÂ INDEKSI voi palauttaa yhden rivin tai yhden sarakkeen matriisin toista funktiota varten. Tällöin vaaditaan joko rivi-indeksi tai sarakeindeksi, mutta toinen argumentti voidaan jättää pois. Esimerkiksi =SUMMA(INDEKSI(B2:D5; ; 3)) palauttaa kolmannen sarakkeen (solujen D2 - D5) arvojen summan. Vastaavasti, =KESKIARVO(INDEKSI(B2:D5; 2)) palauttaa keskiarvon toisen rivin (solujen B3 - D3) arvoista. ÂÂ INDEKSI voi palauttaa (tai ”lukea”) arvon matriisista, jonka on palauttanut matriisifunktio (funktio, joka ei palauta yksittäistä arvoa vaan arvomatriisin). TAAJUUS-funktio palauttaa määriteltyihin väleihin pohjautuvan arvomatriisin. =INDEKSI(TAAJUUS($A$1:$F$5; $B$8:$E$8); 1) palauttaa ensimmäisen arvon määritellyn TAAJUUS-funktion palauttamasta matriisista. Vastaavasti =INDEKSI(TAAJUUS($A$1:$F$5; $B$8:$E$8); 5) palauttaa matriisin viidennen arvon. ÂÂ Sijainti alueella tai matriisissa määritellään ilmoittamalla, kuinka monta riviä alas ja kuinka monta saraketta oikealle siirrytään suhteessa alueen tai matriisin vasempaan yläkulmaan. ÂÂ Lukuun ottamatta tapauksia, jolloin INDEKSI on määritelty kuten kolmannessa tapauksessa edellä, rivi-indeksiä ei voi jättää määrittelemättä ja jos sarakeindeksi jätetään pois, sen arvoksi oletetaan 1. Esimerkkejä Seuraavassa taulukossa: =INDEKSI(B2:D5;2;3) palauttaa 22 eli toisen rivin kolmannen sarakkeen (solun D3) arvon. =INDEKSI((B2:D5;B7:D10); 2; 3; 2) palauttaa ”f” eli toisen alueen toisen rivin kolmannen sarakkeen (solun D8) arvon. =SUMMA(INDEKSI(B2:D5; ; 3)) palauttaa 90 eli kolmannen sarakkeen (solujen D2 - D5) arvojen summan. =KESKIARVO(INDEKSI(B2:D5;2)) palauttaa 12 eli toisen rivin (solujen B3 - D3) arvojen keskiarvon. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SARAKE” sivulla 205 ”EPÄSUORA” sivulla 210 ”SIIRTYMÄ” sivulla 214 ”RIVI” sivulla 215 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 EPÄSUORA EPÄSUORA-funktio palauttaa merkkijonona määritellyn osoiteviittauksen solun tai alueen sisällön. EPÄSUORA(absoluuttinen merkkijono; absoluuttinen tyyli) ÂÂ absoluuttinen merkkijono:  Soluosoitetta edustava merkkijono. absoluuttinen merkkijono on merkkijonoarvo. ÂÂ absoluuttinen tyyli:  Valinnainen arvo, joka määrittelee osoitetyylin. A1 (TOSI, 1 tai jätetty pois):  Osoitemuodon tulisi käyttää kirjaimia sarakkeille ja numeroita riveille. R1C1 (EPÄTOSI):  Osoitemuotoa ei tueta, palautetaan virhe. Käyttöohjeita ÂÂ Annetun osoitteen ei tarvitse olla viittaus vain yksittäiseen soluun, vaan se voi olla viittaus alueeseen kuten ”A1:C5”. Tällä tavoin käytettynä EPÄSUORA palauttaa matriisin, jota voidaan käyttää argumenttina toisessa funktiossa tai joka voidaan lukea suoraan käyttäen INDEKSI-funktiota. Esimerkiksi, =SUMMA(EPÄSUORA(A1:C5; 1) palauttaa arvojen summan niistä soluista, joihin solujen A1 - A5 osoitteet viittaavat. ÂÂ Osoitetyyliä R1C1 ei tueta ja tämä modaalinen argumentti tarjotaan vain muiden taulukkolaskentaohjelmien yhteensopivuuden tukemiseksi. Esimerkki Jos solu A1 sisältää arvon 99 ja A20 sisältää viittauksen A1: =EPÄSUORA(A20) palauttaa 99 eli solun A1 sisällön. 210 Luku 9 Viittausfunktiot Luku 9 Viittausfunktiot 211 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”INDEKSI” sivulla 208 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 HAKU HAKU-funktio etsii haluttua arvoa yhdeltä alueelta ja palauttaa sitten arvon solusta, jolla on suhteellisesti sama sijainti toisella alueella. HAKU(etsittävä arvo; etsittävä kohde; tulos-arvot) ÂÂ etsittävä arvo:  Etsittävä arvo. etsittävä arvo voi sisältää minkä tyyppisen arvon tahansa. ÂÂ etsittävä kohde:  Etsittävät arvot sisältävä joukko. etsittävä kohde on minkä tahansa tyyppisiä arvoja sisältävä joukko. ÂÂ tulos-arvot:  Valinnainen joukko, joka sisältää etsinnän tuloksena palautettavan arvon. tulos-arvot on minkä tahansa tyyppisiä arvoja sisältävä joukko. Käyttöohjeita ÂÂ Kaavassa on yleensä sekä etsittävä kohde että tulos-arvot ja ne on määritelty kattamaan joko useita rivejä tai useita sarakkeita, mutta ei molempia (ne ovat yksiulotteisia). Muiden taulukkolaskentaohjelmien yhteensopivuuden tukemiseksi etsittävä kohde voidaan kuitenkin määritellä sekä usean sarakkeen että usean rivin kattavaksi (kaksiulotteiseksi) ja tulos-arvot voidaan jättää pois. ÂÂ Jos etsittävä kohde on kaksiulotteinen ja tulos-arvot on määritelty, suoritetaan etsintä ylimmällä rivillä tai ensimmäisessä sarakkeessa vasemmalla riippuen siitä, kummassa on enemmän soluja, ja funktio palauttaa vastaavan arvon tulos-arvoista. ÂÂ Jos etsittävä kohde on kaksiulotteinen ja tulos-arvot on jätetty määrittelemättä, palautetaan vastaava arvo viimeiseltä riviltä (jos alueen sarakkeiden lukumäärä on suurempi kuin rivien) tai viimeisestä sarakkeesta (jos alueen rivien lukumäärä on suurempi kuin sarakkeiden). Esimerkkejä Seuraavassa taulukossa: =HAKU(”C”; A1:F1; A2:F2) palauttaa 30. =HAKU(40; A2:F2; A1:F1) palauttaa D. =HAKU(”B”; A1:C1; D2:F2) palauttaa 50. =HAKU(”D”; A1:F2) palauttaa 40, arvon viimeisestä rivistä, joka vastaa arvoa ”D”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”VHAKU” sivulla 206 ”VASTINE” sivulla 212 ”PHAKU” sivulla 217 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VASTINE VASTINE-funktio palauttaa arvon sijainnin alueella. VASTINE(etsittävä arvo; etsittävä kohde; vastaavuustapa) ÂÂ etsittävä arvo:  Etsittävä arvo. etsittävä arvo voi sisältää minkä tyyppisen arvon tahansa. ÂÂ etsittävä kohde:  Etsittävät arvot sisältävä joukko. etsittävä kohde on minkä tahansa tyyppisiä arvoja sisältävä joukko. ÂÂ vastaavuustapa:  Valinnainen arvo, joka määrittelee arvonvastaavuuden suorittamistavan. etsi suurin arvo (1 tai jätetty pois):  Etsi solu, jossa on suurin arvo, joka on pienempi tai yhtä kuin etsittävä arvo.etsittävä arvo ei voi sisältää jokerimerkkejä. etsi arvo (0):  Etsi solu, jossa on arvo, joka vastaa tarkalleen etsittävää arvoa. etsittävä arvo ei voi sisältää jokerimerkkejä. 212 Luku 9 Viittausfunktiot Luku 9 Viittausfunktiot 213 etsi pienin arvo (-1):  Etsi solu, jossa on pienin arvo, joka on suurempi tai yhtä suuri kuin etsittävä arvo.etsittävä arvo ei voi sisältää jokerimerkkejä. Käyttöohjeita ÂÂ VASTINE toimii vain alueella, joka on osa yksittäistä riviä tai saraketta. Sitä ei voi käyttää sekä useammille riveille että useampiin sarakkeisiin ulottuvasta joukosta etsimiseen. ÂÂ Solujen numerointi alkaa numerolla 1 ylimmästä solusta pystysuuntaisilla alueilla tai vasemman reunan solusta vaakasuuntaisilla alueilla. Etsintä suoritetaan ylhäältä alas tai vasemmalta oikealle. ÂÂ Tekstiä etsittäessä isojen ja pienten kirjainten välillä ei tehdä eroa. Esimerkkejä Seuraavassa taulukossa: =VASTINE(40; A1:A5) palauttaa 4. =VASTINE(40; E1:E5) palauttaa 1. =VASTINE(35; E1:E5; 1) palauttaa 3 (30 on suurin arvo, joka on pienempi tai yhtä suuri kuin 35). =VASTINE(35; E1:E5; -1) palauttaa 1 (40 on pienin arvo, joka on suurempi tai yhtä suuri kuin 35). =VASTINE(35; E1:E5; 0) näyttää virheen (tarkkaa vastaavuutta ei löydy). =VASTINE(”lorem”; C1:C5) palauttaa 1 (”lorem” esiintyy alueen ensimmäisessä solussa). =VASTINE(”*x”; C1:C5; 0) palauttaa 3 (”lorex”, joka loppuu merkkiin ”x”, esiintyy alueen kolmannessa solussa). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”HAKU” sivulla 211 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SIIRTYMÄ SIIRTYMÄ-funktio palauttaa solualueen, joka on määritellyn rivi- ja sarakemäärän päässä määritellystä kantasolusta. SIIRTYMÄ(kantaluku; rivisiirtymä; sarakesiirtymä; rivit; sarakkeet) ÂÂ kantaluku:  Solun osoite, josta siirtymä mitataan. kantaluku on viitearvo. ÂÂ rivisiirtymä:  Rivien määrä kantasolusta kohdesoluun. rivisiirtymä on numeroarvo. 0 tarkoittaa, että kohdesolu on samalla rivillä kuin kantasolu. Negatiivinen luku tarkoittaa, että kohde on kantaa ylemmällä rivillä. ÂÂ sarakesiirtymä:  Sarakkeiden määrä kantasolusta kohdesoluun. sarakesiirtymä on numeroarvo. 0 tarkoittaa, että kohdesolu on samassa sarakkeessa kuin kantasolu. Negatiivinen luku tarkoittaa, että kohde on kannasta vasemmmalla olevassa sarakkeessa. ÂÂ rivit:  Valinnainen arvo, joka määrittelee palautettavien rivien määrän alkaen siirtymäsijainnista.rivit on numeroarvo. ÂÂ sarakkeet:  Valinnainen arvo, joka määrittelee palautettavien sarakkeiden määrän alkaen siirtymäsijainnista.sarakkeet on numeroarvo. Käyttöohjeita ÂÂ SIIRTYMÄ voi palauttaa matriisin toisen funktion käytettäväksi. Oletetaan esimerkiksi, että soluihin A1, A2 ja A3 on kirjoitettu seuraavassa järjestyksessä kantasolu ja niiden rivien ja sarakkeiden määrä, joista halutaan summa. Summa voidaan selvittää kaavalla =SUMMA(SIIRTYMÄ(EPÄSUORA(A1); 0; 0; A2; A3)). Esimerkkejä =SIIRTYMÄ(A1; 5; 5) palauttaa solun F6 arvon, koska solu F6 on viisi saraketta oikelle ja viisi riviä alas solusta A1. =SIIRTYMÄ(G33; 0; -1) palauttaa arvon solun G33 vieressä vasemmalla olevasta solusta eli solusta F33. =SUMMA(SIIRTYMÄ(A7; 2; 3; 5; 5)) palauttaa summan arvoista soluissa D9 - H13 eli viideltä riviltä ja viidestä sarakkeesta alkaen kaksi riviä alas ja kolme saraketta oikealle solusta A7. Oletetaan, että olet syöttänyt 1 soluun D7, 2 soluun D8, 3 soluun D9, 4 soluun E7, 5 soluun E8 ja 6 soluun E9. =SIIRTYMÄ(D7; 0; 0; 3; 1) syötettynä soluun B6 palauttaa virheen, koska palautetulla 3 rivillä ja 1 sarakkeella (alue D7:D9) ei ole yhtä risteyskohtaa solun B6 kanssa (sillä ei ole yhtään). =SIIRTYMÄ(D7; 0; 0; 3; 1) syötettynä soluun D4 palauttaa virheen, koska palautetulla 3 rivillä ja 1 sarakkeella (alue D7:D9) ei ole yhtä risteyskohtaa solun B6 kanssa (sillä on kolme). =SIIRTYMÄ(D7; 0; 0; 3; 1) syötettynä soluun B8 palauttaa 2, koska palautetulla 3 rivillä ja 1 sarakkeella (alue D7:D9) on yksi risteyskohta solun B8 kanssa (solu D8, joka sisältää arvon 2). =SIIRTYMÄ(D7:D9; 0; 1; 3; 1) syötettynä soluun B7 palauttaa 4, koska palautetulla 3 rivillä ja 1 sarakkeella (alue E7:E9) on yksi risteyskohta solun B7 kanssa (solu E7, joka sisältää arvon 4). 214 Luku 9 Viittausfunktiot Luku 9 Viittausfunktiot 215 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SARAKE” sivulla 205 ”RIVI” sivulla 215 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 RIVI RIVI-funktio palauttaa määritellyn solun sisältävän rivin rivinumeron. RIVI(solu) ÂÂ solu:  Valinnainen viittaus yksittäiseen taulukon soluun. solu on viittausarvo, joka viittaa yksittäiseen soluun, joka voi sisältää minkä tahansa arvon tai olla tyhjä. Jos solu jätetään pois kuten kaavassa =RIVI(), funktio palauttaa sen solun rivinumeron, jossa kaava on. Esimerkkejä =RIVI(B7) palauttaa 7 eli rivin 7 numeron. =RIVI() palauttaa funktion sisältävän solun absoluuttisen rivinumeron. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SARAKE” sivulla 205 ”INDEKSI” sivulla 208 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 RIVIT RIVIT-funktio palauttaa määritellyn solualueen sisältämien rivien määrän. RIVIT(alue) ÂÂ alue:  Solualue. alue on viittaus yksittäiseen, minkä tahansa tyyppisiä arvoja sisältävien solujen alueeseen. Käyttöohjeita ÂÂ Jos valitse alueeksi taulukon koko sarakkeen, RIVIT palauttaa sarakkeen rivien kokonaismäärän, joka muuttuu aina, jos muutat taulukon kokoa. Esimerkkejä =RIVIT(A11:D20) palauttaa 10 eli rivimäärän väliltä 11 - 20. =RIVIT(D:D) palauttaa sarakkeen D rivien kokonaismäärän. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SARAKKEET” sivulla 205 ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TRANSPONOI TRANSPONOI-funktio palauttaa pystysuoran solualueen vaakasuorana solualueena tai päin vastoin. TRANSPONOI(aluematriisi) ÂÂ aluematriisi:  Transponoitavat arvot sisältävä joukko. aluematriisi on minkä tahansa tyyppisiä arvoja sisältävä joukko. Käyttöohjeita ÂÂ TRANSPONOI palauttaa aina transponoidut arvot sisältävän matriisin. Tämä matriisi sisältää alkuperäisen alueen sarakemäärää vastaavan määrän rivejä tai alkuperäisen alueen rivimäärää vastaavan määrän sarakkeita. Matriisissa olevat arvot voidaan palauttaa (”lukea”) käyttäen INDEKSI-funktiota. 216 Luku 9 Viittausfunktiot Luku 9 Viittausfunktiot 217 Esimerkkejä Seuraavassa taulukossa: rivi/sarake A B C D E 1 5 15 10 9 7 2 11 96 29 11 23 3 37 56 23 1 12 =INDEKSI(TRANSPONOI($A$1:$E$3); 1; 1) palauttaa 5, arvon riviltä 1, sarakkeesta 1 transponoidulta alueelta (oli rivi 1, sarake A alkuperäisessä matriisissa). =INDEKSI(TRANSPONOI($A$1:$E$3); 1; 2) palauttaa 11, arvon riviltä 1, sarakkeesta 2 transponoidulta alueelta (oli rivi 2, sarake A alkuperäisellä alueella). =INDEKSI(TRANSPONOI($A$1:$E$3); 1; 3) palauttaa 37, arvon riviltä 1, sarakkeesta 3 transponoidulta alueelta (oli rivi 3, sarake A alkuperäisellä alueella). =INDEKSI(TRANSPONOI($A$1:$E$3); 2; 1) palauttaa 15, arvon riviltä 2, sarakkeesta 1 transponoidulta alueelta (oli rivi 1, sarake 2 alkuperäisellä alueella). =INDEKSI(TRANSPONOI($A$1:$E$3); 3; 2) palauttaa 29, arvon riviltä 3, sarakkeesta 2 transponoidulta alueelta (oli rivi 2, sarake C alkuperäisellä alueella). =INDEKSI(TRANSPONOI($A$1:$E$3); 4; 3) palauttaa 1, arvon riviltä 4, sarakkeesta 3 transponoidulta alueelta (oli rivi 3, sarake D alkuperäisellä alueella). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Viittausfunktioiden luettelo” sivulla 201 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PHAKU PHAKU-funktio palauttaa arvon sarakealueelta valiten käytettävän rivin ensimmäisenä vasemmalla olevan sarakkeen arvojen perusteella ja palauttaen sitten kyseiseltä riviltä halutun sarakenumeron kohdalla olevan arvon. PHAKU(etsittävä arvo; sarakealue; palauta sarake; täsmää lähes) ÂÂ etsittävä arvo:  Etsittävä arvo. etsittävä arvo voi sisältää minkä tyyppisen arvon tahansa. ÂÂ sarakealue:  Solualue. alue on viittaus yksittäiseen, minkä tahansa tyyppisiä arvoja sisältävien solujen alueeseen. ÂÂ palauta sarake:  Luku, joka määrittelee solun suhteellisen sarakemäärän, josta arvo palautetaan. palauta sarake on numeroarvo. Alueen ensimmäinen sarake vasemmalla on sarake 1. ÂÂ täsmää lähes:  Valinnainen arvo, joka ratkaisee tarvitaanko tarkkaa vastaavuutta. täsmää lähes (TOSI, 1 tai jätetty pois):  Jos yhtään tarkkaa vastaavuutta ei ole, valitaan sarake, jossa on suurin ylärivin arvo, joka on pienempi kuin haettava arvo. etsittävä arvo ei voi sisältää jokerimerkkejä. vastaa tarkalleen (EPÄTOSI tai 0):  Jos tarkkaa vastaavuutta ei löydy, palautuu virhe. etsittävä arvo ei voi sisältää jokerimerkkejä. Käyttöohjeita ÂÂ PHAKU vertaa etsittävää arvoa määritellyn alueen vasemman reunan sarakkeen arvoihin. Jos tarkkaa vastaavuutta ei vaadita, valitaan rivi, jolla on vasemman reunan sarakkeessa suurin arvo, joka on pienempi kuin etsittävä arvo. Sen jälkeen funktio palauttaa arvon kyseisen rivin määritellystä sarakkeesta. Jos vaaditaan tarkkaa vastaavuutta, eikä mikään vasemman reunan sarakkeen arvoista vastaa etsittävää arvoa, funktio palauttaa virheen. Esimerkkejä Seuraavassa taulukossa: =PHAKU(20; B2:E6; 2) palauttaa E. =PHAKU(21; B2:E6; 2) palauttaa E. =PHAKU(”M”; C2:E6; 2) palauttaa dolor. =PHAKU(”blandit”; D2:E6; 2) palauttaa 5. =PHAKU(21; B2:E6; 2; EPÄTOSI) palauttaa virheen, koska mikään vasemman reunan sarakkeen arvoista ei vastaa täsmälleen arvoa 21. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”VHAKU” sivulla 206 ”HAKU” sivulla 211 ”VASTINE” sivulla 212 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Viittausfunktioiden luettelo” sivulla 201 218 Luku 9 Viittausfunktiot Luku 9 Viittausfunktiot 219 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 220 Tilastofunkiot auttavat sinua käsittelemään ja analysoimaan datajoukkoja erilaisilla mittaus- ja tilastotekniikoilla. Tilastofunktioiden luettelo iWork tarjoaa seuraavat viittausfunktiot taulukoiden kanssa käytettäviksi. Funktio Kuvaus ”KESKIPOIKKEAMA” (sivu 225) KESKIPOIKKEAMA-funktio palauttaa keskiarvon siitä, kuinka paljon lukujoukon luvut poikkeavat lukujoukon keskiarvosta (aritmeettinen keskiarvo). ”KESKIARVO” (sivu 225) KESKIARVO-funktio palauttaa lukujoukon lukujen keskiarvon (aritmeettinen keskiarvo). ”KESKIARVOA” (sivu 226) KESKIARVOA-funktio palauttaa keskiarvon (aritmeettinen keskiarvo) arvojoukosta, mukaan lukien teksti- ja loogiset arvot. ”KESKIARVO.JOS” (sivu 227) KESKIARVO.JOS-funktio palauttaa keskiarvon (aritmeettinen keskiarvo) soluista alueella, joka täyttää tietyn ehdon. ”KESKIARVO.JOS.JOUKKO” (sivu 229) KESKIARVO.JOS.JOUKKO-funktio palauttaa keskiarvon (aritmeettinen keskiarvo) solujoukosta, jotka täyttävät kaikki tietyt ehdot. ”BETAJAKAUMA” (sivu 231) BETAJAKAUMA-funktio palauttaa kumulatiivisen beta-jakauman todennäköisyysarvon. ”BETAJAKAUMA.KÄÄNT” (sivu 231) BETAJAKAUMA.KÄÄNT-funktio palauttaa annetun kumulatiivisen beta-jakauman todennäköisyysarvon käänteisarvon. ”BINOMIJAKAUMA” (sivu 232) BINOMIJAKAUMA-funktio palauttaa yksittäisen termin binomijakauman todennäköisyyden määritellyssä muodossa. ”CHIJAKAUMA” (sivu 233) CHIJAKAUMA-funktio palauttaa chineliöjakauman yksisuuntaisen todennäköisyyden. Tilastofunktiot 10 Luku 10 Tilastofunktiot 221 Funktio Kuvaus ”CHIJAKAUMA.KÄÄNT” (sivu 234) CHIJAKAUMA.KÄÄNT-funktio palauttaa chineliöjakauman yksisuuntaisen todennäköisyyden käänteisarvon. ”CHITESTI” (sivu 235) CHITESTI-funktio palauttaa annetun datan chineliöjakauman arvon. ”LUOTTAMUSVÄLI” (sivu 237) LUOTTAMUSVÄLI-funktio palauttaa arvon tilastollisen luottamusvälin luomiseen otokselle populaatiosta, jolla on tunnettu keskihajonta. ”KORRELAATIO” (sivu 238) KORRELAATIO-funktio palauttaa kahden joukon välisen korrelaation lineaarista regressioanalyysiä käyttäen. ”LASKE” (sivu 239) LASKE-funktio palauttaa numeroita, numeerisia lausekkeita tai päivämääriä sisältävien argumenttiensa määrän. ”LASKE.A” (sivu 240) LASKE.A-funktio palauttaa ei-tyhjien argumenttiensa määrän. ”LASKE.TYHJÄT” (sivu 241) LASKE.TYHJÄT-funktio palauttaa alueen tyhjien solujen määrän. ”LASKE.JOS” (sivu 242) LASKE.JOS-funktio palauttaa alueen niiden solujen määrän, jotka täyttävät annetun ehdon. ”LASKE.JOS.JOUKKO” (sivu 243) LASKE.JOS.JOUKKO-funktio palauttaa yhden tai useamman alueen niiden solujen määrän, jotka täyttävät tietyt ehdot (yksi ehto aluetta kohden). ”KOVARIANSSI” (sivu 245) KOVARIANSSI-funktio palauttaa kahden joukon kovarianssin. ”BINOMIJAKAUMA.KRIT” (sivu 246) BINOMIJAKAUMA.KRIT-funktio palauttaa pienimmän arvon, jonka kumulatiivinen binomijakauma on suurempi tai yhtä suuri kuin annettu arvo. ”OIKAISTU.NELIÖSUMMA” (sivu 246) OIKAISTU.NELIÖSUMMA-funktio palauttaa neliösumman siitä, kuinka paljon lukujoukon luvut poikkeavat lukujoukon keskiarvosta (aritmeettinen keskiarvo). ”EXPONENTIAALIJAKAUMA” (sivu 247) EXPONENTIAALIJAKAUMA-funktio palauttaa eksponentiaalijakauman määritellyssä muodossa. ”FJAKAUMA” (sivu 248) FJAKAUMA-funktio palauttaa F-todennäköisyysjakauman. ”FJAKAUMA.KÄÄNT” (sivu 249) FJAKAUMA.KÄÄNT-funktio palauttaa F-todennäköisyysjakauman käänteisarvon. Funktio Kuvaus ”ENNUSTE” (sivu 249) ENNUSTE-funktio palauttaa ennustetun y-arvon annetulle x-arvolle näytearvoihin perustuen käyttäen lineaarista regressioanalyysiä. ”TAAJUUS” (sivu 251) TAAJUUS-funktio palauttaa matriisin siitä, kuinka usein data-arvot esiintyvät intervalliarvojen alueella. ”GAMMAJAKAUMA” (sivu 252) GAMMAJAKAUMA-funktio palauttaa gammajakauman määritellyssä muodossa. ”GAMMAJAKAUMA.KÄÄNT” (sivu 253) GAMMAJAKAUMA.KÄÄNT-funktio palauttaa kumulatiivisen gammajakauman käänteisarvon. ”GAMMALN” (sivu 253) GAMMALN-funktio palauttaa gammafunktion G(x) luonnollisen logaritmin. ”KESKIARVO.GEOM” (sivu 254) KESKIARVO.GEOM-funktio palauttaa geometrisen keskiarvon. ”KESKIARVO.HARM” (sivu 255) KESKIARVO.HARM-funktio palauttaa harmonisen keskiarvon. ”LEIKKAUSPISTE” (sivu 255) LEIKKAUSPISTE-funktio palauttaa joukon parhaiten sopivan janan y-leikkauspisteen käyttäen lineaarista regressioanalyysiä. ”SUURI” (sivu 256) SUURI-funktio palauttaa joukon määrätynneksi suurimman arvon. Suurimmalle arvolle annetaan numero 1. ”LINREGR” (sivu 258) LINREGR-funktio palauttaa matriisin sellaisen suoran janan ominaisuuksista, joka parhaiten sopii annettuun dataan pienimmän neliösumman menetelmää käyttäen. ”LOGNORM.JAKAUMA.KÄÄNT” (sivu 261) LOGNORM.JAKAUMA.KÄÄNT-funktio palauttaa x:n kumulatiivisen jakaumafunktion lognormalisoidun käänteisarvon. ”LOGNORM.JAKAUMA” (sivu 261) LOGNORM.JAKAUMA-funktio palauttaa lognormalisoidun jakauman. ”MAKS” (sivu 262) MAKS-funktio palauttaa joukon suurimman luvun. ”MAKSA” (sivu 263) MAKSA-funktio palauttaa suurimman numeron arvojoukosta, joka saattaa sisältää tekstiä ja loogisia arvoja. ”MEDIAANI” (sivu 264) MEDIAANI-funktio palauttaa lukujoukon mediaaniarvon. Mediaani on arvo, jota suurempia ja pienempiä on puolet joukon luvuista. 222 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 223 Funktio Kuvaus ”MIN” (sivu 265) MIN-funktio palauttaa joukon pienimmän luvun. ”MINA” (sivu 265) MINA-funktio palauttaa pienimmän luvun arvojoukosta, joka saattaa sisältää tekstiä ja Boolen arvoja. ”MOODI” (sivu 266) MOODI-funktio palauttaa lukujoukossa useimmin esiintyvän arvon. ”NEG. BINOMIJAKAUMA” (sivu 267) NEG. BINOMIJAKAUMA -funktio palauttaa negatiivisen binomijakauman. ”NORM.JAKAUMA” (sivu 268) NORM.JAKAUMA-funktio palauttaa normaalijakauman määritellyssä funktiomuodossa. ”NORM.JAKAUMA.KÄÄNT” (sivu 269) NORM.JAKAUMA.KÄÄNT-funktio palauttaa kumulatiivisen normaalijakauman käänteisarvon. ”NORM.JAKAUMA.NORMIT” (sivu 270) NORM.JAKAUMA.NORMIT-funktio palauttaa normitetun normaalijakauman. ”NORM.JAKAUMA.NORMIT.KÄÄNT” (sivu 270) NORM.JAKAUMA.NORMIT.KÄÄNT-funktio palauttaa kumulatiivisen normitetun normaalijakauman käänteisarvon. ”PROSENTTIPISTE” (sivu 271) PROSENTTIPISTE-funktio palauttaa joukosta arvon, joka vastaa tiettyä prosenttipistettä. ”PROSENTTIJÄRJESTYS” (sivu 272) PROSENTTIJÄRJESTYS-funktio palauttaa arvon sijainnin joukossa prosenttiosuutena joukosta. ”PERMUTAATIO” (sivu 273) PERMUTAATIO-funktio palauttaa annetun objektimäärän permutaatioiden määrän, joka voidaan valita objektien kokonaismäärästä. ”POISSON” (sivu 274) POISSON-funktio palauttaa todennäköisyyden, että määritelty määrä tapahtumia tapahtuu, Poisson-jakaumaa käyttäen. ”TODENNÄKÖISYYS” (sivu 275) TODENNÄKÖISYYS-funktio palauttaa arvojoukon todennäköisyyden, jos tiedät yksittäisten arvojen todennäköisyyden. ”NELJÄNNES” (sivu 277) NELJÄNNES-funktio palauttaa määritellyn neljänneksen arvon annetusta joukosta. ”ARVON.MUKAAN” (sivu 278) ARVON.MUKAAN-funktio palauttaa numeron sijainnin numeroalueella. Funktio Kuvaus ”KULMAKERROIN” (sivu 279) KULMAKERROIN-funktio palauttaa joukkoon parhaiten sopivan janan kulmakertoimen käyttäen lineaarista regressioanalyysiä. ”PIENI” (sivu 280) PIENI-funktio palauttaa joukon määrätynneksi pienimmän arvon. Pienimmälle arvolle annetaan numero 1. ”NORMITA” (sivu 281) NORMITA-funktio palauttaa normalisoidun arvon jakaumasta, jota kuvaa annettu keskiarvo ja keskihajonta. ”KESKIHAJONTA” (sivu 282) KESKIHAJONTA-funktio palauttaa keskihajonnan, hajonnan määrän, joukosta arvoja perustuen niiden otosvarianssiin. ”KESKIHAJONTAA” (sivu 283) KESKIHAJONTAA-funktio palauttaa keskihajonnan, hajonnan määrän, joukosta arvoja, joka voi sisältää tekstiä ja loogisia arvoja, perustuen niiden otosvarianssiin. ”KESKIHAJONTAPVÄ” (sivu 285) KESKIHAJONTAPVÄ-funktio palauttaa keskihajonnan, hajonnan määrän, joukosta arvoja perustuen niiden populaatiovarianssiin. ”KESKIHAJONTA” (sivu 286) KESKIHAJONTAPA-funktio palauttaa keskihajonnan, hajonnan määrän, joukosta arvoja, joka voi sisältää tekstiä ja loogisia arvoja, perustuen niiden populaatiovarianssiin. ”TJAKAUMA” (sivu 288) TJAKAUMA-funktio palauttaa todennäköisyyden Studentin t-jakaumasta. ”TJAKAUMA.KÄÄNT” (sivu 288) TJAKAUMA.KÄÄNT-funktio palauttaa t-arvon (todennäköisyyden ja vapausasteen funktion) Studentin t-jakaumasta. ”TTESTI” (sivu 289) TTESTI-funktio palauttaa Studentin t-testiin liittyvän todennäköisyyden perustuen t-jakaumafunktioon. ”VAR” (sivu 290) VAR-funktio palauttaa otosvarianssin, hajonnan määrän, joukosta arvoja. ”VARA” (sivu 292) VARA-funktio palauttaa otosvarianssin, hajonnan määrän, joukosta arvoja, mukaan lukien teksti- ja loogisia arvoja. ”VARP” (sivu 293) VARP-funktio palauttaa populaatiovarianssin, hajonnan määrän, joukosta arvoja. ”VARPA” (sivu 295) VARPA-funktio palauttaa populaatiovarianssin, hajonnan määrän, joukosta arvoja, mukaan lukien teksti- ja loogisia arvoja. ”ZTESTI” (sivu 296) ZTESTI-funktio palauttaa Z-testin yksisuuntaisen todennäköisyysarvon. 224 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 225 KESKIPOIKKEAMA KESKIARVO-funktio palauttaa lukujoukon lukujen keskiarvon (aritmeettinen keskiarvo). KESKIPOIKKEAMA(luku-päiväys-kesto; luku-päiväys-kesto…) ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. ÂÂ luku-päiväys-kesto…:  Voit sisällyttää yhden tai useamman lisäarvon. Jos määritellään useampi kuin yksi luku-päiväys-kesto-arvo, kaikkien on oltava samaa tyyppiä. Käyttöohjeita ÂÂ KESKIPOIKKEAMA laskee keskiarvon jakamalla numeroiden summan numeroiden määrällä. Ero (absoluuttinen arvo) keskiarvon ja jokaisen numeron välillä lasketaan yhteen ja jaetaan numeroiden määrällä. ÂÂ Jos luku-päiväys-kesto sisältää päiväys/aika-arvoja, palautetaan kestoarvo. Esimerkkejä =KESKIPOIKKEAMA(2; 2; 2; 4; 4; 4) palauttaa 1. =KESKIPOIKKEAMA(2; 2; 2; 2; 3; 3; 3; 3; 4; 4; 4; 4) palauttaa 0,6666667. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIARVO KESKIARVO-funktio palauttaa lukujoukon lukujen keskiarvon (aritmeettinen keskiarvo). KESKIARVO(luku-päiväys-kesto; luku-päiväys-kesto…) ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. ÂÂ luku-päiväys-kesto…:  Voit sisällyttää yhden tai useamman lisäarvon. Jos määritellään useampi kuin yksi luku-päiväys-kesto-arvo, kaikkien on oltava samaa tyyppiä. Käyttöohjeita ÂÂ KESKIARVO jakaa numeroiden summan numeroiden määrällä. ÂÂ Viitatussa solussa oleva merkkijono tai looginen arvo jätetään huomioimatta. Jos haluat sisällyttää merkkijono- tai loogisia arvoja keskiarvoon, käytä KESKIARVOAfunktiota. ÂÂ Funktion argumentiksi annettu viite voi viitata joko yksittäiseen soluun tai solualueeseen. Esimerkkejä =KESKIARVO(4; 4; 4; 6; 6; 6) palauttaa 5. =KESKIARVO(2; 2; 2; 2; 3; 3; 3; 3; 4; 4; 4; 4) palauttaa 3. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVOA” sivulla 226 ”KESKIARVO.JOS” sivulla 227 ”KESKIARVO.JOS.JOUKKO” sivulla 229 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIARVOA KESKIARVOA-funktio palauttaa keskiarvon (aritmeettinen keskiarvo) arvojoukosta, mukaan lukien teksti- ja loogiset arvot. KESKIARVOA(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Kaikkien numeeristen arvojen on oltava samaa tyyppiä. Lukuja, päivämääriä ja kestoarvoja ei voida sekoittaa. Käyttöohjeita ÂÂ Viitatussa solussa olevalle merkkijonoarvolle annetaan arvo 0. Loogiselle arvolle EPÄTOSI annetaan arvo 0 ja loogiselle arvolle TOSI annetaan arvo 1. ÂÂ Funktion argumentiksi annettu viite voi viitata joko yksittäiseen soluun tai solualueeseen. 226 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 227 ÂÂ Joukossa, joka sisältää vain numeroita, KESKIARVOA palauttaa saman tuloksen kuin KESKIARVO-funktio, joka jättää huomioimatta solut, jotka eivät sisällä numeroita. Esimerkkejä =KESKIARVOA(A1:A4) palauttaa 2,5, jos solut A1-A4 sisältävät 4, a, 6 ja b. Tekstiarvot lasketaan nolliksi summassa 10 ja sisällytetään arvojen määrään (4). Vertaa lausekkeeseen =KESKIARVO(A1:A4), joka jättää huomioimatta tekstiarvot kokonaan ja saa summaksi 10, määräksi 2 ja keskiarvoksi 5. =KESKIARVOA(A1:A4) palauttaa 4, jos solut A1-A4 sisältävät 5, a, TOSI ja 10. Tekstiarvo lasketaan nollaksi ja TOSI lasketaan luvuksi 1, jolloin summana on 16 ja määränä 4. =KESKIARVOA(A1:A4) palauttaa 0,25, jos solut A1-A4 sisältävät EPÄTOSI, EPÄTOSI, EPÄTOSI, TOSI. Jokainen EPÄTOSI lasketaan nollaksi ja TOSI lasketaan luvuksi 1, jolloin summana on 1 ja määränä 4. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVO” sivulla 225 ”KESKIARVO.JOS” sivulla 227 ”KESKIARVO.JOS.JOUKKO” sivulla 229 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIARVO.JOS KESKIARVO.JOS-funktio palauttaa keskiarvon (aritmeettinen keskiarvo) soluista alueella, joka täyttää tietyn ehdon. KESKIARVO.JOS(testiarvot; ehto; keskiarvojen arvot) ÂÂ testiarvot:  Joukko testattavia arvoja. testiarvot on minkä tahansa tyyppisiä arvoja sisältävä joukko. ÂÂ ehto:  Lauseke, jonka tulos on looginen TOSI tai EPÄTOSI. ehto on lauseke, joka voi sisältää mitä tahansa kunhan ehdon ja testiarvoissa olevan arvon vertailun tulos voidaan ilmaista loogisena arvona TOSI tai EPÄTOSI. ÂÂ keskiarvojen arvot:  Valinnainen joukko arvoja, joiden keskiarvo lasketaan. keskiarvojen arvot on viittaus yhteen solualueeseen tai matriisiin, joka voi sisältää vain numeroita, numeerisia lausekkeita tai loogisia arvoja. Käyttöohjeita ÂÂ Jokaista arvoa verrataan ehtoon. Jos arvo vastaa ehtoa, vastaava arvo keskiarvojen arvot -argumentissa sisällytetään keskiarvoon. ÂÂ keskiarvojen arvot- ja testiarvot-argumenttien (jos määritelty) on oltava samankokoisia. ÂÂ Jos keskiarvojen arvot jätetään pois, testiarvot-argumenttia käytetään keskiarvojen arvot -argumentin sijaan. ÂÂ Jos keskiarvojen arvot jätetään pois tai on sama kuin testiarvot, testiarvot voi sisältää vain numeroita, numeerisia lausekkeita tai loogisia arvoja. Esimerkkejä Seuraavassa taulukossa: =KESKIARVO.JOS(A2:A13; ”<40”; D2:D13) palauttaa noin 57429, alle neljäkymmenvuotiaiden keskitulon. =KESKIARVO.JOS(B2:B13; ”=F”; D2:D13) palauttaa 62200, naisten keskitulon (jota osoittaa ”F” sarakkeessa B). =KESKIARVO.JOS(C2:C13; ”S”; D2:D13) palauttaa 55800, sinkkujen keskitulon (jota osoittaa ”S” sarakkeessa C). =KESKIARVO.JOS(A2:A13; ”>=40”; D2:D13) palauttaa 75200, neljäkymmenvuotiaiden ja sitä vanhempien keskitulon. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVO” sivulla 225 ”KESKIARVOA” sivulla 226 ”KESKIARVO.JOS.JOUKKO” sivulla 229 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 228 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 229 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIARVO.JOS.JOUKKO KESKIARVO.JOS.JOUKKO-funktio palauttaa keskiarvon (aritmeettinen keskiarvo) soluista annetulla alueella, jossa yksi tai useampi alueista täyttää yhden tai useamman niihin liittyvän ehdon. KESKIARVO.JOS.JOUKKO(keskiarvojen arvot; testiarvot; ehto; testiarvot…; ehto…) ÂÂ keskiarvojen arvot:  Joukko arvoja, joiden keskiarvo lasketaan. keskiarvojen arvot on viittaus yhteen solualueeseen tai matriisiin, joka voi sisältää vain numeroita, numeerisia lausekkeita tai loogisia arvoja. ÂÂ testiarvot:  Joukko testattavia arvoja. testiarvot on minkä tahansa tyyppisiä arvoja sisältävä joukko. ÂÂ ehto:  Lauseke, jonka tulos on looginen TOSI tai EPÄTOSI. ehto on lauseke, joka voi sisältää mitä tahansa kunhan ehdon ja testiarvoissa olevan arvon vertailun tulos voidaan ilmaista loogisena arvona TOSI tai EPÄTOSI. ÂÂ testiarvot…:  Voit sisällyttää yhden tai useamman testattavien arvojen lisäjoukon. Kunkin testiarvot-joukon perässä on välittömästi oltava ehto-lauseke. Tämä testiarvot; ehto -kaava voidaan toistaa niin monta kertaa, kuin on tarpeen. ÂÂ ehto…:  Jos valinnainen joukko testiarvoja sisällytetään, tuloksena oleva lauseke on looginen TOSI tai EPÄTOSI. Kunkin testiarvot-joukon perässä on oltava yksi ehto, joten tässä funktiossa on aina pariton määrä argumentteja. Käyttöohjeita ÂÂ Jokaisen testiarvot ja ehto -parin kohdalla vastaavaa (sama sijainti alueessa tai matriisissa) arvoa verrataan ehdolliseen testiin. Jos kaikki ehdolliset testit täyttyvät, vastaava arvo keskiarvojen arvot -argumentissa sisällytetään keskiarvoon. ÂÂ keskiarvojen arvot -argumentin ja kaikkien testiarvot-joukkojen on oltava samankokoisia. Esimerkkejä Seuraavassa taulukossa: =KESKIARVO.JOS.JOUKKO(D2:D13;A2:A13;”<40”;B2:B13;”=M”) palauttaa 56000, alle neljäkymmentävuotiaiden miesten (jota osoittaa ”M” sarakkeessa B) keskitulon. =KESKIARVO.JOS.JOUKKO(D2:D13;A2:A13;”<40”;B2:B13;”=M”;C2:C13;”=S”) palauttaa 57000, alle neljäkymmentävuotiaiden sinkkumiesten (jota osoittaa ”S” sarakkeessa C) keskitulon. =KESKIARVO.JOS.JOUKKO(D2:D13;A2:A13;”<40”;B2:B13;”=M”;C2:C13;”=M”) palauttaa 55000, alle neljäkymmentävuotiaiden naimisissa olevien miesten (jota osoittaa ”M” sarakkeessa C) keskitulon. =KESKIARVO.JOS.JOUKKO(D2:D13;A2:A13;”<40”;B2:B13;”=F”) palauttaa noin 59333, alle neljäkymmentävuotiaiden naisten (jota osoittaa ”F” sarakkeessa B) keskitulon. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVO” sivulla 225 ”KESKIARVOA” sivulla 226 ”KESKIARVO.JOS” sivulla 227 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 230 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 231 BETAJAKAUMA BETAJAKAUMA-funktio palauttaa kumulatiivisen beta-jakauman todennäköisyysarvon. BETAJAKAUMA(x-arvo; alfa; beta; x-alempi; x-ylempi) ÂÂ x-arvo:  X-arvo, jolla haluat evaluoida funktion. x-arvo on numeroarvo ja sen on oltava 0 ja 1 välillä. ÂÂ alfa:  Yksi jakauman kuvioparametreistä. alfa on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ beta:  Yksi jakauman kuvioparametreistä. beta on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ x-alempi:  Valinnainen alaraja määritellylle x-arvolle tai todennäköisyydelle. x-alempi on numeroarvo ja sen on oltava pienempi tai yhtä suuri kuin määritelty x-arvo tai todennäköisyys. Jos se jätetään pois, käytetään arvoa 0. ÂÂ x-ylempi:  Valinnainen yläraja määritellylle x-arvolle tai todennäköisyydelle. x-ylempi on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin määritelty x-arvo tai todennäköisyys. Jos se jätetään pois, käytetään arvoa 1. Esimerkkejä =BETAJAKAUMA(0,5; 1; 2; 0,3; 2) palauttaa 0,221453287197232. =BETAJAKAUMA(1; 1; 2; 0; 1) palauttaa 1. =BETAJAKAUMA(0,1; 2; 2; 0; 2) palauttaa 0,00725. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BETAJAKAUMA.KÄÄNT” sivulla 231 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 BETAJAKAUMA.KÄÄNT BETAJAKAUMA.KÄÄNT-funktio palauttaa annetun kumulatiivisen beta-jakauman todennäköisyysarvon käänteisarvon. BETAJAKAUMA.KÄÄNT(todennäköisyys; alfa; beta; x-alempi; x-ylempi) ÂÂ todennäköisyys:  Jakaumaan liittyvä todennäköisyys. todennäköisyys on numeroarvo ja sen on oltava suurempi kuin 0 ja pienempi kuin 1. ÂÂ alfa:  Yksi jakauman kuvioparametreistä. alfa on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ beta:  Yksi jakauman kuvioparametreistä. beta on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ x-alempi:  Valinnainen alaraja määritellylle x-arvolle tai todennäköisyydelle. x-alempi on numeroarvo ja sen on oltava pienempi tai yhtä suuri kuin määritelty x-arvo tai todennäköisyys. Jos se jätetään pois, käytetään arvoa 0. ÂÂ x-ylempi:  Valinnainen yläraja määritellylle x-arvolle tai todennäköisyydelle. x-ylempi on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin määritelty x-arvo tai todennäköisyys. Jos se jätetään pois, käytetään arvoa 1. Esimerkkejä =BETAJAKAUMA.KÄÄNT(0,5; 1; 2; 0,3; 2) palauttaa 0,797918471982869. =BETAJAKAUMA.KÄÄNT(0,99; 1; 2; 0; 1) palauttaa 0,9. =BETAJAKAUMA.KÄÄNT(0,1; 2; 2; 0; 2) palauttaa 0,391600211318183. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BETAJAKAUMA” sivulla 231 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 BINOMIJAKAUMA BINOMIJAKAUMA-funktio palauttaa yksittäisen termin binomijakauman todennäköisyyden määritellyssä muodossa. BINOMIJAKAUMA(onnistumisluku; kokeilut; onnistumisen todennäköisyys; muototyyppi) ÂÂ onnistumisluku:  Onnistuneiden kokeilujen tai testien määrä. onnistumisluku on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 1 ja pienempi tai yhtä suuri kuin kokeilut. ÂÂ kokeilut:  Kokeilujen tai testien kokonaismäärä. kokeilut on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ onnistumisen todennäköisyys:  Jokaisen kokeilun tai testin onnistumistodennäköisyys. onnistumisen todennäköisyys on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0 tai pienempi tai yhtä suuri kuin 1. 232 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 233 ÂÂ muototyyppi:  Arvo, joka ratkaisee eksponentiaalifunktion muodon. kumulatiivinen muoto (TOSI tai 1):  Palauta kertymäfunktiomuodon arvo (jotta määritelty tai vähempi määrä onnistumisia tai tapahtumia ilmenee). pistetodennäköisyysmuoto (EPÄTOSI tai 0):  Palauta todennäköisyystiheysfunktiomuodon arvo (tarkalleen määritelty onnistumisien tai tapahtumien lukumäärä). Käyttöohjeita ÂÂ BINOMIJAKAUMA sopii ongelmiiin, joissa on kiinteä määrä toisistaan riippumattomia kokeiluja, joissa kokeilujen onnistumistodennäköisyys on vakio ja joissa kokeilujen lopputulos voi olla vain onnistuminen tai epäonnistuminen. Esimerkkejä =BINOMIJAKAUMA(3; 98; 0,04; 1) palauttaa 0.445507210083272 (kumulatiivinen jakaumamuoto). =BINOMIJAKAUMA(3; 98; 0,04; 0) palauttaa 0,201402522366024 (pistetodennäköisyysmuoto). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINOMIJAKAUMA.KRIT” sivulla 246 ”NEG. BINOMIJAKAUMA” sivulla 267 ”PERMUTAATIO” sivulla 273 ”TODENNÄKÖISYYS” sivulla 275 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 CHIJAKAUMA CHIJAKAUMA-funktio palauttaa chi-neliöjakauman yksisuuntaisen todennäköisyyden. CHIJAKAUMA(ei-negatiivinen x-arvo; vapausasteet) ÂÂ ei-negatiivinen x-arvo:  Arvo, jolla haluat evaluoida funktion. ei-negatiivinen x-arvo on numeroarvo, jonka on oltava suurempi tai yhtä kuin 0. ÂÂ vapausasteet:  Vapausasteet. vapausasteet on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. Esimerkkejä =CHIJAKAUMA(5; 2) palauttaa 0,0820849986238988. =CHIJAKAUMA(10; 10) palauttaa 0,440493285065212. =CHIJAKAUMA(5; 1) palauttaa 0,0253473186774683. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”CHIJAKAUMA.KÄÄNT” sivulla 234 ”CHITESTI” sivulla 235 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 CHIJAKAUMA.KÄÄNT CHIJAKAUMA.KÄÄNT-funktio palauttaa chi-neliöjakauman yksisuuntaisen todennäköisyyden käänteisarvon. CHIJAKAUMA.KÄÄNT(todennäköisyys; vapausasteet) ÂÂ todennäköisyys:  Jakaumaan liittyvä todennäköisyys. todennäköisyys on numeroarvo ja sen on oltava suurempi kuin 0 ja pienempi kuin 1. ÂÂ vapausasteet:  Vapausasteet. vapausasteet on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. Esimerkkejä =CHIJAKAUMA.KÄÄNT(0,5; 2) palauttaa 1,38629436111989. =CHIJAKAUMA.KÄÄNT(0,1; 10) palauttaa 15,9871791721053. =CHIJAKAUMA.KÄÄNT(0,5; 1) palauttaa 0,454936423119572. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”CHIJAKAUMA” sivulla 233 ”CHITESTI” sivulla 235 ”Tilastofunktioiden luettelo” sivulla 220 234 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 235 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 CHITESTI CHITESTI-funktio palauttaa annetun datan chi-neliöjakauman arvon. CHITESTI(todelliset-arvot; odotetut arvot) ÂÂ todelliset-arvot:  Joukko, joka sisältää todelliset arvot. todelliset-arvot on joukko, joka sisältää numeroarvoja. ÂÂ odotetut arvot:  Joukko, joka sisältää odotetut arvot. odotetut arvot on joukko, joka sisältää numeroarvoja. Käyttöohjeita ÂÂ Palautettuun arvoon liittyvä vapausasteet on rivien määrä todelliset-arvotargumentissa miinus 1. ÂÂ Jokainen odotettu arvo lasketaan kertomalla rivin summa sarakkeen summalla ja jakamalla kokonaissummalla. Esimerkki Seuraavassa taulukossa: =CHITESTI(A2:B6;A9:B13) palauttaa 5,91020074984668E-236. Jokainen odotettu arvo lasketaan kertomalla rivin summa sarakkeen summalla ja jakamalla kokonaissummalla. Ensimmäisen odotetun arvon (solu A9) kaava on =SUMMA(A$2:B$2)*SUMMA($A2:$A6)/SUMMA($A$2:$B$6). Tämä kaava voidaan laajentaa soluun B9 ja sitten A9:B9 voidaan laajentaa alueeseen A13:B13 odotettujen arvojen täydentämiseksi. Lopputuloksena oleva kaava viimeiselle odotetulle arvolle (solu B13) on =SUMMA(B$2:C$2)*SUMMA($A6:$A11)/SUMMA($A$2:$B$6). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”CHIJAKAUMA” sivulla 233 ”CHIJAKAUMA.KÄÄNT” sivulla 234 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 236 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 237 LUOTTAMUSVÄLI LUOTTAMUSVÄLI-funktio palauttaa arvon tilastollisen luottamusvälin luomiseen otokselle populaatiosta, jolla on tunnettu keskihajonta. LUOTTAMUSVÄLI(alfa; keskihajonta; näytteen koko) ÂÂ alfa:  Todennäköisyys, että todellinen populaatioarvo on välin ulkopuolella. alfa on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 1. Luottamusvälin vähentäminen luvusta 1 antaa alfan. ÂÂ keskihajonta:  Populaation keskihajonta. keskihajonta on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ näytteen koko:  Otoksen koko. näytteen koko on numeroarvo ja sen on oltava suurempi kuin 0. Käyttöohjeita ÂÂ Luottamusväliarvio olettaa, että otoksen arvot ovat jakautuneet normaalisti. Esimerkkejä =LUOTTAMUSVÄLI(0,05; 1; 10) palauttaa 0,62. Jos otosarvojen keskiarvo on 100, populaatiokeskiarvo on 95 % luottamusvälillä alueella 99,38 - 100,62. =LUOTTAMUSVÄLI(0,1; 1; 10) palauttaa 0,52. Jos otosarvojen keskiarvo on 100, populaatiokeskiarvo on 90 % luottamusvälillä alueella 99,48 - 100,52. =LUOTTAMUSVÄLI(0,05; 1; 20) palauttaa 0,44. =LUOTTAMUSVÄLI(0,05; 1; 30) palauttaa 0,36. =LUOTTAMUSVÄLI(0,05; 1; 40) palauttaa 0,31. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIHAJONTA” sivulla 282 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORRELAATIO KORRELAATIO-funktio palauttaa kahden joukon välisen korrelaation lineaarista regressioanalyysiä käyttäen. KORRELAATIO(y-arvot; x-arvot) ÂÂ y-arvot:  Y-arvot (riippuvat) sisältävä joukko. y-arvot on joukko, joka voi sisältää luku-, päiväys/aika- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ x-arvot:  X-arvot (itsenäiset) sisältävä joukko. x-arvot on joukko, joka voi sisältää luku- , päiväys/aika- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. Käyttöohjeita ÂÂ y-arvot- ja x-arvot-argumenteilla on oltava samat ulottuvuudet. ÂÂ Jos joukoissa on teksti- tai loogisia arvoja, ne jätetään huomioimatta. Esimerkki Tässä esimerkissä KORRELAATIO-funktiota käytetään sen määrittelemiseen, kuinka läheisesti lämmitysöljyn hinta (sarake A) liittyy lämpötilaan, jonka tämä hypoteettinen kodinomistaja on asettanut termostaattiin. =KORRELAATIO(A2:A11; B2:B11) evaluoituu noin arvoksi -0,9076, mikä osoittaa läheistä korrelaatiota (kun hinta nousi, termostaatin lämpötilaa laskettiin). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KOVARIANSSI” sivulla 245 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 238 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 239 LASKE LASKE-funktio palauttaa numeroita, numeerisia lausekkeita tai päivämääriä sisältävien argumenttiensa määrän. LASKE(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Käyttöohjeita ÂÂ Jos haluat laskea minkä tahansa solun, joka sisältää minkä tahansa tyyppisen arvon (eli minkä tahansa solun, joka ei ole tyhjä), käytä LASKE.A-funktiota. Esimerkkejä Tässä esimerkissä olevaa taulukkoa käytetään havainnollistamaan kaikkia LASKE-funktion variaatioita. Tiedot eivät ole merkityksellisiä, mutta havainnollistavat, minkä tyyppisiä argumentteja LASKEfunktion eri variaatiot sisällyttävät funktion tulokseen. =LASKE(A1:E1) palauttaa 5, koska kaikki argumentit ovat numeerisia. =LASKE(A2:E2) palauttaa 0, koska mikään argumenteista ei ole numeerinen. =LASKE(A3:E3) palauttaa 3, koska ainakin kaksi soluista ei ole numeerisia. =LASKE(A4:E4) palauttaa 0, koska argumentit ovat loogisia arvoja TOSI tai EPÄTOSI, joita ei lasketa numeerisiksi. =LASKE(A5:E5) palauttaa 2, koska kolme solua ovat tyhjiä. =LASKE(2; 3; A5:E5; SUMMA(A1:E1); "A"; "b") palauttaa 5, koska argumentit 2 ja 3 ovat numeroita, alueella A5:E5 on kaksi numeroa, SUMMA-funktio palauttaa yhden numeron ja kaksi viimeistä argumenttia ovat tekstiä eivätkö numeerisia (yhteensä 5 numeerista argumenttia). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LASKE.A” sivulla 240 ”LASKE.TYHJÄT” sivulla 241 ”LASKE.JOS” sivulla 242 ”LASKE.JOS.JOUKKO” sivulla 243 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LASKE.A LASKE.A-funktio palauttaa ei-tyhjien argumenttiensa määrän. LASKE.A(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Käyttöohjeita ÂÂ Jos haluat laskea vain solut tai argumentit, jotka sisältävät numeroita tai päivämääriä, käytä LASKE-funktiota. Esimerkkejä Tässä esimerkissä olevaa taulukkoa käytetään havainnollistamaan kaikkia LASKE-funktion variaatioita, mukaan lukien LASKE.A. Tiedot eivät ole merkityksellisiä, mutta havainnollistavat, minkä tyyppisiä argumentteja LASKE-funktion eri variaatiot sisällyttävät funktion tulokseen. =LASKE.A(A1:E1) palauttaa 5, koska kaikki solut sisältävät argumentin (kaikki numeerisia). =LASKE.A(A2:E2) palauttaa 5, koska kaikki solut sisältävät argumentin (kaikki tekstiä). =LASKE.A(A3:E3) palauttaa 5, koska kaikki solut sisältävät argumentin (sekä tekstiä että numeerisia). =LASKE.A(A4:E4) palauttaa 5, koska kaikki solut sisältävät argumentin (TOSI tai EPÄTOSI). =LASKE.A(A5:E5) palauttaa 2, koska kolme solua ovat tyhjiä. =LASKE.A(2; 3; A5:E5; SUMMA(A1:E1); "A"; "b") palauttaa 7, koska argumentit 2 ja 3 ovat numeroita, alueella A5:E5 on kaksi ei-tyhjää solua, SUMMA-funktio palauttaa yhden numeron ja ”A” ja ”b” ovat tekstilausekkeita (yhteensä 7 argumenttia). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LASKE” sivulla 239 ”LASKE.TYHJÄT” sivulla 241 ”LASKE.JOS” sivulla 242 ”LASKE.JOS.JOUKKO” sivulla 243 240 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 241 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LASKE.TYHJÄT LASKE.TYHJÄT-funktio palauttaa alueen tyhjien solujen määrän. LASKE.TYHJÄT(alue) ÂÂ alue:  Solualue. alue on viittaus yksittäiseen, minkä tahansa tyyppisiä arvoja sisältävien solujen alueeseen. Esimerkkejä Tässä esimerkissä olevaa taulukkoa käytetään havainnollistamaan kaikkia LASKE-funktion variaatioita, mukaan lukien LASKE.TYHJÄT. Tiedot eivät ole merkityksellisiä, mutta havainnollistavat, minkä tyyppisiä argumentteja LASKE-funktion eri variaatiot sisällyttävät funktion tulokseen. =LASKE.TYHJÄT(A1:E1) palauttaa 0, koska alueella ei ole tyhjiä soluja. =LASKE.TYHJÄT(A2:E2) palauttaa 0, koska alueella ei ole tyhjiä soluja. =LASKE.TYHJÄT(A5:E5) palauttaa 3, koska alueella on kolme tyhjää solua. =LASKE.TYHJÄT(A6:E6) palauttaa 5, koska alueella on vain tyhjiä soluja. =LASKE.TYHJÄT(A1:E6) palauttaa 8, koska alueella on yhteensä 8 tyhjää solua. =LASKE.TYHJÄT(A1:E1; A5:E5) palauttaa virheen, koska LASKE.TYHJÄT hyväksyy argumentiksi vain yhden alueen. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LASKE” sivulla 239 ”LASKE.A” sivulla 240 ”LASKE.JOS” sivulla 242 ”LASKE.JOS.JOUKKO” sivulla 243 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LASKE.JOS LASKE.JOS-funktio palauttaa alueen niiden solujen määrän, jotka täyttävät annetun ehdon. LASKE.JOS(testimatriisi; ehto) ÂÂ testimatriisi:  Testattavat arvot sisältävä joukko. testimatriisi on joukko, joka voi sisältää minkä tahansa tyyppisen arvon. ÂÂ ehto:  Lauseke, jonka tulos on looginen TOSI tai EPÄTOSI. ehto on lauseke, joka voi sisältää mitä tahansa kunhan ehdon ja testimatriisi olevan arvon vertailun tulos voidaan ilmaista loogisena arvona TOSI tai EPÄTOSI. Käyttöohjeita ÂÂ Jokaista testimatriisi-arvoa verrataan ehtoon. Jos arvo täyttää ehdollisen testin, se lasketaan mukaan. Esimerkkejä Tässä esimerkissä olevaa taulukkoa käytetään havainnollistamaan kaikkia LASKE-funktion variaatioita, mukaan lukien LASKE.JOS Tiedot eivät ole merkityksellisiä, mutta havainnollistavat, minkä tyyppisiä argumentteja LASKE-funktion eri variaatiot sisällyttävät funktion tulokseen. =LASKE.JOS(A1:E1; ">0") palauttaa 5, koska kaikkien alueen solujen arvo on suurempi kuin nolla. =LASKE.JOS(A3:E3; ">=100") palauttaa 3, koska kolme numeroista on suurempia kuin 100 ja kaksi tekstiarvoa jätetään huomioimatta vertailussa. =LASKE.JOS(A1:E5; "=amet") palauttaa 2, koska testimerkkijono ”amet” esiintyy kahdesti alueella. =LASKE.JOS(A1:E5; "=*t") palauttaa 4, koska kirjaimeen t päättyvä merkkijono esiintyy alueella neljä kertaa. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: 242 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 243 ”LASKE” sivulla 239 ”LASKE.A” sivulla 240 ”LASKE.TYHJÄT” sivulla 241 ”LASKE.JOS.JOUKKO” sivulla 243 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LASKE.JOS.JOUKKO LASKE.JOS.JOUKKO-funktio palauttaa yhden tai useamman alueen niiden solujen määrän, jotka täyttävät tietyt ehdot (yksi ehto aluetta kohden). LASKE.JOS.JOUKKO(testiarvot; ehto; testiarvot…; ehto…) ÂÂ testiarvot:  Joukko testattavia arvoja. testiarvot on minkä tahansa tyyppisiä arvoja sisältävä joukko. ÂÂ ehto:  Lauseke, jonka tulos on looginen TOSI tai EPÄTOSI. ehto on lauseke, joka voi sisältää mitä tahansa kunhan ehdon ja testiarvoissa olevan arvon vertailun tulos voidaan ilmaista loogisena arvona TOSI tai EPÄTOSI. ÂÂ testiarvot…:  Voit sisällyttää yhden tai useamman testattavien arvojen lisäjoukon. Kunkin testiarvot-joukon perässä on välittömästi oltava ehto-lauseke. Tämä testiarvot; ehto -kaava voidaan toistaa niin monta kertaa, kuin on tarpeen. ÂÂ ehto…:  Jos valinnainen joukko testiarvoja sisällytetään, tuloksena oleva lauseke on looginen TOSI tai EPÄTOSI. Kunkin testiarvot-joukon perässä on oltava yksi ehto, joten tässä funktiossa on aina pariton määrä argumentteja. Käyttöohjeita ÂÂ Jokaista testiarvot-argumentin arvoa verrataan vastaavaan ehtoon. Jos jokaisen joukon vastaavat arvot vastaavat vastaavia ehdollisia testejä, määrää kasvatetaan yhdellä. Esimerkkejä Seuraavassa taulukossa: =LASKE.JOS.JOUKKO(A2:A13;”<40”;B2:B13;”=M”) palauttaa 4, alle neljäkymmenvuotiaiden miesten (jota osoittaa ”M” sarakkeessa B) määrän. =LASKE.JOS.JOUKKO(A2:A13;”<40”;B2:B13;”=M”;C2:C13;”=S”) palauttaa 2, alle neljäkymmenvuotiaiden sinkkumiesten (jota osoittaa ”S” sarakkeessa C) määrän. =LASKE.JOS.JOUKKO(A2:A13;”<40”;B2:B13;”=M”;C2:C13;”=M”) palauttaa 2, alle neljäkymmenvuotiaiden naimisissa olevien miesten (jota osoittaa ”M” sarakkeessa C) määrän. =LASKE.JOS.JOUKKO(A2:A13;”<40”;B2:B13;”=F”) palauttaa 3, alle neljäkymmenvuotiaiden naisten (jota osoittaa ”F” sarakkeessa B) määrän. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LASKE” sivulla 239 ”LASKE.A” sivulla 240 ”LASKE.TYHJÄT” sivulla 241 ”LASKE.JOS” sivulla 242 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 244 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 245 KOVARIANSSI KOVARIANSSI-funktio palauttaa kahden joukon kovarianssin. KOVARIANSSI(1. näytteen arvot; 2. näytteen arvot) ÂÂ 1. näytteen arvot:  Näytearvojen ensimmäisen joukon sisältävä joukko. 1. näytteen arvot on numeroarvoja sisältävä joukko. ÂÂ 2. näytteen arvot:  Näytearvojen toisen joukon sisältävä joukko. 2. näytteen arvot on numeroarvoja sisältävä joukko. Käyttöohjeita ÂÂ Näillä kahdella matriisilla on oltava samat ulottuvuudet. ÂÂ Jos matriiseissa on teksti- tai loogisia arvoja, ne jätetään huomioimatta. ÂÂ Jos kaksi joukkoa ovat identtiset, kovarianssi on sama kuin populaatiovarianssi. Esimerkki Tässä esimerkissä KOVARIANSSI-funktiota käytetään sen määrittelemiseen, kuinka läheisesti lämmitysöljyn hinta (sarake A) liittyy lämpötilaan, jonka tämä hypoteettinen kodinomistaja on asettanut termostaattiin. =KOVARIANSSI(A2:A11; B2:B11) evaluoituu noin arvoon -1,6202, mikä osoittaa korrelaatiota (kun hinta nousi, termostaatin lämpötilaa laskettiin). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KORRELAATIO” sivulla 238 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 BINOMIJAKAUMA.KRIT BINOMIJAKAUMA.KRIT-funktio palauttaa pienimmän arvon, jonka kumulatiivinen binomijakauma on suurempi tai yhtä suuri kuin annettu arvo. BINOMIJAKAUMA.KRIT(kokeilut; onnistumisen todennäköisyys; alfa) ÂÂ kokeilut:  Kokeilujen tai testien kokonaismäärä. kokeilut on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ onnistumisen todennäköisyys:  Jokaisen kokeilun tai testin onnistumistodennäköisyys. onnistumisen todennäköisyys on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0 tai pienempi tai yhtä suuri kuin 1. ÂÂ alfa:  Todennäköisyys, että todellinen populaatioarvo on välin ulkopuolella. alfa on numeroarvo ja sen on oltava pienempi tai yhtä suuri kuin 1. Luottamusvälin vähentäminen luvusta 1 antaa alfan. Esimerkki =BINOMIJAKAUMA.KRIT(97; 0,05; 0,05) palauttaa 2, perustuen 97 kokeiluun niin, että jokaisen kokeilun onnistumistodennäköisyys on 5 % ja luottamusväli 95 % (5 % alfa). =BINOMIJAKAUMA.KRIT(97; 0,25; 0,1) palauttaa 19, perustuen 97 kokeiluun niin, että jokaisen kokeilun onnistumistodennäköisyys on 25 % ja luottamusväli 90 % (10 % alfa). =BINOMIJAKAUMA.KRIT(97; 0,25; 0,05) palauttaa 17, perustuen 97 kokeiluun niin, että jokaisen kokeilun onnistumistodennäköisyys on 25 % ja luottamusväli 95 % (5 % alfa). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINOMIJAKAUMA” sivulla 232 ”NEG. BINOMIJAKAUMA” sivulla 267 ”PERMUTAATIO” sivulla 273 ”TODENNÄKÖISYYS” sivulla 275 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 OIKAISTU.NELIÖSUMMA OIKAISTU.NELIÖSUMMA-funktio palauttaa neliösumman siitä, kuinka paljon lukujoukon luvut poikkeavat lukujoukon keskiarvosta (aritmeettinen keskiarvo). 246 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 247 OIKAISTU.NELIÖSUMMA(lukuarvo; lukuarvo…) ÂÂ lukuarvo:  Numero. lukuarvo on numeroarvo. ÂÂ lukuarvo…:  Voit sisällyttää yhden tai useamman lisäluvun. Käyttöohjeita ÂÂ OIKAISTU.NELIÖSUMMA laskee keskiarvon (aritmeettinen keskiarvo) jakamalla numeroiden summan numeroiden määrällä. Ero (absoluuttinen arvo) keskiarvon ja jokaisen numeron välillä korotetaan toiseen potenssiin ja lasketaan yhteen ja lopputulos palautetaan. Esimerkki =OIKAISTU.NELIÖSUMMA(1; 7; 19; 8; 3; 9) palauttaa 196,833333333333. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIHAJONTA” ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 EXPONENTIAALIJAKAUMA EXPONENTIAALIJAKAUMA-funktio palauttaa eksponentiaalijakauman määritellyssä muodossa. EXPONENTIAALIJAKAUMA(ei-negatiivinen x-arvo; lambda; muototyyppi) ÂÂ ei-negatiivinen x-arvo:  Arvo, jolla haluat evaluoida funktion. ei-negatiivinen x-arvo on numeroarvo, jonka on oltava suurempi tai yhtä kuin 0. ÂÂ lambda:  Parametriarvo. lambda on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ muototyyppi:  Arvo, joka ratkaisee eksponentiaalifunktion muodon. kumulatiivinen muoto (TOSI tai 1):  Palauta kertymäfunktiomuodon arvo. todennäköisyystiheysmuoto (EPÄTOSI tai 0):  Palauta todennäköisyystiheysfunktiomuodon arvo. Esimerkkejä =EXPONENTIAALIJAKAUMA(4; 2; 1) palauttaa 0,999664537372097 (kumulatiivinen jakaumamuoto). =EXPONENTIAALIJAKAUMA(4; 2; 0) palauttaa 0,000670925255805024 (todennäköisyystiheysmuoto). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LOGNORM.JAKAUMA” sivulla 261 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 FJAKAUMA FJAKAUMA-funktio palauttaa F-todennäköisyysjakauman. FJAKAUMA(ei-negatiivinen x-arvo; vapausasteosoittaja; vapausastenimittäjä) ÂÂ ei-negatiivinen x-arvo:  Arvo, jolla haluat evaluoida funktion. ei-negatiivinen x-arvo on numeroarvo, jonka on oltava suurempi tai yhtä kuin 0. ÂÂ vapausasteosoittaja:  Osoittajan sisältämät vapausasteet. vapausasteosoittaja on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. Jos siinä on desimaaliosa, sitä ei huomioida. ÂÂ vapausastenimittäjä:  Nimittäjän sisältämät vapausasteet. vapausastenimittäjä on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. Jos siinä on desimaaliosa, sitä ei huomioida. Käyttöohjeita ÂÂ F-jakauma tunnetaan myös nimellä Snedecorin F-jakauma ja Fisher-Snedecorjakauma. Esimerkkejä =FJAKAUMA(0,77; 1; 2) palauttaa 0,472763488223567. =FJAKAUMA(0,77; 1; 1) palauttaa 0,541479597634413. =FJAKAUMA(0,77; 2; 1) palauttaa 0,627455805138159. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”FJAKAUMA.KÄÄNT” sivulla 249 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 248 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 249 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 FJAKAUMA.KÄÄNT FJAKAUMA.KÄÄNT-funktio palauttaa F-todennäköisyysjakauman käänteisarvon. FJAKAUMA.KÄÄNT(todennäköisyys; vapausasteosoittaja; vapausastenimittäjä) ÂÂ todennäköisyys:  Jakaumaan liittyvä todennäköisyys. todennäköisyys on numeroarvo ja sen on oltava suurempi kuin 0 ja pienempi tai yhtä suuri kuin 1. ÂÂ vapausasteosoittaja:  Osoittajan sisältämät vapausasteet. vapausasteosoittaja on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. Jos siinä on desimaaliosa, sitä ei huomioida. ÂÂ vapausastenimittäjä:  Nimittäjän sisältämät vapausasteet. vapausastenimittäjä on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. Jos siinä on desimaaliosa, sitä ei huomioida. Esimerkkejä =FJAKAUMA.KÄÄNT(0,77; 1; 2) palauttaa 0,111709428782599. =FJAKAUMA.KÄÄNT(0,77; 1; 1) palauttaa 0,142784612191674. =FJAKAUMA.KÄÄNT(0,77; 2; 1) palauttaa 0,34331253162422. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”FJAKAUMA” sivulla 248 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ENNUSTE ENNUSTE-funktio palauttaa ennustetun y-arvon annetulle x-arvolle näytearvoihin perustuen käyttäen lineaarista regressioanalyysiä. ENNUSTE(x-luku-päiväys-kesto; y-arvot; x-arvot) ÂÂ x-luku-päiväys-kesto:  X-arvo, jolle funktio palauttaa ennustetun y-arvon. x-lukupäiväys- kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. ÂÂ y-arvot:  Y-arvot (riippuvat) sisältävä joukko. y-arvot on joukko, joka voi sisältää luku-, päiväys/aika- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ x-arvot:  X-arvot (itsenäiset) sisältävä joukko. x-arvot on joukko, joka voi sisältää luku- , päiväys/aika- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. Käyttöohjeita ÂÂ Kaikkien argumenttien on oltava samaa tyyppiä. ÂÂ Kahden matriisin on oltava saman kokoisia. ÂÂ Esimerkiksi, jos sinulla on dataa ajoneuvon nopeudesta ja sen polttoainetaloudesta eri nopeuksilla, polttoainetalous olisi riippuva muuttuja (y) ja ajonopeus olisi riippumaton muuttuja (x). ÂÂ Voit käyttää KULMAKERROIN- ja LEIKKAUSPISTE-funktioita ennustearvojen laskemiseen käytettävän yhtälön löytämiseen. Esimerkki Seuraavassa taulukossa: =ENNUSTE(9; A3:F3; A2:F2) palauttaa 19. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KORRELAATIO” sivulla 238 ”KOVARIANSSI” sivulla 245 ”LEIKKAUSPISTE” sivulla 255 ”KULMAKERROIN” sivulla 279 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 250 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 251 TAAJUUS TAAJUUS-funktio palauttaa matriisin siitä, kuinka usein data-arvot esiintyvät intervalliarvojen alueella. TAAJUUS(data-arvot; väliarvot) ÂÂ data-arvot:  Joukko, jonka arvot evaluoidaan. data-arvot on joukko numero- ja päiväys/aika-arvoja. Kaikkien arvojen tulisi olla samaa tyyppiä. ÂÂ väliarvot:  Joukko, joka sisältää väliarvot. väliarvot on joukko numero- ja päiväys/ aika-arvoja. Kaikkien arvojen tulisi olla samaa tyyppiä kuin data-arvot-joukon arvot. Käyttöohjeita ÂÂ TAAJUUS määrittää data-arvot-joukon niiden arvojen määrän, jotka ovat tietyn välin alueella. Välimatriisi on helpoin ymmärtää, jos se on järjestetty nousevaan järjestykseen. Ensimmäinen taajuus on niiden arvojen määrä, jotka ovat pienempiä tai yhtä suuria kuin pienin väliarvo. Kaikki muut taajuusarvot, paitsi viimeinen, on niiden arvojen määrä, jotka ovat suurempia kuin välittömästi pienempi väliarvo ja pienempiä tai yhtä suuria kuin nykyinen väliarvo. Viimeinen taajuusarvo on niiden data-arvojen määrä, jotka ovat suurempia kuin suurin väliarvo. ÂÂ Funktion palauttamat arvot ovat matriisin sisällä. Yksi tapa lukea matriisin arvot on käyttää INDEKSI-funktiota. Voit ympäröidä TAAJUUS-funktion INDEKSI-funktiolla: =INDEKSI(TAAJUUS(data-arvot; väliarvot), x), jossa x on haluttu väli. Muista, että välejä on yksi enemmän kuin väliarvoja. Esimerkki Oletetaan, että seuraava taulukko sisältää koetulokset 30 oppilaalta, jotka äskettäin osallistuivat pitämääsi kokeeseen. Oletetaan myös, että alin hyväksytty tulos on 65 ja alimmat tulokset muille arvosanoille ovat kuten taulukossa. Kaavojen rakentamisen helpottamiseksi F-arvosanaa vastaa numero 1 ja A-arvosanaa numero 5. =INDEKSI(TAAJUUS($A$1:$F$5; $B$8:$E$8); B9) palauttaa 5, niiden oppilaiden määrän, jotka saivat arvosanan F (tulos 65 tai vähemmän). Tämä kaava voidaan syöttää soluun B10 ja laajentaa soluun F10 saakka. Tuloksena olevat arvot arvosanoille D - A ovat 3, 8, 8 ja 6. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”INDEKSI” sivulla 208 ”PROSENTTIPISTE” sivulla 271 ”PROSENTTIJÄRJESTYS” sivulla 272 ”NELJÄNNES” sivulla 277 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 GAMMAJAKAUMA GAMMAJAKAUMA-funktio palauttaa gammajakauman määritellyssä muodossa. GAMMAJAKAUMA(ei-negatiivinen x-arvo; alfa; beta; muototyyppi) ÂÂ ei-negatiivinen x-arvo:  Arvo, jolla haluat evaluoida funktion. ei-negatiivinen x-arvo on numeroarvo, jonka on oltava suurempi tai yhtä kuin 0. ÂÂ alfa:  Yksi jakauman kuvioparametreistä. alfa on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ beta:  Yksi jakauman kuvioparametreistä. beta on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ muototyyppi:  Arvo, joka ratkaisee eksponentiaalifunktion muodon. kumulatiivinen muoto (TOSI tai 1):  Palauta kertymäfunktiomuodon arvo. todennäköisyystiheysmuoto (EPÄTOSI tai 0):  Palauta todennäköisyystiheysfunktiomuodon arvo. Esimerkkejä =GAMMAJAKAUMA(0,8; 1; 2; 1) palauttaa 0,329679953964361 (kumulatiivinen jakaumamuoto). =GAMMAJAKAUMA(0,8; 1; 2; 0) palauttaa 0,33516002301782 (todennäköisyystiheysmuoto). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”GAMMAJAKAUMA.KÄÄNT” sivulla 253 ”GAMMALN” sivulla 253 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 252 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 253 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 GAMMAJAKAUMA.KÄÄNT GAMMAJAKAUMA.KÄÄNT-funktio palauttaa kumulatiivisen gammajakauman käänteisarvon. GAMMAJAKAUMA.KÄÄNT(todennäköisyys; alfa; beta) ÂÂ todennäköisyys:  Jakaumaan liittyvä todennäköisyys. todennäköisyys on numeroarvo ja sen on oltava suurempi kuin 0 ja pienempi kuin 1. ÂÂ alfa:  Yksi jakauman kuvioparametreistä. alfa on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ beta:  Yksi jakauman kuvioparametreistä. beta on numeroarvo ja sen on oltava suurempi kuin 0. Esimerkkejä =GAMMAJAKAUMA.KÄÄNT(0,8; 1; 2) palauttaa 3,2188758248682. =GAMMAJAKAUMA.KÄÄNT(0,8; 2; 1) palauttaa 2,99430834700212. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”GAMMAJAKAUMA” sivulla 252 ”GAMMALN” sivulla 253 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 GAMMALN GAMMALN-funktio palauttaa gammafunktion G(x) luonnollisen logaritmin. GAMMALN(pos. x-arvo) ÂÂ pos. x-arvo:  Positiivinen x-arvo, jolla haluat evaluoida funktion. pos. x-arvo on numeroarvo ja sen on oltava suurempi kuin 0. Esimerkkejä =GAMMALN(0,92) palauttaa 0,051658003497744. =GAMMALN(0,29) palauttaa 1,13144836880416. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”GAMMAJAKAUMA” sivulla 252 ”GAMMAJAKAUMA.KÄÄNT” sivulla 253 ”LUONNLOG” sivulla 175 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIARVO.GEOM KESKIARVO.GEOM-funktio palauttaa geometrisen keskiarvon. KESKIARVO.GEOM(pos. luku; pos. luku…) ÂÂ pos. luku:  Positiivinen luku. pos. luku on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ pos. luku…:  Voit sisällyttää yhden tai useamman positiivisen luvun lisää. Käyttöohjeita ÂÂ KESKIARVO.GEOM laskee tulon kertomalla argumentit ja laskee tulosta argumenttien määrän mukaisen juuren. Esimerkki =KESKIARVO.GEOM(5; 7; 3; 2; 6; 22) palauttaa 5,50130264578853. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVO” sivulla 225 ”KESKIARVO.HARM” sivulla 255 ”Tilastofunktioiden luettelo” sivulla 220 254 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 255 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIARVO.HARM KESKIARVO.HARM-funktio palauttaa harmonisen keskiarvon. KESKIARVO.HARM(pos. luku; pos. luku…) ÂÂ pos. luku:  Positiivinen luku. a-pos. luku on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ pos. luku…:  Voit sisällyttää yhden tai useamman positiivisen luvun lisää. Käyttöohjeita ÂÂ Harmoninen keskiarvo on lukujen käänteisarvojen keskiarvon käänteisarvo. Esimerkki =KESKIARVO.HARM(5; 7; 3; 2; 6; 22) palauttaa 4,32179607109448. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVO” sivulla 225 ”KESKIARVO.GEOM” sivulla 254 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LEIKKAUSPISTE LEIKKAUSPISTE-funktio palauttaa joukon parhaiten sopivan janan y-leikkauspisteen käyttäen lineaarista regressioanalyysiä. LEIKKAUSPISTE(y-arvot; x-luvut) ÂÂ y-arvot:  Y-arvot (riippuvat) sisältävä joukko. y-arvot on joukko, joka voi sisältää luku-, päiväys/aika- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ x-luvut:  X-arvot (itsenäiset) sisältävä joukko. x-luvut on joukko, joka sisältää numeroarvoja. Käyttöohjeita ÂÂ Kahden matriisin on oltava saman kokoisia. ÂÂ Jos haluat selvittää parhaiten sopivan janan kulmakertoimen, käytä KULMAKERROINfunktiota. Esimerkki Tässä esimerkissä LEIKKAUSPISTE-funktiota käytetään parhaiten sopivan janan y-leikkauspisteen määrittämiseen lämpötilalle, jonka hypoteettinen kodinomistaja on asettanut termostaatille (riippuva muuttuja) lämmitysöljyn hintaan perustuen (riippumaton muuttuja). =LEIKKAUSPISTE(B2:B11; A2:A11) evaluoituu noin arvoksi 78, suurimman hypoteettisen arvon yläpuolelle kun parhaiten sopiva viiva osoittaa alaspäin (kun hinta nousi, termostaattia laskettiin). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KULMAKERROIN” sivulla 279 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SUURI SUURI-funktio palauttaa joukon määrätynneksi suurimman arvon. Suurimmalle arvolle annetaan numero 1. 256 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 257 SUURI(luku-päiväys-kesto-joukko; luokitus) ÂÂ luku-päiväys-kesto-joukko:  Arvojoukko. luku-päiväys-kesto-joukko on joukko, joka sisältää luku-, päiväys- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ luokitus:  Luku, joka esittää haettavan arvon kokosijoitusta. luokitus on numeroarvo ja sen on oltava yhden ja joukon arvojen määrän välillä. Käyttöohjeita ÂÂ Luokitus 1 hakee suurimman numeron joukosta, 2 toisen suurimman ja niin edelleen. Matriisissa olevat arvot, jotka ovat samankokoisia, sijoitetaan yhteen, mutta vaikuttavat tulokseen. Esimerkkejä Oletetaan, että seuraava taulukko sisältää tämän lukukauden kumulatiiviset koetulokset 20 oppilaalta. (Olemme järjestäneet datan näin tätä esimerkkiä varten; se olisi todennäköisesti alunperin ollut 20 eri rivillä.) =SUURI(A1:E4; 1) palauttaa 100, suurimman kumulatiivisen koetuloksen (solu B2). =SUURI(A1:E4; 2) palauttaa 92, toiseksi suurimman kumulatiivisen koetuloksen (joko solu B2 tai solu C2). =SUURI(A1:E4; 3) palauttaa 92, myös kolmanneksi suurimman kumulatiivisen koetuloksen, koska se esiintyy kahdesti (solut B2 ja C2). =SUURI(A1:E4; 6) palauttaa 86, kuudenneksi suurimman kumulatiivisen koetuloksen (järjestys on 100, 92, 92, 91, 90 ja sitten 86). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ARVON.MUKAAN” sivulla 278 ”PIENI” sivulla 280 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LINREGR LINREGR-funktio palauttaa matriisin sellaisen suoran janan ominaisuuksista, joka parhaiten sopii annettuun dataan pienimmän neliösumman menetelmää käyttäen. LINREGR(tunnetut y-arvot; tunnetut x-arvot; nollaton-y-leikkauspiste; lisää tilastoja) ÂÂ tunnetut y-arvot:  Tunnetut y-arvot sisältävä joukko. tunnetut y-arvot on joukko, joka sisältää numeroarvoja. Jos tunnettuja x-arvoja on vain yksi joukko, tunnetut y-arvot voi olla minkä kokoinen tahansa. Jos tunnettuja x-aroja on enemmän kuin yksi joukko, tunnetut y-arvot voi olla joko yksi arvot sisältävä sarake tai yksi arvot sisältävä rivi, mutta ei molempia. ÂÂ tunnetut x-arvot:  Tunnetut x-arvot sisältävä valinnainen joukko. tunnetut x-arvot on joukko, joka sisältää numeroarvoja. Jos se jätetään pois, sen oletetaan olevan joukko {1, 2, 3…} samaa kokoa kuin tunnetut y-arvot. Jos tunnettuja x-arvoja on vain yksi joukko, tunnetut x-arvot -joukon, jos se määritellään, tulisi olla saman kokoinen kuin tunnetut y-arvot. Jos tunnettuja x-arvoja on enemmän kuin yksi joukko, jokaisen tunnettujen x-arvojen rivin/sarakkeen katsotaan olevan yksi joukko ja jokaisen rivin/ sarakkeen koon on oltava sama kuin tunnettujen y-arvojen rivin/sarakkeen koon. ÂÂ nollaton-y-leikkauspiste:  Valinnainen arvo, joka määrittelee kuinka y-leikkauspiste (vakio b) tulisi laskea. normaali (1, TOSI tai jätetty pois):  Y-leikkauspisteen arvo (vakio b) pitäisi laskea normaalisti. pakotettu 0-arvo (0, EPÄTOSI):  Y-leikkauspisteen arvo (vakio b) pitäisi pakottaa nollaksi. ÂÂ lisää tilastoja:  Valinnainen arvo, joka määrittelee palautetaanko lisätilastotiedot. ei lisätilastoja (0, EPÄTOSI tai jätetty pois):  Älä palauta regression lisätilastoja palautetussa matriisissa. lisätilastoja (1, TOSI):  Palauttaa regression lisätilastot palautetussa matriisissa. Käyttöohjeita ÂÂ Funktion palauttamat arvot ovat matriisin sisällä. Yksi tapa lukea matriisin arvot on käyttää INDEKSI-funktiota. Voit ympäröidä LINREGR-funktion INDEKSI-funktiolla: =INDEKSI(LINREGR(tunnetut y-arvot; tunnetut x-arvot; nollaton-y-leikkauspiste; lisää tilastoja); y; x), jossa y ja x ovat halutun arvon sarake- ja rivi-indeksi. Jos lisätilastoja ei palauteta (lisää tilastoja on EPÄTOSI), palautettu matriisi on yhden rivin syvyinen. Sarakkeiden määrä on yhtä suuri kuin tunnetut x-arvot -joukkojen määrä plus 1. Se sisältää kulmakertoimet (yksi arvo x-arvojen riviä/saraketta kohden) käänteisessä järjestyksessä (ensimmäinen arvo viittaa x-arvojen viimeiseen riviin/ sarakkeeseen) sekä leikkauspiste b:n arvon. Jos lisätilastoja palautetaan (lisää tilastoja on TOSI), matriisi sisältää viisi riviä. Katso matriisin sisältö kohdasta ”Lisätilastoja” sivulla 259. 258 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 259 Esimerkkejä Oletetaan, että seuraava taulukko sisältää koetulokset 30 oppilaalta, jotka äskettäin osallistuivat pitämääsi kokeeseen. Oletetaan myös, että alin hyväksytty tulos on 65 ja alimmat tulokset muille arvosanoille ovat kuten taulukossa. Kaavojen rakentamisen helpottamiseksi F-arvosanaa vastaa numero 1 ja A-arvosanaa numero 5. =INDEKSI(LINREGR(A2:A6; C2:C6; 1; 0); 1) palauttaa 0,752707581227437, joka on parhaiten sopivan janan kulmakerroin. =INDEKSI(LINREGR(A2:A6; C2:C6; 1; 0); 2) palauttaa 0,0342960288808646, joka on leikkauspiste b. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 Lisätilastoja Tässä osiossa kerrotaan lisätilastoista, jotka LINREGR-funktio voi palauttaa. LINREGR voi sisällyttää lisää tilastotietoja palauttamaansa matriisiin. Seuraavassa oletetaan, että tunnettuja x-arvoja on viisi joukkoa tunnettujen y-arvojen lisäksi. Oletetaan myös, että tunnetut x-arvot ovat viidessä taulukon rivissä tai viidessä taulukon sarakkeessa. Näiden oletusten perusteella LINREGR-funktion palauttama matriisi olisi seuraavanlainen (jossa x:ää seuraava numero osoittaa, mihin x-arvojen joukkoon kohde viittaa): Rivi/sarake 1 2 3 4 5 6 1 kulmakerroin x5 kulmakerroin x4 kulmakerroin x3 kulmakerroin x2 kulmakerroin x1 b (y-leikkauspiste) 2 std-err x1 std-err x2 std-err x3 std-err x4 std-err x5 std-err b 3 coefficient-det std-err y Rivi/sarake 1 2 3 4 5 6 4 F-stat vapausasteet 5 reg-ss reside-ss Argumenttien määritelmät kulmakerroin x:  Tähän tunnettujen x-arvojen joukkoon liittyvän janan kulmakerroin. Arvot palautetaan käänteisessä järjestyksessä eli jos tunnettuja x-arvojen joukkoja on viisi, viidennen joukon arvo on palautetussa matriisissa ensimmäisenä. b:  Tunnettujen x-arvojen y-leikkauspiste. std-err x:  Tähän tunnettujen x-arvojen joukkoon liittyvän kertoimen standardivirhe. Arvot palautetaan järjestyksessä eli jos tunnettuja x-arvojen joukkoja on viisi, ensimmäisen joukon arvo on palautetussa matriisissa ensimmäisenä. Tämä on päinvastoin kuinka kulmakertoimet palautetaan. std-err b:  Y-leikkauspisteen arvoon (b) liittyvä standardivirhe. coefficient-det: Determinaatiokerroin. Tämä tilasto vertaa arvioituja ja todellisia y-arvoja. Jos se on 1, arvioidun y-arvon ja todellisen y-arvon välillä ei ole eroa. Tämä tunnetaan nimellä täydellinen korrelaatio. Jos determinaatiokerroin on 0, korrelaatiota ei ole ja annettu regressioyhtälö ei auta y-arvon ennustamisessa. std-err y:  Y-arvon arvioon liittyvä standardivirhe. F-stat:  F:n havaittu arvo. F:n havaittua arvoa voidaan käyttää sen määrittämiseen, onko riippuvan ja riippumattoman muuttujan välillä havaittu suhde sattumanvarainen. vapausasteet:  Vapausasteet. Vapausasteet-tilastoa voidaan käyttää luotettavuustason määrittämiseen. reg-ss:  Neliöiden regressiosumma. reside-ss:  Jäännösneliösumma. Käyttöohjeita ÂÂ Sillä ei ole väliä, ovatko tunnetut x-arvot ja tunnetut y-arvot riveissä vai sarakkeissa. Molemmissa tapauksissa palautettu matriisi on järjestetty rivien mukaan kuten kuvassa. ÂÂ Tämä esimerkki olettaa viisi joukkoa tunnettuja x-arvoja. Jos niitä olisi enemmän tai vähemmän kuin viisi, palautetussa matriisissa olevien sarakkeiden määrä muuttuisi sen mukaan (se on aina sama kuin tunnettujen x-arvojen joukkojen määrä plus 1), mutta rivien määrä pysyisi vakiona. ÂÂ Jos lisätilastoja ei määritellä LINREGR-funktion argumenteissa, palautettu matriisi on yhtä suuri kuin ensimmäinen rivi. 260 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 261 LOGNORM.JAKAUMA.KÄÄNT LOGNORM.JAKAUMA.KÄÄNT-funktio palauttaa x:n kumulatiivisen jakaumafunktion lognormalisoidun käänteisarvon. LOGNORM.JAKAUMA.KÄÄNT(todennäköisyys; keskiarvo; keskihajonta) ÂÂ todennäköisyys:  Jakaumaan liittyvä todennäköisyys. todennäköisyys on numeroarvo ja sen on oltava suurempi kuin 0 ja pienempi kuin 1. ÂÂ keskiarvo:  Luonnollisen logaritmin keskiarvo eli ln(x). keskiarvo on numeroarvo ja on x:n luonnollisen logaritmin ln(x) keskiarvo (aritmeettinen keskiarvo). ÂÂ keskihajonta:  Populaation keskihajonta. keskihajonta on numeroarvo ja sen on oltava suurempi kuin 0. Käyttöohjeita ÂÂ LOGNORM.JAKAUMA.KÄÄNT soveltuu tapauksiin, jossa x:n logaritmi on normaalijakautunut. Esimerkki =LOGNORM.JAKAUMA.KÄÄNT(0,78; 1,7; 2,2) palauttaa 29,9289150377259. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LUONNLOG” sivulla 175 ”LOGNORM.JAKAUMA” sivulla 261 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 LOGNORM.JAKAUMA LOGNORM.JAKAUMA-funktio palauttaa lognormalisoidun jakauman. LOGNORM.JAKAUMA(pos. x-arvo; keskiarvo; keskihajonta) ÂÂ pos. x-arvo:  Positiivinen x-arvo, jolla haluat evaluoida funktion. pos. x-arvo on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ keskiarvo:  Luonnollisen logaritmin keskiarvo eli ln(x). keskiarvo on numeroarvo ja on x:n luonnollisen logaritmin ln(x) keskiarvo (aritmeettinen keskiarvo). ÂÂ keskihajonta:  Populaation keskihajonta. keskihajonta on numeroarvo ja sen on oltava suurempi kuin 0. Esimerkki =LOGNORM.JAKAUMA(0,78; 1,7; 2,2) palauttaa 0,187899237956868. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LUONNLOG” sivulla 175 ”LOGNORM.JAKAUMA.KÄÄNT” sivulla 261 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MAKS MAKS-funktio palauttaa joukon suurimman luvun. MAKS(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Käyttöohjeita ÂÂ Jos arvo ei evaluoidu päiväysksi tai luvuksi, sitä ei sisällytetä lopputulokseen. ÂÂ Jos haluat määrittää minkä tahansa tyyppisiä arvoja sisältävän joukon suurimman arvon, käytä MAKSA-funktiota. Esimerkkejä =MAKS(5; 5; 5; 5; 6) palauttaa 6. =MAKS(1; 2; 3; 4; 5) palauttaa 5. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SUURI” sivulla 256 ”MAKSA” sivulla 263 262 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 263 ”MIN” sivulla 265 ”PIENI” sivulla 280 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MAKSA MAKSA-funktio palauttaa suurimman numeron arvojoukosta, joka saattaa sisältää tekstiä ja loogisia arvoja. MAKSA(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Kaikkien numeeristen arvojen on oltava samaa tyyppiä. Lukuja, päivämääriä ja kestoarvoja ei voida sekoittaa. Käyttöohjeita ÂÂ Tekstiarvoille ja loogiselle arvolle EPÄTOSI annetaan arvo 0 ja loogiselle arvolle TOSI annetaan arvo 1. ÂÂ Jos haluat määrittää suurimman arvon joukosta, joka sisältää vain numeroita tai päivämääriä, käytä MAKS-funktiota. Esimerkkejä =MAKSA(1; 2; 3; 4) palauttaa 4. =MAKSA(A1:C1), jossa A1:C1 sisältää -1, -10 ja hello, palauttaa 0. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”MAKS” sivulla 262 ”MINA” sivulla 265 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MEDIAANI MEDIAANI-funktio palauttaa lukujoukon mediaaniarvon. Mediaani on arvo, jota suurempia ja pienempiä on puolet joukon luvuista. MEDIAANI(luku-päiväys-kesto; luku-päiväys-kesto…) ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. ÂÂ luku-päiväys-kesto…:  Voit sisällyttää yhden tai useamman lisäarvon. Jos määritellään useampi kuin yksi luku-päiväys-kesto-arvo, kaikkien on oltava samaa tyyppiä. Käyttöohjeita ÂÂ Jos joukossa on parillinen määrä lukuja, MEDIAANI-funktio palauttaa kahden keskimmäisen arvon keskiarvon. Esimerkkejä =MEDIAANI(1; 2; 3; 4; 5) palauttaa 3. =MEDIAANI(1; 2; 3; 4; 5; 6) palauttaa 3.5. =MEDIAANI(5; 5; 5; 5; 6) palauttaa 5. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVO” sivulla 225 ”MOODI” sivulla 266 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 264 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 265 MIN MIN-funktio palauttaa joukon pienimmän luvun. MIN(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Käyttöohjeita ÂÂ Jos arvo ei evaluoidu päiväysksi tai luvuksi, sitä ei sisällytetä lopputulokseen. ÂÂ Jos haluat määrittää minkä tahansa tyyppisiä arvoja sisältävän joukon pienimmän arvon, käytä MINA-funktiota. Esimerkkejä =MIN(5; 5; 5; 5; 6) palauttaa 5. =MIN(1; 2; 3; 4; 5) palauttaa 1. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SUURI” sivulla 256 ”MAKS” sivulla 262 ”MINA” sivulla 265 ”PIENI” sivulla 280 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MINA MINA-funktio palauttaa pienimmän numeron arvojoukosta, joka saattaa sisältää tekstiä ja loogisia arvoja. MINA(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Kaikkien numeeristen arvojen on oltava samaa tyyppiä. Lukuja, päivämääriä ja kestoarvoja ei voida sekoittaa. Käyttöohjeita ÂÂ Tekstiarvoille ja loogiselle arvolle EPÄTOSI annetaan arvo 0 ja loogiselle arvolle TOSI annetaan arvo 1. ÂÂ Jos haluat määrittää pienimmän arvon joukosta, joka sisältää vain lukuja tai päivämääriä, käytä MIN-funktiota. Esimerkkejä =MINA(1; 2; 3; 4) palauttaa 1. =MINA(A1:C1), jossa A1:C1 sisältää -1, -10 ja hello, palauttaa -10. =MINA(A1:C1), jossa A1:C1 sisältää 1, 10 ja hello, palauttaa 0. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”MAKSA” sivulla 263 ”MIN” sivulla 265 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 MOODI MOODI-funktio palauttaa lukujoukossa useimmin esiintyvän arvon. MOODI(luku-päiväys-kesto; luku-päiväys-kesto…) ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. ÂÂ luku-päiväys-kesto…:  Voit sisällyttää yhden tai useamman lisäarvon. Jos määritellään useampi kuin yksi luku-päiväys-kesto-arvo, kaikkien on oltava samaa tyyppiä. Käyttöohjeita ÂÂ Jos useampi kuin yksi numero esiintyy suurimman määrän kertoja argumenteissa, MOODI palauttaa ensimmäisen sellaisen numeron. ÂÂ Jos mikään arvo ei esiintyy useammin kuin kerran, funktio palauttaa virheen. 266 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 267 Esimerkkejä =MOODI(5; 5; 5; 5; 6) palauttaa 5. =MOODI(1; 2; 3; 4; 5) palauttaa virheen. =MOODI(2; 2; 4; 6; 6) palauttaa 2. =MOODI(6; 6; 4; 2; 2) palauttaa 6. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIARVO” sivulla 225 ”MEDIAANI” sivulla 264 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NEG. BINOMIJAKAUMA NEG. BINOMIJAKAUMA -funktio palauttaa negatiivisen binomijakauman. NEG. BINOMIJAKAUMA(epäonnistumisluku; onnistumisluku; onnistumisen todennäköisyys) ÂÂ epäonnistumisluku:  Virheiden määrä. epäonnistumisluku on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ onnistumisluku:  Onnistuneiden kokeilujen tai testien määrä. onnistumisluku on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 1. ÂÂ onnistumisen todennäköisyys:  Jokaisen kokeilun tai testin onnistumistodennäköisyys. onnistumisen todennäköisyys on numeroarvo ja sen on oltava suurempi kuin 0 ja pienempi kuin 1. Käyttöohjeita ÂÂ NEG. BINOMIJAKAUMA palauttaa todennäköisyyden, että tapahtuu määritelty määrä epäonnistumisia, epäonnistumisluku, ennen määriteltyä määrää onnistumisia, onnistumisluku. Onnistumisen vakiotodennäköisyys on onnistumisen todennäköisyys. Esimerkki =NEG. BINOMIJAKAUMA(3; 68; 0,95) palauttaa 0.20913174716192. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINOMIJAKAUMA” sivulla 232 ”BINOMIJAKAUMA.KRIT” sivulla 246 ”PERMUTAATIO” sivulla 273 ”TODENNÄKÖISYYS” sivulla 275 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NORM.JAKAUMA NORM.JAKAUMA-funktio palauttaa normaalijakauman määritellyssä funktiomuodossa. NORM.JAKAUMA(num; keskiarvo; keskihajonta; muototyyppi) ÂÂ num:  Evaluoitava luku. num on numeroarvo. ÂÂ keskiarvo:  Jakauman keskiarvo. keskiarvo on numeroarvo, joka edustaa tunnettua keskiarvoa (aritmeettinen keskiarvo) taajuudesta, jolla tapahtuma tapahtuu. ÂÂ keskihajonta:  Populaation keskihajonta. keskihajonta on numeroarvo ja sen on oltava suurempi kuin 0. ÂÂ muototyyppi:  Arvo, joka ratkaisee eksponentiaalifunktion muodon. kumulatiivinen muoto (TOSI tai 1):  Palauta kertymäfunktiomuodon arvo. todennäköisyystiheysmuoto (EPÄTOSI tai 0):  Palauta todennäköisyystiheysfunktiomuodon arvo. Käyttöohjeita ÂÂ Jos keskiarvo on 0, keskihajonta on 1 ja muototyyppi on TOSI, NORM.JAKAUMA palauttaa saman arvon kuin NORM.JAKAUMA.NORMIT-funktion palauttama kumulatiivinen normitettu normaalijakauma. Esimerkkejä =NORM.JAKAUMA(22; 15; 2,5; 1) palauttaa 0,997444869669572, kumulatiivisen jakaumamuodon. =NORM.JAKAUMA(22; 15; 2,5; 0) palauttaa 0.00316618063319199, todennäköisyystiheysmuodon. 268 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 269 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”NORM.JAKAUMA.KÄÄNT” sivulla 269 ”NORM.JAKAUMA.NORMIT” sivulla 270 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NORM.JAKAUMA.KÄÄNT NORM.JAKAUMA.KÄÄNT-funktio palauttaa kumulatiivisen normaalijakauman käänteisarvon. NORM.JAKAUMA.KÄÄNT(todennäköisyys; keskiarvo; keskihajonta) ÂÂ todennäköisyys:  Jakaumaan liittyvä todennäköisyys. todennäköisyys on numeroarvo ja sen on oltava suurempi kuin 0 ja pienempi kuin 1. ÂÂ keskiarvo:  Jakauman keskiarvo. keskiarvo on numeroarvo, joka edustaa tunnettua keskiarvoa (aritmeettinen keskiarvo) taajuudesta, jolla tapahtuma tapahtuu. ÂÂ keskihajonta:  Populaation keskihajonta. keskihajonta on numeroarvo ja sen on oltava suurempi kuin 0. Käyttöohjeita ÂÂ Jos keskiarvo on 0 ja keskihajonta on 1, NORM.JAKAUMA.KÄÄNT palauttaa saman arvon kuin NORM.JAKAUMA.NORMIT.KÄÄNT-funktion palauttama kumulatiivisen normitetun normaalijakauman käänteisarvo. Esimerkki =NORM.JAKAUMA.KÄÄNT(0,89; 15; 2,5) palauttaa 18,0663203000915. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”NORM.JAKAUMA” sivulla 268 ”NORM.JAKAUMA.NORMIT.KÄÄNT” sivulla 270 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NORM.JAKAUMA.NORMIT NORM.JAKAUMA.NORMIT-funktio palauttaa normitetun normaalijakauman. NORM.JAKAUMA.NORMIT(num) ÂÂ num:  Numero. num on numeroarvo. Käyttöohjeita ÂÂ Normitetun normaalijakauman keskiarvo (aritmeettinen keskiarvo) on 0 ja keskihajonta on 1. Esimerkki =NORM.JAKAUMA.NORMIT(4,3) palauttaa 0,999991460094529. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”NORM.JAKAUMA” sivulla 268 ”NORM.JAKAUMA.NORMIT.KÄÄNT” sivulla 270 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NORM.JAKAUMA.NORMIT.KÄÄNT NORM.JAKAUMA.NORMIT.KÄÄNT-funktio palauttaa kumulatiivisen normitetun normaalijakauman käänteisarvon. NORM.JAKAUMA.NORMIT.KÄÄNT(todennäköisyys) ÂÂ todennäköisyys:  Jakaumaan liittyvä todennäköisyys. todennäköisyys on numeroarvo ja sen on oltava suurempi kuin 0 ja pienempi kuin 1. 270 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 271 Käyttöohjeita ÂÂ Normitetun normaalijakauman keskiarvo (aritmeettinen keskiarvo) on 0 ja keskihajonta on 1. Esimerkki =NORM.JAKAUMA.NORMIT.KÄÄNT(0,89) palauttaa 1,22652812003661. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”NORM.JAKAUMA.KÄÄNT” sivulla 269 ”NORM.JAKAUMA.NORMIT” sivulla 270 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PROSENTTIPISTE PROSENTTIPISTE-funktio palauttaa joukosta arvon, joka vastaa tiettyä prosenttipistettä. PROSENTTIPISTE(luku-päiväys-kesto-joukko, prosenttipistearvo) ÂÂ luku-päiväys-kesto-joukko:  Arvojoukko. luku-päiväys-kesto-joukko on joukko, joka sisältää luku-, päiväys- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ prosenttipistearvo:  Etsittävä prosenttipistearvo nollan ja yhden välillä. prosenttipistearvo on numeroarvo, joka syötetään joko desimaalina (esim. 0,25) tai se rajoitetaan prosenttimerkillä (esim 25 %). Sen on oltava suurempi tai yhtä suuri kuin 0 ja pienempi tai yhtä suuri kuin 1. Käyttöohjeita ÂÂ Matriisissa olevat arvot, jotka ovat samankokoisia, sijoitetaan yhteen, mutta vaikuttavat tulokseen. Esimerkkejä Oletetaan, että seuraava taulukko sisältää tämän lukukauden kumulatiiviset koetulokset 20 oppilaalta. (Olemme järjestäneet datan näin tätä esimerkkiä varten; se olisi todennäköisesti alunperin ollut 20 eri rivillä.) =PROSENTTIPISTE(A1:E4; 0,90) palauttaa 92, pienimmän kumulatiivisen koetuloksen, jolla sijoittuu luokan parhaaseen 10 prosenttiin (90. prosenttipiste). =PROSENTTIPISTE(A1:E4; 2/3) palauttaa 85, pienimmän kumulatiivisen koetuloksen, jolla sijoittuu luokan parhaaseen kolmannekseen (2/3 tai noin 67. prosenttipiste). =PROSENTTIPISTE(A1:E4; 0,50) palauttaa 83, pienimmän kumulatiivisen koetuloksen, jolla sijoittuu luokan parhaaseen puolikkaaseen (50. prosenttipiste). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TAAJUUS” sivulla 251 ”PROSENTTIJÄRJESTYS” sivulla 272 ”NELJÄNNES” sivulla 277 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PROSENTTIJÄRJESTYS PROSENTTIJÄRJESTYS-funktio palauttaa arvon sijainnin joukossa prosenttiosuutena joukosta. PROSENTTIJÄRJESTYS(luku-päiväys-kesto-joukko; luku-päiväys-kesto; tarkkuus) ÂÂ luku-päiväys-kesto-joukko:  Arvojoukko. luku-päiväys-kesto-joukko on joukko, joka sisältää luku-, päiväys- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. 272 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 273 ÂÂ tarkkuus:  Valinnainen arvo, joka määrittelee säilytettävien numeroiden määrän desimaalipilkun oikealla puolella. tarkkuus on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 1. Jos se jätetään pois, käytetään oletusarvoa 3 (x,xxx %). Käyttöohjeita ÂÂ PROSENTTIJÄRJESTYS-funktiolla voidaan arvioida arvon suhteellinen sijainti joukossa. Sillä lasketaan, minne tietty numero sijoittuu joukossa. Esimerkiksi, jos joukossa on 10 arvoa, jotka ovat pienempiä kuin määritelty numero, ja 10 arvoa, jotka ovat suurempia, määritellyn numeron PROSENTTIJÄRJESTYS on 50 %. Esimerkki =PROSENTTIJÄRJESTYS({5; 6; 9; 3; 7; 11; 8; 2; 14}; 10) palauttaa 0,813, koska numeroita, jotka ovat pienempiä kuin 10, on seitsemän ja numeroita, jotka ovat suurempia, on vain kaksi. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TAAJUUS” sivulla 251 ”PROSENTTIPISTE” sivulla 271 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PERMUTAATIO PERMUTAATIO-funktio palauttaa annetun objektimäärän permutaatioiden määrän, joka voidaan valita objektien kokonaismäärästä. PERMUTAATIO(lukuobjektit; lukuelementit) ÂÂ lukuobjektit:  Objektien kokonaismäärä. lukuobjektit on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0. ÂÂ lukuelementit:  Valittavien objektien määrä objektien yhteismäärästä jokaisessa permutaatiossa. lukuelementit on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin 0.. Esimerkkejä =PERMUTAATIO(25; 5) palauttaa 6375600. =PERMUTAATIO(10; 3) palauttaa 720. =PERMUTAATIO(5; 2) palauttaa 20. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINOMIJAKAUMA” sivulla 232 ”BINOMIJAKAUMA.KRIT” sivulla 246 ”NEG. BINOMIJAKAUMA” sivulla 267 ”TODENNÄKÖISYYS” sivulla 275 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 POISSON POISSON-funktio palauttaa todennäköisyyden, että määritelty määrä tapahtumia tapahtuu, Poisson-jakaumaa käyttäen. POISSON(tapahtumat; keskiarvo; muototyyppi) ÂÂ tapahtumat:  Tapahtumien (saapumisten) määrä, jolle halutaan laskea todennäköisyys. tapahtumat on numeroarvo. ÂÂ keskiarvo:  Jakauman keskiarvo. keskiarvo on numeroarvo, joka edustaa tunnettua keskiarvoa (aritmeettinen keskiarvo) taajuudesta, jolla tapahtuma tapahtuu. ÂÂ muototyyppi:  Arvo, joka ratkaisee eksponentiaalifunktion muodon. kumulatiivinen muoto (TOSI tai 1):  Palauta kertymäfunktiomuodon arvo (jotta määritelty tai vähempi määrä onnistumisia tai tapahtumia ilmenee). pistetodennäköisyysmuoto (EPÄTOSI tai 0):  Palauta todennäköisyystiheysfunktiomuodon arvo (tarkalleen määritelty onnistumisien tai tapahtumien lukumäärä). 274 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 275 Esimerkki Jos kesiarvo on 10 ja saapumisnopeus on 8: =POISSON(8; 10; EPÄTOSI) palauttaa 0,112599. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”EXPONENTIAALIJAKAUMA” sivulla 247 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TODENNÄKÖISYYS TODENNÄKÖISYYS-funktio palauttaa arvojoukon todennäköisyyden, jos tiedät yksittäisten arvojen todennäköisyyden. TODENNÄKÖISYYS(lukujoukko; todennäköisyysarvot; alempi; ylempi) ÂÂ lukujoukko:  Lukujoukko. lukujoukko on joukko, joka sisältää numeroarvoja. ÂÂ todennäköisyysarvot:  Todennäköisyysarvot sisältävä joukko. todennäköisyysarvot on joukko, joka sisältää numeroarvoja. Todennäköisyyksien summan on oltava 1. Mahdolliset merkkijonoarvot jätetään huomioimatta. ÂÂ alempi:  Alaraja. alempi on numeroarvo. ÂÂ ylempi:  Valinnainen yläraja. ylempi on numeroarvo ja sen on oltava suurempi tai yhtä suuri kuin alempi. Käyttöohjeita ÂÂ TODENNÄKÖISYYS-funktio laskee yhteen todennäköisyydet, jotka liittyvät joukon arvoihin, jotka ovat suurempia tai yhtä suuria kuin määritelty alaraja-arvo ja pienempiä tai yhtä suuria kuin määritelty yläraja-arvo. Jos ylempi jätetään pois, TODENNÄKÖISYYS palauttaa määritellyn alarajan kanssa yhtä suuren yksittäisen numeron todennäköisyyden. ÂÂ Kahden matriisin on oltava saman kokoisia. Jos matriisissa on tekstiä, se jätetään huomioimatta. Esimerkkejä Oletetaan, että ajattelet numeroa 1 ja 10 väliltä ja pyydät jotakuta arvaamaan sen. Useimpien mielestä todennäköisyys, että ajattelet tiettyä numeroa on 0,1 (10 %), kuten on lueteltu sarakkeessa C, koska mahdollisia vaihtoehtoja on kymmenen. Tutkimukset ovat kuitenkin osoittaneet, että ihmiset eivät valitse numeroita sattumanvaraisesti. Oletetaan, että tutkimus on osoittanut, että ihmiset valitsevat joitakin numeroita todennäköisemmin kuin joitakin muita. Nämä todennäköisyydet on lueteltu sarakkeessa E. =TODENNÄKÖISYYS(A1:A10; C1:C10; 4; 6) palauttaa 0,30, todennäköisyyden, että arvo on 4, 5 tai 6 olettaen, että valinnat ovat täysin satunnaisia. =TODENNÄKÖISYYS(A1:A10; E1:E10; 7) palauttaa 0,28, todennäköisyyden, että arvo on 4, 5 tai 6, perustuen tutkimukseen, jonka mukaan numeroita ei valita satunnaisesti. =TODENNÄKÖISYYS(A1:A10; E1:E10; 4; 6) palauttaa 0,20, todennäköisyyden, että arvo on 7, perustuen tutkimukseen, jonka mukaan numeroita ei valita satunnaisesti. =TODENNÄKÖISYYS(A1:A10; C1:C10; 6; 10) palauttaa 0,50, todennäköisyyden, että arvo on suurempi kuin 5 (6 - 10) olettaen, että valinnat ovat täysin satunnaisia. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”BINOMIJAKAUMA” sivulla 232 ”BINOMIJAKAUMA.KRIT” sivulla 246 ”NEG. BINOMIJAKAUMA” sivulla 267 ”PERMUTAATIO” sivulla 273 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 276 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 277 NELJÄNNES NELJÄNNES-funktio palauttaa määritellyn neljänneksen arvon annetusta datajoukosta. NELJÄNNES(lukujoukko; neljännes-luku) ÂÂ lukujoukko:  Lukujoukko. lukujoukko on joukko, joka sisältää numeroarvoja. ÂÂ neljännes-luku:  Määrittelee halutun neljänneksen. pienin (0):  Palauttaa pienimmän arvon. ensimmäinen (1):  Palauttaa ensimmäisen neljänneksen (25. prosenttipiste). toinen (2):  Palauttaa toisen neljänneksen (50. prosenttipiste). kolmas (3):  Palauttaa kolmannen neljänneksen (75. prosenttipiste). suurin (4):  Palauttaa suurimman arvon. Käyttöohjeita ÂÂ MIN, MEDIAANI ja MAKS palauttavat saman arvon kuin NELJÄNNES, kun neljännesluku on joko 0, 2 tai 4. Esimerkkejä =NELJÄNNES({5; 6; 9; 3; 7; 11; 8; 2; 14}; 0) palauttaa 2, pienimmän arvon. =NELJÄNNES({5; 6; 9; 3; 7; 11; 8; 2; 14}; 1) palauttaa 5, 25. prosenttipisteen tai ensimmäisen neljänneksen. =NELJÄNNES({5; 6; 9; 3; 7; 11; 8; 2; 14}; 2) palauttaa 7, 50. prosenttipisteen tai toisen neljänneksen. =NELJÄNNES({5; 6; 9; 3; 7; 11; 8; 2; 14}; 3) palauttaa 9, 75. prosenttipisteen tai kolmannen neljänneksen. =NELJÄNNES({5; 6; 9; 3; 7; 11; 8; 2; 14}; 0) palauttaa 14, suurimman arvon. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TAAJUUS” sivulla 251 ”MAKS” sivulla 262 ”MEDIAANI” sivulla 264 ”MIN” sivulla 265 ”PROSENTTIPISTE” sivulla 271 ”PROSENTTIJÄRJESTYS” sivulla 272 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ARVON.MUKAAN ARVON.MUKAAN-funktio palauttaa numeron sijainnin numeroalueella. ARVON.MUKAAN(luku-päiväys-kesto; luku-päiväys-kesto-joukko; suurin on korkea) ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. ÂÂ luku-päiväys-kesto-joukko:  Arvojoukko. luku-päiväys-kesto-joukko on joukko, joka sisältää luku-, päiväys- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ suurin on korkea:  Valinnainen arvo, joka määrittelee onko pienin vai suurin arvo 1. sijalla. suurin on matala (0, EPÄTOSI tai jätetty pois):  Anna joukon suurimmalle arvolle 1. sija. suurin on korkea (1 tai TOSI):  Anna joukon pienimmälle arvolle 1. sija. Käyttöohjeita ÂÂ Joukossa olevat arvot, jotka ovat samoja, sijoitetaan yhteen, mutta vaikuttavat tulokseen. ÂÂ Jos määritelty arvo ei vastaa mitään joukon arvoista, palautetaan virhe. Esimerkkejä Oletetaan, että seuraava taulukko sisältää tämän lukukauden kumulatiiviset koetulokset 20 oppilaalta. (Olemme järjestäneet datan näin tätä esimerkkiä varten; se olisi todennäköisesti alunperin ollut 20 eri rivillä.) =ARVON.MUKAAN(30; A1:E4; 1) palauttaa 1, koska 30 on pienin kumulatiivinen koetulos ja valitsimme sijoittaa pienimmän ensimmäiseksi. =ARVON.MUKAAN(92; A1:E4; 0) palauttaa 2, koska 92 on toiseksi suurin kumulatiivinen koetulos ja valitsimme sijoittaa suurimman ensimmäiseksi. =ARVON.MUKAAN(91; A1:E4; 1) palauttaa 4, koska toisesta sijasta on ”tasapeli”. Järjestys on 100, 92, 92 ja 91 ja sijoitus on 1, 2, 2 ja 4. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SUURI” sivulla 256 ”PIENI” sivulla 280 278 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 279 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KULMAKERROIN KULMAKERROIN-funktio palauttaa joukkoon parhaiten sopivan janan kulmakertoimen käyttäen lineaarista regressioanalyysiä. KULMAKERROIN(y-arvot; x-arvot) ÂÂ y-arvot:  Y-arvot (riippuvat) sisältävä joukko. y-arvot on joukko, joka voi sisältää luku-, päiväys/aika- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ x-arvot:  X-arvot (itsenäiset) sisältävä joukko. x-arvot on joukko, joka voi sisältää luku- , päiväys/aika- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. Käyttöohjeita ÂÂ Joukkojen on oltava samankokoisia tai funktio palauttaa virheen. ÂÂ Esimerkiksi, jos sinulla on dataa ajoneuvon nopeudesta ja sen polttoainetaloudesta eri nopeuksilla, polttoainetalous olisi riippuva muuttuja ja ajonopeus olisi riippumaton muuttuja. ÂÂ Jos haluat selvittää parhaiten sopivan janan y-leikkauspisteen, käytä LEIKKAUSPISTEfunktiota. Esimerkki Tässä esimerkissä KULMAKERROIN-funktiota käytetään parhaiten sopivan janan kulmakertoimen määrittämiseen lämpötilalle, jonka hypoteettinen kodinomistaja on asettanut termostaatille (riippuva muuttuja) lämmitysöljyn hintaan perustuen (riippumaton muuttuja). =KULMAKERROIN(B2:B11; A2:A11) evaluoituu noin arvoksi -3,2337, osoittaen, että parhaiten sopiva jana osoittaa alaspäin (kun hinta nousi, termostaatin lämpötilaa laskettiin). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”LEIKKAUSPISTE” sivulla 255 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PIENI PIENI-funktio palauttaa joukon määrätynneksi pienimmän arvon. Pienimmälle arvolle annetaan numero 1. PIENI(luku-päiväys-kesto-joukko; luokitus) ÂÂ luku-päiväys-kesto-joukko:  Arvojoukko. luku-päiväys-kesto-joukko on joukko, joka sisältää luku-, päiväys- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ luokitus:  Luku, joka esittää haettavan arvon kokosijoitusta. luokitus on numeroarvo ja sen on oltava yhden ja joukon arvojen määrän välillä. Käyttöohjeita ÂÂ Luokitus 1 hakee pienimmän luvun joukosta, 2 toisen pienimmän ja niin edelleen. Joukossa olevat arvot, jotka ovat samankokoisia, sijoitetaan yhteen, mutta vaikuttavat tulokseen. Esimerkkejä Oletetaan, että seuraava taulukko sisältää tämän lukukauden kumulatiiviset koetulokset 20 oppilaalta. (Olemme järjestäneet datan näin tätä esimerkkiä varten; se olisi todennäköisesti alunperin ollut 20 eri rivillä.) =PIENI(A1:E4; 1) palauttaa 30, pienimmän kumulatiivisen koetuloksen (solu A1). =PIENI(A1:E4; 2) palauttaa 51, toiseksi pienimmän kumulatiivisen koetuloksen (solu E1). =PIENI(A1:E4; 6) palauttaa 75, kuudenneksi pienimmän kumulatiivisen koetuloksen (järjestys on 30, 51, 68, 70, 75 ja 75 uudelleen, joten 75 on sekä viidenneksi että kuudenneksi pienin kumulatiivinen koetulos). 280 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 281 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”SUURI” sivulla 256 ”ARVON.MUKAAN” sivulla 278 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 NORMITA NORMITA-funktio palauttaa normalisoidun arvon jakaumasta, jota kuvaa annettu keskiarvo ja keskihajonta. NORMITA(num; keskiarvo; keskihajonta) ÂÂ num:  Evaluoitava luku. num on numeroarvo. ÂÂ keskiarvo:  Jakauman keskiarvo. keskiarvo on numeroarvo, joka edustaa tunnettua keskiarvoa (aritmeettinen keskiarvo) taajuudesta, jolla tapahtuma tapahtuu. ÂÂ keskihajonta:  Populaation keskihajonta. keskihajonta on numeroarvo ja sen on oltava suurempi kuin 0. Esimerkki =NORMITA(6; 15; 2,1) palauttaa -4,28571428571429. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”NORM.JAKAUMA” sivulla 268 ”NORM.JAKAUMA.KÄÄNT” sivulla 269 ”NORM.JAKAUMA.NORMIT” sivulla 270 ”NORM.JAKAUMA.NORMIT.KÄÄNT” sivulla 270 ”ZTESTI” sivulla 296 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIHAJONTA KESKIHAJONTA-funktio palauttaa keskihajonnan, hajonnan määrän, joukosta arvoja perustuen niiden otosvarianssiin. KESKIHAJONTA(luku-päiväys-kesto; luku-päiväys-kesto…) ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. ÂÂ luku-päiväys-kesto…:  Yksi tai useampi lisäarvo (vähintään kaksi arvoa vaaditaan). Kaikkien luku-päiväys-kesto-arvojen on oltava samaa tyyppiä. Käyttöohjeita ÂÂ KESKIHAJONTA-funktiota kannattaa käyttää, kun määritellyt arvot edustavat vain otosta suuremmasta populaatiosta. Jos analysoitavat arvot edustavat koko joukkoa tai populaatiota, käytä KESKIHAJONTAPVÄ-funktiota. ÂÂ Jos haluat sisällyttää teksti- tai loogisia arvoja laskutoimitukseen, käytä KESKIHAJONTAA-funktiota. ÂÂ Keskihajonta on VAR-funktion palauttaman varianssin neliöjuuri. Esimerkki Oletetaan, että olet pitänyt viisi koetta ryhmälle opiskelijoita. Olet valinnut sattumanvaraisesti viisi opiskelijaa edustamaan koko opiskelijapopulaatiota (huomaa, että tämä on vain esimerkki; tämä ei todennäköisesti olisi tilastollisesti kelvollista). Käyttäen KESKIHAJONTA-funktiota tähän otosdataan voit määritellä missä kokeessa koetulokset erosivat toisistaan eniten. KESKIHAJONTA-funktion tulokset ovat noin 22,8035; 24,5357; 9,5026; 8,0747 ja 3,3466. Kokeella 2 oli siis suurin hajonta, kokeen 1 seuratessa lähellä perässä. Kolmella muulla kokeella oli pieni hajonta. Koe 1 Koe 2 Koe 3 Koe 4 Koe 5 Opiskelija 1 75 82 90 78 84 Opiskelija 2 100 90 95 88 90 Opiskelija 3 40 80 78 90 85 Opiskelija 4 80 35 95 98 92 Opiskelija 5 90 98 75 97 88 =KESKIHAJONTA(B2:B6) =KESKIHAJONTA(C2:C6) =KESKIHAJONTA(D2:D6) =KESKIHAJONTA(E2:E6) =KESKIHAJONTA(F2:F6) Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: 282 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 283 ”KESKIHAJONTAA” sivulla 283 ”KESKIHAJONTAPVÄ” sivulla 285 ”KESKIHAJONTA” sivulla 286 ”VAR” sivulla 290 ”VARA” sivulla 292 ”VARP” sivulla 293 ”VARPA” sivulla 295 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIHAJONTAA KESKIHAJONTAA-funktio palauttaa keskihajonnan, hajonnan määrän, joukosta arvoja, joka voi sisältää tekstiä ja loogisia arvoja, perustuen niiden otosvarianssiin. KESKIHAJONTAA(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. Kaikkien numeeristen arvojen on oltava samaa tyyppiä. Lukuja, päivämääriä ja kestoarvoja ei voida sekoittaa. ÂÂ arvo…:  Yksi tai useampi lisäarvo (vähintään kaksi arvoa vaaditaan). Kaikkien numeeristen arvojen on oltava samaa tyyppiä. Lukuja, päivämääriä ja kestoarvoja ei voida sekoittaa. Käyttöohjeita ÂÂ KESKIHAJONTAA-funktiota kannattaa käyttää, kun määritellyt arvot edustavat vain otosta suuremmasta populaatiosta. Jos analysoitavat arvot edustavat koko joukkoa tai populaatiota, käytä KESKIHAJONTA-funktiota. ÂÂ KESKIHAJONTAA antaa kaikille tekstiarvoille arvon 0, loogiselle arvolle EPÄTOSI arvon 0 ja loogiselle arvolle TOSI arvon 1 ja sisällyttää ne laskutoimituksiin. Tyhjät solut jätetään huomioimatta. Jos et halua sisällyttää teksti- tai loogisia arvoja laskutoimitukseen, käytä KESKIHAJONTA-funktiota. ÂÂ Keskihajonta on VARA-funktion palauttaman varianssin neliöjuuri. Esimerkki Oletetaan, että olet asentanut lämpöanturin Cupertinoon, Kaliforniaan. Anturi tallentaa joka päivän alimman ja ylimmän lämpötilan. Lisäksi olet pitänyt kirjaa siitä, minä päivinä laitoit ilmastointilaitteen päälle asunnossasi. Seuraavassa taulukossa on muutamien ensimmäisien päivien data ja sitä käytetään otoksena alimpien ja ylimpien lämpötilojen populaatiosta (huomaa, että tämä on vain esimerkki; tämä ei olisi tilastollisesti kelvollista). =KESKIHAJONTAA(B2:B13) palauttaa 24,8271, KESKIHAJONTAA-funktion mittaaman poikkeaman, päivän ylimpien lämpötilojen otoksesta. Se ylittää 15 asteen ylimpien lämpötilojen todellisen alueen, koska ”ei käytettävissä” lämpötilalle annetaan arvo nolla. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIHAJONTA” sivulla 282 ”KESKIHAJONTAPVÄ” sivulla 285 ”KESKIHAJONTA” sivulla 286 ”VAR” sivulla 290 ”VARA” sivulla 292 ”VARP” sivulla 293 ”VARPA” sivulla 295 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 284 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 285 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIHAJONTAPVÄ KESKIHAJONTAPVÄ-funktio palauttaa keskihajonnan, hajonnan määrän, joukosta arvoja perustuen niiden populaatiovarianssiin. KESKIHAJONTAPVÄ(luku-päiväys-kesto; luku-päiväys-kesto…) ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo. ÂÂ luku-päiväys-kesto…:  Voit sisällyttää yhden tai useamman lisäarvon. Jos määritellään useampi kuin yksi luku-päiväys-kesto-arvo, kaikkien on oltava samaa tyyppiä. Käyttöohjeita ÂÂ KESKIHAJONTAPVÄ-funktiota kannattaa käyttää, kun määritellyt arvot edustavat koko joukkoa tai populaatiota. Jos analysoitavat arvot edustavat vain otosta suuremmasta populaatiosta, käytä KESKIHAJONTA-funktiota. ÂÂ Jos haluat sisällyttää teksti- tai loogisia arvoja laskutoimitukseen, käytä KESKIHAJONTA-funktiota. ÂÂ Keskihajonta on VARP-funktion palauttaman varianssin neliöjuuri. Esimerkki Oletetaan, että olet pitänyt viisi koetta ryhmälle opiskelijoita. Sinulla on hyvin pieni luokka ja tämä edustaa koko opiskelijapopulaatiota. Käyttäen KESKIHAJONTAPVÄ-funktiota tähän populaatiodataan voit määritellä missä kokeessa koetulokset erosivat toisistaan eniten. KESKIHAJONTAPVÄ-funktion tulokset ovat noin 20,3961; 21,9454; 8,49994; 7,2222 ja 2,9933. Kokeella 2 oli siis suurin hajonta, kokeen 1 seuratessa lähellä perässä. Kolmella muulla kokeella oli pieni hajonta. Koe 1 Koe 2 Koe 3 Koe 4 Koe 5 Opiskelija 1 75 82 90 78 84 Opiskelija 2 100 90 95 88 90 Opiskelija 3 40 80 78 90 85 Opiskelija 4 80 35 95 98 92 Opiskelija 5 75 82 90 78 84 =KESKIHAJONTAPVÄ(B2:B6) =KESKIHAJONTAPVÄ(C2:C6) =KESKIHAJONTAPVÄ(D2:D6) =KESKIHAJONTAPVÄ(E2:E6) =KESKIHAJONTAPVÄ(F2:F6) Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIHAJONTA” sivulla 282 ”KESKIHAJONTAA” sivulla 283 ”KESKIHAJONTA” sivulla 286 ”VAR” sivulla 290 ”VARA” sivulla 292 ”VARP” sivulla 293 ”VARPA” sivulla 295 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KESKIHAJONTA KESKIHAJONTAPA-funktio palauttaa keskihajonnan, hajonnan määrän, joukosta arvoja, joka voi sisältää tekstiä ja loogisia arvoja, perustuen niiden populaatiovarianssiin. KESKIHAJONTA(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Kaikkien numeeristen arvojen on oltava samaa tyyppiä. Lukuja, päivämääriä ja kestoarvoja ei voida sekoittaa. Käyttöohjeita ÂÂ KESKIHAJONTA-funktiota kannattaa käyttää, kun määritellyt arvot edustavat koko joukkoa tai populaatiota. Jos analysoitavat arvot edustavat vain otosta suuremmasta populaatiosta, käytä KESKIHAJONTAA-funktiota. ÂÂ KESKIHAJONTA antaa kaikille tekstiarvoille arvon 0, loogiselle arvolle EPÄTOSI arvon 0 ja loogiselle arvolle TOSI arvon 1 ja sisällyttää ne laskutoimituksiin. Tyhjät solut jätetään huomioimatta. Jos et halua sisällyttää teksti- tai loogisia arvoja laskutoimitukseen, käytä KESKIHAJONTAPVÄ-funktiota. ÂÂ Keskihajonta on VARPA-funktion palauttaman varianssin neliöjuuri. 286 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 287 Esimerkki Oletetaan, että olet asentanut lämpöanturin Cupertinoon, Kaliforniaan. Anturi tallentaa joka päivän alimman ja ylimmän lämpötilan. Lisäksi olet pitänyt kirjaa siitä, minä päivinä laitoit ilmastointilaitteen päälle asunnossasi. Anturi lakkasi toimimasta muutaman ensimmäisen päivän jälkeen, joten seuraava taulukko on alimpien ja ylimpien lämpötilojen populaatio. =KESKIHAJONTA(B2:B13) palauttaa 23,7702, KESKIHAJONTA-funktion mittaaman poikkeaman, päivän ylimpien lämpötilojen otoksesta. Se ylittää 15 asteen ylimpien lämpötilojen todellisen alueen, koska ”ei käytettävissä” lämpötilalle annetaan arvo nolla. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIHAJONTA” sivulla 282 ”KESKIHAJONTAA” sivulla 283 ”KESKIHAJONTAPVÄ” sivulla 285 ”VAR” sivulla 290 ”VARA” sivulla 292 ”VARP” sivulla 293 ”VARPA” sivulla 295 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TJAKAUMA TJAKAUMA-funktio palauttaa todennäköisyyden Studentin t-jakaumasta. TJAKAUMA(ei-negatiivinen x-arvo; vapausasteet; suuntaisuus) ÂÂ ei-negatiivinen x-arvo:  Arvo, jolla haluat evaluoida funktion. ei-negatiivinen x-arvo on numeroarvo, jonka on oltava suurempi tai yhtä kuin 0. ÂÂ vapausasteet:  Vapausasteet. vapausasteet on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. ÂÂ suuntaisuus:  Palautettavien suuntien määrä. yksisuuntainen (1):  Palauta arvo yksisuuntaiselle jakaumalle. kaksisuuntainen (2):  Palauta arvo kaksisuuntaiselle jakaumalle. Esimerkkejä =TJAKAUMA(4; 2; 1) palauttaa 0,0285954792089682 yksisuuntaiselle jakaumalle. =TJAKAUMA(4; 2; 2) palauttaa 0,0571909584179364 kaksisuuntaiselle jakaumalle. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TJAKAUMA.KÄÄNT” sivulla 288 ”TTESTI” sivulla 289 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TJAKAUMA.KÄÄNT TJAKAUMA.KÄÄNT-funktio palauttaa t-arvon (todennäköisyyden ja vapausasteen funktion) Studentin t-jakaumasta. TJAKAUMA.KÄÄNT(todennäköisyys; vapausasteet) ÂÂ todennäköisyys:  Jakaumaan liittyvä todennäköisyys. todennäköisyys on numeroarvo ja sen on oltava suurempi kuin 0 ja pienempi kuin 1. ÂÂ vapausasteet:  Vapausasteet. vapausasteet on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. 288 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 289 Esimerkki =TJAKAUMA.KÄÄNT(0,88; 2) palauttaa 0,170940864689457. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TJAKAUMA” sivulla 288 ”TTESTI” sivulla 289 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TTESTI TTESTI-funktio palauttaa Studentin t-testiin liittyvän todennäköisyyden perustuen t-jakaumafunktioon. TTESTI(1. näytteen arvot; 2. näytteen arvot; suuntaisuus; testityyppi) ÂÂ 1. näytteen arvot:  Näytearvojen ensimmäisen joukon sisältävä joukko. 1. näytteen arvot on numeroja sisältävä joukko. ÂÂ 2. näytteen arvot:  Näytearvojen toisen joukon sisältävä joukko. 2. näytteen arvot on numeroarvoja sisältävä joukko. ÂÂ suuntaisuus:  Palautettavien suuntien määrä. yksisuuntainen (1):  Palauttaa arvon yksisuuntaiselle jakaumalle. kaksisuuntainen (2):  Palauttaa arvon kaksisuuntaiselle jakaumalle. ÂÂ testityyppi:  Suoritettavan t-testin tyyppi. pari muodostettu (1):  Suorita parittainen testi. kahden näytteen samanlaisten varianssien testi (2):  Suorita kahden näytteen samanlaisten varianssien (vakiovarianssinen) testi. kahden näytteen erilaisten varianssien testi (3):  Suorita kahden näytteen erilaisten varianssien (erivarianssinen) testi. Esimerkkejä =TTESTI({57; 75; 66; 98; 92; 80}; {87; 65; 45; 95; 88; 79}; 1; 1) palauttaa 0,418946725989974 yksisuuntaiselle parillisille testille. =TTESTI({57; 75; 66; 98; 92; 80}; {87; 65; 45; 95; 88; 79}; 2; 1) palauttaa 0,837893451979947 kaksisuuntaiselle parillisille testille. =TTESTI({57; 75; 66; 98; 92; 80}; {87; 65; 45; 95; 88; 79}; 1; 2) palauttaa 0,440983897602811 yksisuuntaiselle kahden otoksen yhtäsuuruustestille. =TTESTI({57; 75; 66; 98; 92; 80}; {87; 65; 45; 95; 88; 79}; 2; 2) palauttaa 0,881967795205622 kaksisuuntaiselle kahden otoksen yhtäsuuruustestille. =TTESTI({57; 75; 66; 98; 92; 80}; {87; 65; 45; 95; 88; 79}; 1; 3) palauttaa 0,441031763311189 yksisuuntaiselle kahden otoksen epäyhtäsuuruustestille. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”TJAKAUMA” sivulla 288 ”TJAKAUMA.KÄÄNT” sivulla 288 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VAR VAR-funktio palauttaa otosvarianssin, hajonnan määrän, joukosta arvoja. VAR(luku-päiväys; luku-päiväys…) ÂÂ luku-päiväys:  Arvo. luku-päiväys on numeroarvo tai päiväys/aika-arvo. ÂÂ luku-päiväys…:  Voit sisällyttää yhden tai useamman lisäarvon. Jos määriteltyjä lukupäiväys- kesto-arvoja on enemmän kuin yksi, kaikkien on oltava samaa tyyppiä. Käyttöohjeita ÂÂ VAR-funktio laskee otosvarianssin jakamalla datapisteiden poikkeamien neliöiden summan arvojen määrää yhtä pienemmällä luvulla. ÂÂ VAR-funktiota kannattaa käyttää, kun määritellyt arvot edustavat vain otosta suuremmasta populaatiosta. Jos analysoitavat arvot edustavat koko joukkoa tai populaatiota, käytä VARP-funktiota. ÂÂ Jos haluat sisällyttää teksti- tai loogisia arvoja laskutoimitukseen, käytä VARAfunktiota. 290 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 291 ÂÂ KESKIHAJONTA-funktio palauttaa VAR-funktion palauttaman varianssin neliöjuuren. Esimerkkejä Oletetaan, että olet pitänyt viisi koetta ryhmälle opiskelijoita. Olet valinnut sattumanvaraisesti viisi opiskelijaa edustamaan koko opiskelijapopulaatiota (huomaa, että tämä on vain esimerkki; tämä ei todennäköisesti olisi tilastollisesti kelvollista). Käyttäen VAR-funktiota tähän otosdataan voit määritellä missä kokeessa koetulokset erosivat toisistaan eniten. VAR-funktion tulokset ovat noin 520,00; 602,00; 90,30; 65,20 ja 11,20. Kokeella 2 oli siis suurin hajonta, kokeen 1 seuratessa lähellä perässä. Kolmella muulla kokeella oli pieni hajonta. Koe 1 Koe 2 Koe 3 Koe 4 Koe 5 Opiskelija 1 75 82 90 78 84 Opiskelija 2 100 90 95 88 90 Opiskelija 3 40 80 78 90 85 Opiskelija 4 80 35 95 98 92 Opiskelija 5 75 82 90 78 84 =VAR(B2:B6) =VAR(C2:C6) =VAR(D2:D6) =VAR(E2:E6) =VAR(F2:F6) Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIHAJONTA” sivulla 282 ”KESKIHAJONTAA” sivulla 283 ”KESKIHAJONTAPVÄ” sivulla 285 ”KESKIHAJONTA” sivulla 286 ”VARA” sivulla 292 ”VARP” sivulla 293 ”VARPA” sivulla 295 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VARA VARA-funktio palauttaa otosvarianssin, hajonnan määrän, joukosta arvoja, mukaan lukien teksti- ja loogisia arvoja. VARA(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Kaikkien numeeristen arvojen on oltava samaa tyyppiä. Lukuja, päivämääriä ja kestoarvoja ei voida sekoittaa. Käyttöohjeita ÂÂ VARA-funktio laskee otosvarianssin jakamalla datapisteiden poikkeamien neliöiden summan arvojen määrää yhtä pienemmällä luvulla. ÂÂ VARA-funktiota kannattaa käyttää, kun määritellyt arvot edustavat vain otosta suuremmasta populaatiosta. Jos analysoitavat arvot edustavat koko joukkoa tai populaatiota, käytä VARPA-funktiota. ÂÂ VARA antaa kaikille tekstiarvoille arvon 0, loogiselle arvolle EPÄTOSI arvon 0 ja loogiselle arvolle TOSI arvon 1 ja sisällyttää ne laskutoimituksiin. Tyhjät solut jätetään huomioimatta. Jos et halua sisällyttää teksti- tai loogisia arvoja laskutoimitukseen, käytä VAR-funktiota. ÂÂ KESKIHAJONTAA-funktio palauttaa VARA-funktion palauttaman varianssin neliöjuuren. Esimerkki Oletetaan, että olet asentanut lämpöanturin Cupertinoon, Kaliforniaan. Anturi tallentaa joka päivän alimman ja ylimmän lämpötilan. Lisäksi olet pitänyt kirjaa siitä, minä päivinä laitoit ilmastointilaitteen päälle asunnossasi. Seuraavassa taulukossa on muutamien ensimmäisien päivien data ja sitä käytetään otoksena alimpien ja ylimpien lämpötilojen populaatiosta (huomaa, että tämä on vain esimerkki; tämä ei olisi tilastollisesti kelvollista). =VARA(B2:B13) palauttaa 616,3864, VARA-funktion mittaaman poikkeaman, päivän ylimpien lämpötilojen otoksesta. 292 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 293 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIHAJONTA” sivulla 282 ”KESKIHAJONTAA” sivulla 283 ”KESKIHAJONTAPVÄ” sivulla 285 ”KESKIHAJONTA” sivulla 286 ”VAR” sivulla 290 ”VARP” sivulla 293 ”VARPA” sivulla 295 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VARP VARP-funktio palauttaa populaatiovarianssin, hajonnan määrän, joukosta arvoja. VARP(luku-päiväys; luku-päiväys…) ÂÂ luku-päiväys:  Arvo. luku-päiväys on numeroarvo tai päiväys/aika-arvo. ÂÂ luku-päiväys…:  Voit sisällyttää yhden tai useamman lisäarvon. Jos määritellään useampi kuin yksi luku-päiväys-arvo, kaikkien on oltava samaa tyyppiä. Käyttöohjeita ÂÂ VARP-funktio selvittää populaatiovarianssin (otosvarianssin sijaan) jakamalla datapisteiden poikkeamien neliöiden summan arvojen määrällä. ÂÂ VARP-funktiota kannattaa käyttää, kun määritellyt arvot edustavat koko joukkoa tai populaatiota. Jos analysoitavat arvot edustavat vain otosta suuremmasta populaatiosta, käytä VAR-funktiota. ÂÂ Jos haluat sisällyttää teksti- tai loogisia arvoja laskutoimitukseen, käytä VARPAfunktiota. ÂÂ KESKIHAJONTAPVÄ-funktio palauttaa VARP-funktion palauttaman varianssin neliöjuuren. Esimerkki Oletetaan, että olet pitänyt viisi koetta ryhmälle opiskelijoita. Sinulla on hyvin pieni luokka ja tämä edustaa koko opiskelijapopulaatiota. Käyttäen VARP-funktiota tähän populaatiodataan voit määritellä missä kokeessa koetulokset erosivat toisistaan eniten. VARP-funktion tulokset ovat noin 416,00; 481,60; 72,24; 52,16 ja 8,96. Kokeella 2 oli siis suurin hajonta, kokeen 1 seuratessa lähellä perässä. Kolmella muulla kokeella oli pieni hajonta. Koe 1 Koe 2 Koe 3 Koe 4 Koe 5 Opiskelija 1 75 82 90 78 84 Opiskelija 2 100 90 95 88 90 Opiskelija 3 40 80 78 90 85 Opiskelija 4 80 35 95 98 92 Opiskelija 5 75 82 90 78 84 =VARP(B2:B6) =VARP(C2:C6) =VARP(D2:D6) =VARP(E2:E6) =VARP(F2:F6) Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIHAJONTA” sivulla 282 ”KESKIHAJONTAA” sivulla 283 ”KESKIHAJONTAPVÄ” sivulla 285 ”KESKIHAJONTA” sivulla 286 ”VAR” sivulla 290 ”VARA” sivulla 292 ”VARPA” sivulla 295 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 294 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 295 VARPA VARPA-funktio palauttaa otosvarianssin, hajonnan määrän, joukosta arvoja, mukaan lukien teksti- ja loogisia arvoja. VARPA(arvo; arvo…) ÂÂ arvo:  Arvo. arvo voi sisältää minkä tahansa arvotyypin. ÂÂ arvo…:  Voit sisällyttää yhden tai useamman lisäarvon. Kaikkien numeeristen arvojen on oltava samaa tyyppiä. Lukuja, päivämääriä ja kestoarvoja ei voida sekoittaa. Käyttöohjeita ÂÂ VARPA-funktio selvittää populaatiovarianssin (otosvarianssin sijaan) jakamalla datapisteiden poikkeamien neliöiden summan. ÂÂ VARPA-funktiota kannattaa käyttää, kun määritellyt arvot edustavat koko joukkoa tai populaatiota. Jos analysoitavat arvot edustavat vain otosta suuremmasta populaatiosta, käytä VARA-funktiota. ÂÂ VARPA antaa kaikille tekstiarvoille arvon 0, loogiselle arvolle EPÄTOSI arvon 0 ja loogiselle arvolle TOSI arvon 1 ja sisällyttää ne laskutoimituksiin. Tyhjät solut jätetään huomioimatta. Jos et halua sisällyttää teksti- tai loogisia arvoja laskutoimitukseen, käytä VAR-funktiota. ÂÂ KESKIHAJONTA-funktio palauttaa VARPA-funktion palauttaman varianssin neliöjuuren. Esimerkki Oletetaan, että olet asentanut lämpöanturin Cupertinoon, Kaliforniaan. Anturi tallentaa joka päivän alimman ja ylimmän lämpötilan. Lisäksi olet pitänyt kirjaa siitä, minä päivinä laitoit ilmastointilaitteen päälle asunnossasi. Anturi lakkasi toimimasta muutaman ensimmäisen päivän jälkeen, joten seuraava taulukko on alimpien ja ylimpien lämpötilojen populaatio. =VARPA(B2:B13) palauttaa 565,0208, VARPA-funktion mittaaman poikkeaman, päivän ylimpien lämpötilojen otoksesta. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KESKIHAJONTA” sivulla 282 ”KESKIHAJONTAA” sivulla 283 ”KESKIHAJONTAPVÄ” sivulla 285 ”KESKIHAJONTA” sivulla 286 ”VAR” sivulla 290 ”VARA” sivulla 292 ”VARP” sivulla 293 ”Tutkimustulosten esimerkki” sivulla 354 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ZTESTI ZTESTI-funktio palauttaa Z-testin yksisuuntaisen todennäköisyysarvon. ZTESTI(luku-päiväys-kesto-joukko; luku-päiväys-kesto; keskihajonta) ÂÂ luku-päiväys-kesto-joukko:  Arvojoukko. luku-päiväys-kesto-joukko on joukko, joka sisältää luku-, päiväys- tai kestoarvoja. Kaikkien arvojen on oltava samaa tyyppiä. ÂÂ luku-päiväys-kesto:  Arvo. luku-päiväys-kesto on numeroarvo, päiväys/aika-arvo tai kestoarvo.luku-päiväys-kesto on testattava arvo. ÂÂ keskihajonta:  Valinnaisarvo populaation normaalille poikkeamalle. keskihajonta on numeroarvo ja sen on oltava suurempi kuin 0. Käyttöohjeita ÂÂ Z-testi on tilastollinen testi, joka määrittää, onko otoksen keskiarvon ja populaation keskiarvon ero riittävän suuri ollakseen tilastollisesti merkittävä. Z-testiä käytetään pääasiassa standardoidussa testauksessa. ÂÂ Jos keskihajonta jätetään pois, käytetään oletettua näytteen keskihajontaa. Esimerkki =ZTESTI({57; 75; 66; 98; 92; 80}; 70; 9) palauttaa 0,0147281928162857. 296 Luku 10 Tilastofunktiot Luku 10 Tilastofunktiot 297 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”NORMITA” sivulla 281 ”Tilastofunktioiden luettelo” sivulla 220 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 298 Tekstifunktioiden avulla voidaan käsitellä merkkijonoja. Tekstifunktioiden luettelo iWorkin tekstifunktioita voidaan käyttää taulukoiden kanssa. Funktio Kuvaus ”MERKKI” (sivu 300) MERKKI-funktio palauttaa merkin, joka vastaa desimaalimuotoista Unicode-merkkikoodia. ”SIIVOA” (sivu 300) SIIVOA-funktio poistaa tavallisimmat tulostumattomat merkit (Unicode-merkkikoodit 0 - 31) tekstistä. ”KOODI” (sivu 301) KOODI-funktio palauttaa määritellyn merkkijonon ensimmäisen merkin desimaalimuotoisen Unicode-numeron. ”KETJUTA” (sivu 302) KETJUTA-funktio yhdistää (ketjuttaa) merkkijonoja. ”VALUUTTA” (sivu 303) VALUUTTA-funktio palauttaa merkkijonon, joka on muotoiltu valuuttamääräksi annetusta luvusta. ”VERTAA” (sivu 304) VERTAA-funktio palauttaa TOSI, jos argumentin merkkijonojen kirjainkoko ja sisältö ovat samanlaisia. ”ETSI” (sivu 304) ETSI-funktio palauttaa yhden merkkijonon aloituskohdan toisen sisällä. ”KIINTEÄ” (sivu 305) KIINTEÄ-funktio pyöristää luvun määritellyksi desimaalisijojen määräksi ja palauttaa sitten tuloksen merkkijonoarvona. ”VASEN” (sivu 306) VASEN-funktio palauttaa merkkijonon, joka koostuu annetun merkkijonon vasemmalla puolella olevasta määritellystä merkkimäärästä. Tekstifunktiot 11 Luku 11 Tekstifunktiot 299 Funktio Kuvaus ”PITUUS” (sivu 307) PITUUS-funktio palauttaa merkkijonon merkkien määrän. ”PIENET” (sivu 307) PIENET-funktio palauttaa merkkijonon, joka on kokonaan pieniä kirjaimia, määritellyn merkkijonon merkkien koosta riippumatta. ”POIMI.TEKSTI” (sivu 308) POIMI.TEKSTI-funktio palauttaa merkkijonon, joka koostuu määritellystä kohdasta alkavan merkkijonon annetusta merkkimäärästä. ”ERISNIMI” (sivu 309) ERISNIMI-funktio palauttaa merkkijonon, jonka jokaisen sanan ensimmäinen merkki on isoilla kirjaimilla ja kaikki loput merkit pienillä kirjaimilla, määritellyn merkkijonon merkkien koosta riippumatta. ”KORVAA” (sivu 310) KORVAA-funktio palauttaa merkkijonon, jossa annetun merkkijonon määritelty merkkimäärä on korvattu uudella merkkijonolla. ”TOISTA” (sivu 310) TOISTA-funktio palauttaa merkkijonon, joka sisältää annetun merkkijonon määritellyn monta kertaa. ”OIKEA” (sivu 311) OIKEA-funktio palauttaa merkkijonon, joka koostuu annetun merkkijonon oikealla puolella olevasta määritellystä merkkimäärästä. ”KÄY.LÄPI” (sivu 312) KÄY.LÄPI-funktio palauttaa yhden merkkijonon aloituskohdan toisen sisällä, ottamatta huomioon kirjainten kokoa ja sallien jokerimerkit. ”VAIHDA” (sivu 313) VAIHDA-funktio palauttaa merkkijonon, jossa annetun merkkijonon määritellyt merkit on korvattu uudella merkkijonolla. ”T” (sivu 314) T-funktio palauttaa solun sisältämän tekstin. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muista taulukkolaskentaohjelmista tuotujen taulukoiden kanssa. ”POISTA.VÄLIT” (sivu 315) POISTA.VÄLIT-funktio palauttaa merkkijonon, joka perustuu annettuun merkkijonoon, josta on poistettu ylimääräiset välilyönnit. ”ISOT” (sivu 315) ISOT-funktio palauttaa merkkijonon kokonaan isoilla kirjaimilla, määritellyn merkkijonon merkkien koosta riippumatta. ”ARVO” (sivu 316) ARVO-funktio palauttaa numeroarvon, vaikka argumentti olisi muotoiltu tekstiksi. MERKKI MERKKI-funktio palauttaa merkin, joka vastaa desimaalimuotoista Unicodemerkkikoodia. MERKKI(koodinumero) ÂÂ koodinumero:  Luku, jolle haluat palauttaa vastaavan Unicode-merkin. koodinumero on numeroarvo, jonka on oltava suurempi tai yhtä kuin 32, pienempi tai yhtä kuin 65,535, ja ei yhtä kuin 127. Jos siinä on desimaaliosa, sitä ei huomioida. Huomaa, että merkki 32 on välilyönti. Käyttöohjeita ÂÂ Kaikki Unicode-numerot eivät liity tulostettaviin merkkeihin. ÂÂ Voit käyttää Muokkaus-valikon Erikoismerkit-ikkunaa, josta näet kaikki merkkijoukot ja niiden koodit. ÂÂ KOODI-funktio palauttaa määritellyn merkin numeerisen koodin. Esimerkkejä =MERKKI(98.6) palauttaa ”b”:n, jota edustaa koodi 98. Luvun desimaaliosaa ei oteta huomioon. =KOODI(”b”) palauttaa 98. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KOODI” sivulla 301 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SIIVOA SIIVOA-funktio poistaa tavallisimmat tulostumattomat merkit (Unicode-merkkikoodit 0 - 31) tekstistä. SIIVOA(teksti) ÂÂ teksti:  Teksti, josta haluat poistaa tulostumattomat merkit. teksti voi sisältää minkä tahansa arvotyypin. 300 Luku 11 Tekstifunktiot Luku 11 Tekstifunktiot 301 Käyttöohjeita ÂÂ Tämä funktio voi olla avuksi, jos toisesta ohjelmasta sijoittamasi teksti sisältää ei-toivottuja kysymysmerkkejä, välilyöntejä, laatikoita tai muita odottamattomia merkkejä. ÂÂ SIIVOA-funktio ei poista joitakin vähemmän yleisiä, ei-tulostuvia merkkejä (merkkikoodit 127, 129, 141, 143, 144 ja 157). Jos haluat poistaa nämä merkit, voit käyttää VAIHDA-funktiota ja korvata merkit välillä 0 - 31 olevalla koodilla ennen SIIVOA-funktion käyttöä. ÂÂ POISTA.VÄLIT-funktiolla voit poistaa ylimääräiset välilyönnit tekstistä. Esimerkki Oletetaan, että kopioit toisesta ohjelmasta tekstin ”a b c d e f” ja sijoitat sen soluun A1, mutta solussa näkyy ”a b c ? ?d e f”. Voit kokeilla poistaa odottamattomat merkit SIIVOA-funktiolla: =SIIVOA(A1) palauttaa ”a b c d e f”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”VAIHDA” sivulla 313 ”POISTA.VÄLIT” sivulla 315 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KOODI KOODI-funktio palauttaa määritellyn merkkijonon ensimmäisen merkin desimaalimuotoisen Unicode-numeron. KOODI(koodimerkkijono) ÂÂ koodimerkkijono:  Merkkijono, josta Unicode-arvo palautetaan. koodimerkkijono on merkkijonoarvo. Vain ensimmäistä merkkiä käytetään. Käyttöohjeita ÂÂ Voit käyttää Muokkaus-valikon Erikoismerkit-ikkunaa, josta näet kaikki merkkijoukot ja niiden koodit. ÂÂ MERKKI-funktion avulla voit tehdä KOODI-funktion vastakohdan: muuntaa numeerisen koodin tekstimerkiksi. Esimerkkejä =KOODI(”A”) palauttaa 65, ison kirjaimen ”A” merkkikoodin. =KOODI(”abc”) palauttaa 97, pienen kirjaimen ”a”. =MERKKI(97) palauttaa ”a”. =KOODI(A3) palauttaa 102, pienen kirjaimen ”f”. =KOODI(”三二一”) palauttaa 19,977, ensimmäisen merkin desimaalimuotoisen Unicode-arvon. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”MERKKI” sivulla 300 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KETJUTA KETJUTA-funktio yhdistää (ketjuttaa) merkkijonoja. KETJUTA(merkkijono; merkkijono…) ÂÂ merkkijono:  Merkkijono. merkkijono on merkkijonoarvo. ÂÂ merkkijono…:  Voit sisällyttää yhden tai useamman merkkijonon lisää. Käyttöohjeita ÂÂ KETJUTA-funktion lisäksi voit ketjuttaa merkkijonoja &-merkkijono-operaattorilla. Esimerkkejä Jos solussa A1 on Lorem ja solussa B1 Ipsum, =KETJUTA(B1; ”, ”; A1) palauttaa ”Ipsum, Lorem”. =KETJUTA(”a”; ”b”; ”c”) palauttaa ”abc”. =”a”&”b”&”c” palauttaa ”abc”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 302 Luku 11 Tekstifunktiot Luku 11 Tekstifunktiot 303 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VALUUTTA VALUUTTA-funktio palauttaa merkkijonon, joka on muotoiltu valuuttamääräksi annetusta luvusta. VALUUTTA(num; paikat) ÂÂ num:  Käytettävä luku. num on numeroarvo. ÂÂ paikat:  Valinnainen argumentti, joka määrittelee paikkojen määrän desimaalipisteestä oikealle tai vasemmalle, jossa pyöristyksen tulisi tapahtua. paikat on numeroarvo. Kun pyöristetään määriteltyyn paikkamäärään, käytetään normaalia aritmeettista pyöristystä. Jos viimeinen pois jäävä numero on 5 tai sitä suurempi, tulos pyöristetään ylöspäin. Negatiivisen luvun pyöristyksen tulisi tapahtua desimaalin vasemmalta puolelta (esimerkiksi pyöristys satoihin tai tuhansiin). Esimerkkejä =VALUUTTA(2323,124) palauttaa 2 323,12 €. =VALUUTTA(2323,125) palauttaa 2 323,13 €. =VALUUTTA(99,554; 0) palauttaa 100 €. =VALUUTTA(12; 3) palauttaa 12 000 €. =VALUUTTA(-12; 3) palauttaa (12 000 €), suluilla tarkoitetaan negatiivista määrää. =VALUUTTA(123; -1) palauttaa 120 €. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KIINTEÄ” sivulla 305 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VERTAA VERTAA-funktio palauttaa TOSI, jos argumentin merkkijonojen kirjainkoko ja sisältö ovat samanlaisia. VERTAA(merkkijono-1; merkkijono-2) ÂÂ merkkijono-1:  Ensimmäinen merkkijono. merkkijono-1 on merkkijonoarvo. ÂÂ merkkijono-2:  Toinen merkkijono. merkkijono-2 on merkkijonoarvo. Esimerkkejä =VERTAA(”toledo”; ”toledo”) palauttaa TOSI, sillä kaikki merkit ja niiden kirjainkoot ovat samanlaisia. =VERTAA(”Toledo”; ”toledo”) palauttaa EPÄTOSI, sillä kahden merkkijonon kirjainkoot eivät ole samanlaisia. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ETSI” sivulla 304 ”KÄY.LÄPI” sivulla 312 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ETSI ETSI-funktio palauttaa yhden merkkijonon aloituskohdan toisen sisällä. ETSI(hae-merkkijono, lähdemerkkijono, aloituskohta) ÂÂ hae-merkkijono:  Etsittävä merkkijono. hae-merkkijono on merkkijonoarvo. ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. ÂÂ aloituskohta:  Valinnainen argumentti, joka määrittelee paikan määritellyssä merkkijonossa, josta toiminnon tulisi alkaa. aloituskohta on numeroarvo, jonka on oltava suurempi tai yhtä kuin 1 ja pienempi tai yhtä kuin merkkien määrä lähdemerkkijonossa. Huomautuksia ÂÂ Etsintä huomioi kirjainten koon ja välilyönnit. Jokerimerkit eivät ole sallittuja. Jos haluat käyttää etsinnässä jokerimerkkejä tai jättää kirjainkoon huomioimatta, käytä KÄY.LÄPI-funktiota. 304 Luku 11 Tekstifunktiot Luku 11 Tekstifunktiot 305 ÂÂ Kun määrittelet aloituskohdan, voit aloittaa hae-merkkijono-etsinnän lähdemerkkijonon sisältä eikä sen alusta. Tämä on hyödyllistä etenkin silloin, jos lähdemerkkijonossa voi olla useita hae-merkkijono-argumentteja ja haluaisit määritellä muun aloituskohdan. Jos aloituskohta jätetään pois, sen oletetaan olevan 1. Esimerkkejä =ETSI(”e”; ”where on earth”) palauttaa 3 (”e” on kolmas merkki merkkijonossa ”where on earth”). =ETSI(”e”; ”where on earth”; 8) palauttaa 10 (”e” on tekstin earth ensimmäinen ”e” kun aloitetaan merkistä 8, ”n” tekstissä ”on”). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”VERTAA” sivulla 304 ”KÄY.LÄPI” sivulla 312 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KIINTEÄ KIINTEÄ-funktio pyöristää luvun määriteltyyn desimaalisijojen määrään ja palauttaa sitten tuloksen merkkijonoarvona. KIINTEÄ(num; paikat; ei pilkkuja) ÂÂ num:  Käytettävä luku. num on numeroarvo. ÂÂ paikat:  Valinnainen argumentti, joka osoittaa sijojen määrän desimaalipisteestä oikealle tai vasemmalle, jossa pyöristyksen tulisi tapahtua. paikat on numeroarvo. Kun pyöristetään määrättyyn määrään sijoja, puolikas pyöristetään ylöspäin. Jos merkittävin pudotettava numero on 5 tai suurempi, tulos pyöristetään ylöspäin. Negatiivisen luvun pyöristyksen tulisi tapahtua desimaalin vasemmalta puolelta (esimerkiksi pyöristys satoihin tai tuhansiin). ÂÂ ei pilkkuja:  Valinnainen argumentti, joka ilmaisee käytetäänkö paikkaerotinta tuloksena olevan luvun kokonaislukuosalle. käytä pilkkuja (EPÄTOSI, 0, tai jätetty pois):  Sisällytä tulokseen paikkaerotin. ei pilkkuja (TOSI tai 1):  Älä sisällytä tulokseen paikkaerotinta. Esimerkkejä =KIINTEÄ(6789,123; 2) palauttaa ”6 789,12”. =KIINTEÄ(6789,123; 1; 1) palauttaa ”6 789,1". =KIINTEÄ(6789,123; -2) palauttaa ”6 800”. =KIINTEÄ(12,4; 0) palauttaa ”12”. =KIINTEÄ(12,5; 0) palauttaa ”13”. =KIINTEÄ(4; -1) palauttaa ”0”. =KIINTEÄ(5; -1) palauttaa ”10”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”VALUUTTA” sivulla 303 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VASEN VASEN-funktio palauttaa merkkijonon, joka koostuu annetun merkkijonon vasemmalla puolella olevasta määritellystä merkkimäärästä. VASEN(lähdemerkkijono; merkkijono-pituus) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. ÂÂ merkkijono-pituus:  Valinnainen argumentti, joka määrittelee palautetun merkkijonon halutun pituuden. merkkijono-pituus on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. Käyttöohjeita ÂÂ Jos merkkijono-pituus on suurempi tai yhtä kuin lähdemerkkijonon pituus, palautettava merkkijono on yhtä kuin lähdemerkkijono. Esimerkkejä =VASEN(”one two three”; 2) palauttaa ”on”. =VASEN(”abc”) palauttaa ”a”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: 306 Luku 11 Tekstifunktiot Luku 11 Tekstifunktiot 307 ”POIMI.TEKSTI” sivulla 308 ”OIKEA” sivulla 311 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PITUUS PITUUS-funktio palauttaa merkkijonon merkkien määrän. PITUUS(lähdemerkkijono) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. Käyttöohjeita ÂÂ Mukaan lasketaan kaikki välilyönnit, luvut ja erikoismerkit. Esimerkkejä =PITUUS(”12345”) palauttaa 5. =PITUUS(” abc def ”) palauttaa 9, mikä on kuuden kirjaimen ja alussa, lopussa ja keskellä olevien välilyöntien summa. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 PIENET PIENET-funktio palauttaa merkkijonon, joka on kokonaan pieniä kirjaimia, määritellyn merkkijonon merkkien koosta riippumatta. PIENET(lähdemerkkijono) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. Esimerkkejä =PIENET(”ISOT”) palauttaa ”isot”. =PIENET(”Pienet”) palauttaa ”pienet”. =PIENET(”MiXeD”) palauttaa ”mixed”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ERISNIMI” sivulla 309 ”ISOT” sivulla 315 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 POIMI.TEKSTI POIMI.TEKSTI-funktio palauttaa merkkijonon, joka koostuu annetusta määrästä merkkijonon merkkejä määritellystä kohdasta alkaen. POIMI.TEKSTI(lähdemerkkijono; aloituskohta; merkkijono-pituus) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. ÂÂ aloituskohta:  Paikka määritellyssä merkkijonossa, josta toiminnon tulisi alkaa. aloituskohta on numeroarvo, jonka on oltava suurempi tai yhtä kuin 1 ja pienempi tai yhtä kuin merkkien määrä lähdemerkkijonossa. ÂÂ merkkijono-pituus:  Palautetun merkkijonon haluttu pituus. merkkijono-pituus on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. Käyttöohjeita ÂÂ Jos merkkijono-pituus on suurempi tai yhtä kuin lähdemerkkijonon pituus, palautettava merkkijono on yhtä kuin lähdemerkkijono, aloituskohdan alusta. Esimerkkejä =POIMI.TEKSTI(”lorem ipsum dolor sit amet”; 7; 5) palauttaa ”ipsum”. =POIMI.TEKSTI(”1234567890”; 4; 3) palauttaa ”456”. =POIMI.TEKSTI(”shorten”; 5; 20) palauttaa ”ten”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: 308 Luku 11 Tekstifunktiot Luku 11 Tekstifunktiot 309 ”VASEN” sivulla 306 ”OIKEA” sivulla 311 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ERISNIMI ERISNIMI-funktio palauttaa merkkijonon, jonka jokaisen sanan ensimmäinen merkki on isoilla kirjaimilla ja kaikki loput merkit pienillä kirjaimilla, määritellyn merkkijonon merkkien koosta riippumatta. ERISNIMI(lähdemerkkijono) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. Käyttöohjeita ÂÂ Mitä tahansa ei-aakkosellista merkkiä seuraavaa merkkiä, paitsi heittomerkkiä (‘), käsitellään sanan ensimmäisenä kirjaimena. Siten esimerkiksi mikä tahansa tavuviivaa seuraava kirjain kirjoitetaan isolla kirjaimella. Esimerkkejä =ERISNIMI(”lorem ipsum”) palauttaa ”Lorem Ipsum”. =ERISNIMI(”lorem's ip-sum”) palauttaa ”Lorem's Ip-Sum”. =ERISNIMI(”1a23 b456”) palauttaa ”1A23 B456”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PIENET” sivulla 307 ”ISOT” sivulla 315 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KORVAA palauttaa merkkijonon, jossa annetun merkkijonon määritelty merkkimäärä on korvattu uudella merkkijonolla. KORVAA(lähdemerkkijono; aloituskohta; korvaa pituus; uusi merkkijono) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. ÂÂ aloituskohta:  Paikka määritellyssä merkkijonossa, josta toiminnon tulisi alkaa. aloituskohta on numeroarvo, jonka on oltava suurempi tai yhtä kuin 1. Jos aloituskohta on suurempi kuin merkkien määrä lähdemerkkijonossa, uusi merkkijono lisätään lähdemerkkijonon loppuun. ÂÂ korvaa pituus:  Korvattavien merkkien määrä. korvaa pituus on numeroarvo, jonka on oltava suurempi tai yhtä kuin 1. Jos korvaa pituus on suurempi tai yhtä kuin lähdemerkkijonon pituus, palautettava merkkijono on yhtä kuin uusi merkkijono. ÂÂ uusi merkkijono:  Annetun korvattavan merkkijonon osion korvaava teksti. uusi merkkijono on merkkijonoarvo. Sen ei tarvitse olla saman pituinen kuin korvattu teksti. Esimerkki =KORVAA(”received applicant's forms”; 10; 9; ”Frank”) palauttaa ”received Frank's forms”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”VAIHDA” sivulla 313 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TOISTA TOISTA-funktio palauttaa merkkijonon, joka sisältää annetun merkkijonon määritellyn monta kertaa. TOISTA(lähdemerkkijono; toista luku) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. ÂÂ toista luku:  Tunnetun merkkijonon toistokerrat. toista luku on numeroarvo, jonka on oltava suurempi tai yhtä kuin 0. 310 Luku 11 Tekstifunktiot Luku 11 Tekstifunktiot 311 Esimerkkejä =TOISTA(”*”; 5) palauttaa ”*****”. =TOISTA(”ha”; 3) palauttaa ”hahaha”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 OIKEA OIKEA-funktio palauttaa merkkijonon, joka koostuu annetun merkkijonon oikealla puolella olevasta määritellystä merkkimäärästä. OIKEA(lähdemerkkijono; merkkijono-pituus) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. ÂÂ merkkijono-pituus:  Valinnainen argumentti, joka määrittelee palautetun merkkijonon halutun pituuden. merkkijono-pituus on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1. Käyttöohjeita ÂÂ Jos merkkijono-pituus on suurempi tai yhtä kuin lähdemerkkijonon pituus, palautettava merkkijono on yhtä kuin lähdemerkkijono. Esimerkkejä =OIKEA(”one two three”; 2) palauttaa ”ee”. =OIKEA(”abc”) palauttaa ”c”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”VASEN” sivulla 306 ”POIMI.TEKSTI” sivulla 308 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 KÄY.LÄPI KÄY.LÄPI-funktio palauttaa yhden merkkijonon aloituskohdan toisen sisällä, ottamatta huomioon kirjainten kokoa ja sallien jokerimerkit. KÄY.LÄPI(hae-merkkijono, lähdemerkkijono, aloituskohta) ÂÂ hae-merkkijono:  Etsittävä merkkijono. hae-merkkijono on merkkijonoarvo. ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. ÂÂ aloituskohta:  Valinnainen argumentti, joka määrittelee paikan määritellyssä merkkijonossa, josta toiminnon tulisi alkaa. aloituskohta on numeroarvo, jonka on oltava suurempi tai yhtä kuin 1 ja pienempi tai yhtä kuin merkkien määrä lähdemerkkijonossa. Käyttöohjeita ÂÂ Jokerimerkit ovat sallittuja hae-merkkijonossa. Käytä hae-merkkijonossa * (tähteä) useiden merkkien vastineena tai ? (kysymysmerkkiä) yhden lähdemerkkijonossa olevan merkin vastineena. ÂÂ Kun määrittelet aloituskohdan, voit aloittaa hae-merkkijono-etsinnän lähdemerkkijonon sisältä eikä sen alusta. Tämä on hyödyllistä etenkin silloin, jos lähdemerkkijonossa voi olla useita hae-merkkijono-argumentteja ja haluaisit määritellä muun aloituskohdan. Jos aloituskohta jätetään pois, sen oletetaan olevan 1. ÂÂ Jos haluat ottaa kirjainten koon huomioon etsinnässäsi, käytä ETSI-funktiota. Esimerkkejä =KÄY.LÄPI(”ra”; ”abracadabra”) palauttaa 3; merkkijonon ”ra” ensimmäinen esiintymä alkaa kolmannesta merkistä ”abracadabra”. =KÄY.LÄPI(”ra”; ”abracadabra”; 5) palauttaa 10, merkkijonon ”ra” ensimmäisen esiintymän sijainti, kun aloitat etsinnän kohdasta 5. =KÄY.LÄPI(”*card”; ”Wildcard”) palauttaa 1, sillä hae-merkkijonon alussa oleva tähti vastaa kaikkia ennen ”card”-tekstiä olevia merkkejä. =KÄY.LÄPI("*cad"; ”Wildcard”) palauttaa virheen, sillä merkkijonoa ”cad” ei esiinny. =KÄY.LÄPI("?card"; "Wildcard") palauttaa 4, sillä kysymysmerkki vastaa yhtä juuri ennen ”card”-tekstiä olevaa merkkiä. =KÄY.LÄPI(”c*d”; ”Wildcard”) palauttaa 5, sillä tähti vastaa kaikkia merkkien ”c” ja ”d” välillä olevia merkkejä. =KÄY.LÄPI(”~?”; ”Wildcard? No.") palauttaa 9, sillä aaltoviiva yrittää tulkita seuraavan merkin (kysymysmerkki) kirjaimellisesti (ei jokerimerkkinä) ja kysymysmerkki on yhdeksäs merkki. 312 Luku 11 Tekstifunktiot Luku 11 Tekstifunktiot 313 Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”VERTAA” sivulla 304 ”ETSI” sivulla 304 ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 VAIHDA VAIHDA-funktio palauttaa merkkijonon, jossa annetun merkkijonon määritellyt merkit on korvattu uudella merkkijonolla. VAIHDA(lähdemerkkijono; olemassa oleva merkkijono; uusi merkkijono; esiintymä) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. ÂÂ olemassa oleva merkkijono:  Korvattava merkkijono annetun merkkijonon sisällä. olemassa oleva merkkijono on merkkijonoarvo. ÂÂ uusi merkkijono:  Annetun korvattavan merkkijonon osion korvaava teksti. uusi merkkijono on merkkijonoarvo. Sen ei tarvitse olla saman pituinen kuin korvattu teksti. ÂÂ esiintymä:  Valinnainen arvo, joka määrittelee esiintymät, jotka tulisi korvata. esiintymä on numeroarvo ja sen on oltava suurempi tai yhtä kuin 1 tai jätetty pois. Jos suurempi kuin niiden kertojen määrä, jolloin olemassa oleva merkkijono esiintyy lähdemerkkijonossa, korvausta ei tehdä. Jos jätetty pois, kaikki olemassa olevan merkkijonon esiintymät lähdemerkkijonossa korvataan uudella merkkijonolla. Käyttöohjeita ÂÂ Voit korvata yksittäisiä merkkejä, kokonaisia sanoja tai merkkijonoja sanojen sisällä. Esimerkkejä =VAIHDA(”a b c d e f”; ”b”; ”B”) palauttaa ”a B c d e f”. =VAIHDA(”a a b b b c”; ”a”; ”A”; 2) palauttaa ”a A b b b c”. =VAIHDA(”a a b b b c”; ”b”; ”B”) palauttaa ”a a B B B c”. =VAIHDA(”aaabbccc”; ”bc”; ”BC”; 2) palauttaa ”aaabbccc”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”KORVAA” sivulla 310 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 T T-funktio palauttaa solun sisältämän tekstin. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muista taulukkolaskentaohjelmista tuotujen taulukoiden kanssa. T(solu) ÂÂ solu:  Viittaus yksittäiseen taulukon soluun. solu on viitearvo yksittäiseen soluun, joka voi sisältää minkä tahansa arvon tai olla tyhjä. Käyttöohjeita ÂÂ Jos solu ei sisällä merkkijonoa, T palauttaa tyhjän merkkijonon. Esimerkkejä Jos solu A1 sisältää ”text” ja solu B1 on tyhjä: =T(A1) palauttaa ”text” =T(B1) ei palauta mitään. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 314 Luku 11 Tekstifunktiot Luku 11 Tekstifunktiot 315 POISTA.VÄLIT POISTA.VÄLIT-funktio palauttaa merkkijonon, joka perustuu annettuun merkkijonoon, josta on poistettu ylimääräiset välilyönnit. POISTA.VÄLIT(lähdemerkkijono) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. Käyttöohjeita ÂÂ POISTA.VÄLIT poistaa kaikki välilyönnit ennen ensimmäistä merkkiä, kaikki välilyönnit viimeisen merkin jälkeen ja kaikki kaksinkertaiset välilyönnit merkkien välistä, jolloin sanojen väliin jää vain yksi välilyönti. Esimerkki =POISTA.VÄLIT(” spaces spaces spaces ”) palauttaa ”spaces spaces spaces” (alussa ja lopussa olevat välilyönnit poistettiin). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ISOT ISOT-funktio palauttaa merkkijonon, joka on kokonaan isoja kirjaimia, määritellyn merkkijonon merkkien koosta riippumatta. ISOT(lähdemerkkijono) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. Esimerkkejä =ISOT(”a b c”) palauttaa ”A B C”. =ISOT(”Ensimmäinen”) palauttaa ”ENSIMMÄINEN”. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”PIENET” sivulla 307 ”ERISNIMI” sivulla 309 ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ARVO ARVO-funktio palauttaa numeroarvon, vaikka argumentti olisi muotoiltu tekstiksi. Tämä funktio on sisällytetty yhteensopivuuden vuoksi muista taulukkolaskentaohjelmista tuotujen taulukoiden kanssa. ARVO(lähdemerkkijono) ÂÂ lähdemerkkijono:  Merkkijono. lähdemerkkijono on merkkijonoarvo. Käyttöohjeita ÂÂ ARVO-funktiota ei tarvitse koskaan käyttää uudessa taulukossa, koska tekstimuotoiset numerot muunnetaan automaattisesti. ÂÂ Vain muotoiltu teksti muunnetaan. Esimerkiksi, jos soluun on kirjoitettu merkkijono 100,001 €, oletusmuoto näyttää vain kaksi desimaalia (100,00 €). Jos ARVO viittaa tähän soluun, se palauttaa 100, joka on muotoillun tekstin arvo, ei 100,001. ÂÂ Jos argumenttia ei voida muuntaa numeroksi (se ei sisällä numeroa), funktio palauttaa virheen. Esimerkkejä =ARVO(”22”) palauttaa numeron 22. =ARVO(OIKEA(”Vuosi 1953”; 2)) palauttaa numeron 53. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Tekstifunktioiden luettelo” sivulla 298 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 316 Luku 11 Tekstifunktiot 317 Trigonometriset funktiot auttavat kulmien ja niiden komponenttien kanssa työskentelemisessä. Trigonometristen funktioiden luettelo iWork tarjoaa taulukoiden kanssa käytettäviksi seuraavat trigonometriset funktiot. Funktio Kuvaus ”ACOS” (sivu 318) ACOS-funktio palauttaa luvun käänteisen kosinin (arkuskosinin). ”ACOSH” (sivu 319) ACOSH-funktio palauttaa luvun käänteisen hyperbolisen kosinin (hyperbolisen arkuskosinin). ”ASIN” (sivu 320) ASIN-funktio palauttaa luvun arkussinin (käänteisen sinin). ”ASINH” (sivu 321) ASINH-funktio palauttaa luvun käänteisen hyperbolisen sinin. ”ATAN” (sivu 321) ATAN-funktio palauttaa luvun käänteisen tangentin (arkustangentin). ”ATAN2” (sivu 322) ATAN2-funktio palauttaa kulman, jonka muodostavat origon ja määritellyn pisteen kautta kulkeva suora ja positiivinen x-akseli. ”ATANH” (sivu 323) ATANH-funktio palauttaa luvun käänteisen hyperbolisen tangentin. ”COS” (sivu 324) COS-funktio palauttaa radiaaneina ilmaistun kulman kosinin. ”COSH” (sivu 325) COSH-funktio palauttaa luvun hyperbolisen kosinin. Trigonometriset funktiot 12 Funktio Kuvaus ”ASTEET” (sivu 325) ASTEET-funktio palauttaa radiaaneina ilmaistun kulman asteluvun. ”RADIAANIT” (sivu 326) RADIAANIT-funktio palauttaa asteina ilmaistun kulman radiaaniluvun. ”SIN” (sivu 327) SIN-funktio palauttaa radiaaneina ilmaistun kulman sinin. ”SINH” (sivu 328) SINH-funktio palauttaa määritellyn luvun hyperbolisen sinin. ”TAN” (sivu 329) TAN-funktio palauttaa radiaaneina ilmaistun kulman tangentin. ”TANH” (sivu 330) TANH-funktio palauttaa määritellyn luvun hyperbolisen tangentin. ACOS ACOS-funktio palauttaa luvun käänteisen kosinin (arkuskosinin). ACOS(num) ÂÂ num:  Numero. num on numeroarvo väliltä -1 ja 1. Käyttöohjeita ÂÂ ACOS-funktio käyttää kosiniarvoa ja palauttaa sitä vastaavan kulman. Tuloksena oleva kulma ilmaistaan radiaaneina ja sen arvo on välillä 0 ja π (pii). Jos haluat nähdä tuloksena olevan kulman radiaanien sijaan asteina, lisää kaavaan tämän funktion sisältävä ASTEET-funktio seuraavasti: =ASTEET(ACOS(num)). Esimerkkejä =ACOS(NELIÖJUURI(2)/2) palauttaa 0,785398163397448, mikä on likimäärin π/4. =ACOS(0,54030230586814) palauttaa 1. =ASTEET(ACOS(,5)) palauttaa 60 eli asteluvun kulmalle, jonka kosini on 0,5. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ACOSH” sivulla 319 ”COS” sivulla 324 ”COSH” sivulla 325 ”ASTEET” sivulla 325 ”Trigonometristen funktioiden luettelo” sivulla 317 318 Luku 12 Trigonometriset funktiot Luku 12 Trigonometriset funktiot 319 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ACOSH ACOSH-funktio palauttaa luvun käänteisen hyperbolisen kosinin (hyperbolisen arkuskosinin). ACOSH(num) ÂÂ num:  Numero. num on lukuarvo ja sen on oltava suurempi tai yhtä suuri kuin 1. Esimerkkejä =ACOSH(10,0676619957778) palauttaa 3. =ACOSH(COSH(5)) palauttaa 5. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ACOS” sivulla 318 ”COS” sivulla 324 ”COSH” sivulla 325 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ASIN ASIN-funktio palauttaa luvun arkussinin (käänteisen sinin). ASIN(num) ÂÂ num:  Numero. num on lukuarvo ja sen on oltava suurempi tai yhtä suuri kuin 1. Käyttöohjeita ÂÂ ASIN-funktio käyttää siniarvoa ja palauttaa sitä vastaavan kulman. Tuloksena oleva kulma ilmaistaan radiaaneina ja sen arvo on välillä-pii/2 ja+pii/2. Jos haluat nähdä tuloksena olevan kulman radiaanien sijaan asteina, lisää kaavaan tämän funktion sisältävä ASTEET-funktio seuraavasti: =ASTEET(ASIN(num)). Esimerkkejä =ASIN(0,841470985) palauttaa 1 eli radiaaniluvun (likimäärin 57,3 astetta) kulmalle, jonka sini on 0,8411470984807897. =ASTEET(ASIN(0,5)) palauttaa 30 eli asteluvun kulmalle, jonka sini on 0,5. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ASINH” sivulla 321 ”ASTEET” sivulla 325 ”SIN” sivulla 327 ”SINH” sivulla 328 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 320 Luku 12 Trigonometriset funktiot Luku 12 Trigonometriset funktiot 321 ASINH ASINH-funktio palauttaa luvun käänteisen hyperbolisen sinin. ASINH(num) ÂÂ num:  Numero. num on numeroarvo. Esimerkkejä =ASINH(27,2899171971277) palauttaa 4. =ASINH(SINH(1)) palauttaa 1. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ASIN” sivulla 320 ”SIN” sivulla 327 ”SINH” sivulla 328 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ATAN ATAN-funktio palauttaa luvun käänteisen tangentin (arkustangentin). ATAN(num) ÂÂ num:  Numero. num on numeroarvo. Käyttöohjeita ÂÂ ATAN-funktio käyttää tangenttia ja palauttaa sitä vastaavan kulman ilmaistuna radiaaneina. Kulman arvo on välillä -pii/2 ja +pi/2. Jos haluat nähdä tuloksena olevan kulman radiaanien sijaan asteina, lisää kaavaan tämän funktion sisältävä ASTEETfunktio seuraavasti: =ASTEET(ATAN(num)). Esimerkkejä =ATAN(1) palauttaa 0,785398163 radiaanin (45 asteen) kulman, jonka tangentti on 1. =ASTEET(ATAN(1)) palauttaa 45. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ATAN2” sivulla 322 ”ATANH” sivulla 323 ”ASTEET” sivulla 325 ”TAN” sivulla 329 ”TANH” sivulla 330 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ATAN2 ATAN2-funktio palauttaa kulman, jonka muodostavat origon ja määritellyn pisteen kautta kulkeva suora ja positiivinen x-akseli. ATAN2(x-piste; y-piste) ÂÂ x-piste:  x-koordinaatti pisteestä, jonka läpi suora kulkee. x-piste on numeroarvo. ÂÂ y-piste:  y-koordinaatti pisteestä, jonka läpi suora kulkee. y-piste on numeroarvo. Käyttöohjeita ÂÂ Kulma ilmaistaan radiaaneina ja sen arvo on välillä -pii ja +pii. Jos haluat nähdä tuloksena olevan kulman radiaanien sijaan asteina, lisää kaavaan tämän funktion sisältävä ASTEET-funktio seuraavasti: =ASTEET(TAN(x-piste; y-piste)). Esimerkkejä =ATAN2(1; 1) palauttaa 0,78539816 radiaania (45 astetta) eli origosta pisteeseen (1, 1) kulkevan janan kulman. =ASTEET(ATAN2(5; 5)) palauttaa 45. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ATAN” sivulla 321 ”ATANH” sivulla 323 322 Luku 12 Trigonometriset funktiot Luku 12 Trigonometriset funktiot 323 ”ASTEET” sivulla 325 ”TAN” sivulla 329 ”TANH” sivulla 330 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ATANH ATANH-funktio palauttaa luvun käänteisen hyperbolisen tangentin. ATANH(num) ÂÂ num:  Numero. num on numeroarvo ja sen on oltava suurempi kuin -1 ja pienempi kuin 1. Esimerkkejä =ATANH(0,995054753686731) palauttaa 3. =ATANH(TANH(2)) palauttaa 2. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ATAN” sivulla 321 ”ATAN2” sivulla 322 ”TAN” sivulla 329 ”TANH” sivulla 330 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 COS COS-funktio palauttaa radiaaneina ilmaistun kulman kosinin. COS(radiaanikulma) ÂÂ radiaanikulma:  Radiaaneina ilmaistu kulma. radiaanikulma on numeroarvo. Vaikka se voi olla mikä tahansa arvo, se on yleensä -π ja +π väliltä (-pii ja +pii). Käyttöohjeita ÂÂ Jos haluat palauttaa kulman asteina, käytä tämän funktion yhteydessä ASTEETfunktiota (muuntaaksesi radiaanit asteiksi) seuraavasti: =ASTEET(COS(radiaanikulma)). Esimerkkejä =COS(1) palauttaa 0,540302306 eli 1 radiaanin (likimäärin 57,3 astetta) kosinin. =COS(RADIAANIT(60)) palauttaa 0,5 eli 60 asteen kosinin. =COS(PII()/3) palauttaa 0,5, π/3 radiaania (60 astetta). =COS(PII()) palauttaa -1, π radiaanin kosini (180 astetta). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ACOS” sivulla 318 ”ACOSH” sivulla 319 ”COSH” sivulla 325 ”ASTEET” sivulla 325 ”SIN” sivulla 327 ”TAN” sivulla 329 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 324 Luku 12 Trigonometriset funktiot Luku 12 Trigonometriset funktiot 325 COSH COSH-funktio palauttaa luvun hyperbolisen kosinin. COSH(num) ÂÂ num:  Numero. num on numeroarvo. Esimerkkejä =COSH(0) palauttaa 1. =COSH(1) palauttaa 1,543. =COSH(5) palauttaa 74,21. =COSH(10) palauttaa 11013,233. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ACOS” sivulla 318 ”ACOSH” sivulla 319 ”COS” sivulla 324 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 ASTEET ASTEET-funktio palauttaa radiaaneina ilmaistun kulman asteluvun. ASTEET(radiaanikulma) ÂÂ radiaanikulma:  Radiaaneina ilmaistu kulma. radiaanikulma on numeroarvo. Vaikka se voi olla mikä tahansa arvo, se on yleensä -2π ja +2π väliltä (-2pii ja +2pii). Esimerkkejä =ASTEET(PII()) palauttaa 180 (π radiaania = 180 astetta). =ASTEET(1) palauttaa 57,2957795130823, mikä on yhtä radiaania vastaavan asteluvun likiarvo. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ACOS” sivulla 318 ”ASIN” sivulla 320 ”ATAN” sivulla 321 ”ATAN2” sivulla 322 ”COS” sivulla 324 ”SIN” sivulla 327 ”TAN” sivulla 329 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 RADIAANIT RADIAANIT-funktio palauttaa asteina ilmaistun kulman radiaaniluvun. RADIAANIT(astekulma) ÂÂ astekulma:  Asteina ilmaistu kulma. astekulma on numeroarvo. Vaikka arvo voi olla mikä tahansa, se on tavallisesti välillä -360 ja +360. Käyttöohjeita ÂÂ Tämä funktio on hyödyllinen, jos haluat käyttää asteina ilmaistua kulmaa jossakin tavallisista geometrisista funktioista, sillä niissä kaikissa oletetaan, että kulmat ilmaistaan radiaaneina. Sisällytä asteina ilmaistu argumentti tähän funktioon esimerkiksi seuraavasti: =COS(RADIAANIT(astekulma). Esimerkkejä =RADIAANIT(90) palauttaa 1,5708 (90 astetta on likimäärin 1,5708 radiaania). =RADIAANIT(57,2957795130823) palauttaa 1 (1 radiaani on likimäärin 57,296 astetta). Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ACOS” sivulla 318 ”ASIN” sivulla 320 ”ATAN” sivulla 321 326 Luku 12 Trigonometriset funktiot Luku 12 Trigonometriset funktiot 327 ”ATAN2” sivulla 322 ”COS” sivulla 324 ”SIN” sivulla 327 ”TAN” sivulla 329 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SIN SIN-funktio palauttaa radiaaneina ilmaistun kulman sinin. SIN(radiaanikulma) ÂÂ radiaanikulma:  Radiaaneina ilmaistu kulma. radiaanikulma on numeroarvo. Vaikka se voi olla mikä tahansa arvo, se on yleensä -π ja +π väliltä (-pii ja +pii). Käyttöohjeita ÂÂ Jos haluat palauttaa kulman asteina, käytä tämän funktion yhteydessä ASTEETfunktiota (muuntaaksesi radiaanit asteiksi) seuraavasti: =ASTEET(SIN(radiaanikulma)). Esimerkkejä =SIN(1) palauttaa 0,841470985 eli 1 radiaanin (likimäärin 57,3 astetta) sinin. =SIN(RADIAANIT(30)) palauttaa 0,5 eli 30 asteen sinin. =SIN(PII()/2) palauttaa 1 eli π/2 radiaanin (90 asteen) sinin. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ASIN” sivulla 320 ”ASINH” sivulla 321 ”COS” sivulla 324 ”ASTEET” sivulla 325 ”SINH” sivulla 328 ”TAN” sivulla 329 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 SINH SINH-funktio palauttaa määritellyn luvun hyperbolisen sinin. SINH(num) ÂÂ num:  Numero. num on numeroarvo. Esimerkkejä =SINH(0) palauttaa 0. =SINH(1) palauttaa 1,175. =SINH(5) palauttaa 74,203. =SINH(10) palauttaa 11013,233. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ASIN” sivulla 320 ”ASINH” sivulla 321 ”SIN” sivulla 327 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 328 Luku 12 Trigonometriset funktiot Luku 12 Trigonometriset funktiot 329 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TAN TAN-funktio palauttaa radiaaneina ilmaistun kulman tangentin. TAN(radiaanikulma) ÂÂ radiaanikulma:  Radiaaneina ilmaistu kulma. radiaanikulma on numeroarvo. Vaikka arvo voi olla mikä tahansa, se on tavallisesti välillä -pii ja +pii. Käyttöohjeita ÂÂ Tangentti on sinin ja kosinin suhde. ÂÂ Jos haluat palauttaa kulman asteina, käytä tämän funktion yhteydessä ASTEET-funktiota (muuntaaksesi radiaanit asteiksi) seuraavasti: =ASTEET(TAN(radiaanikulma)). Esimerkkejä =TAN(1) palauttaa 1,557407725 eli 1 radiaanin (likimäärin 57,3 astetta) tangentin. =TAN(RADIAANIT(45)) palauttaa 1 eli 45 asteen kulman tangentin. =TAN(3*PII()/4) palauttaa -1. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ATAN” sivulla 321 ”ATAN2” sivulla 322 ”ATANH” sivulla 323 ”COS” sivulla 324 ”ASTEET” sivulla 325 ”SIN” sivulla 327 ”TANH” sivulla 330 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 TANH TANH-funktio palauttaa määritellyn luvun hyperbolisen tangentin. TANH(num) ÂÂ num:  Numero. num on numeroarvo. Esimerkkejä =TANH(0) palauttaa 0. =TANH(1) palauttaa 0,762. =TANH(5) palauttaa 0,999909. =TANH(10) palauttaa 0,999999996. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”ATAN” sivulla 321 ”ATAN2” sivulla 322 ”ATANH” sivulla 323 ”TAN” sivulla 329 ”Trigonometristen funktioiden luettelo” sivulla 317 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 ”Esimerkkien kopioiminen ja sijoittaminen ohjeista” sivulla 39 330 Luku 12 Trigonometriset funktiot 331 Syvällisiä esimerkkejä tai lisäaiheita, jotka havainnollistavat, miten voit käyttää joitakin monimutkaisimmista funktioista. Mukana muita esimerkkejä ja aiheita Seuraava taulukko kertoo, mistä löydät syvällisempiä esimerkkejä ja lisäaiheita, jotka havainnollistavat, miten voit käyttää joitakin monimutkaisempia funktioita oikeaan elämään liittyvillä esimerkeillä. Jos haluat nähdä esimerkin tai saada lisätietoa Katso tätä osiota rahoitusfunktioissa käytettyjen argumenttien määritelmistä ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 rahan aika-arvo (TVM) -funktioista ”Käytettävän Rahan aika-arvo -funktion valitseminen” sivulla 339 TVM-funktioista, jotka käsittelevät kiinteitä jaksottaisia rahavirtoja ja kiinteitä korkoja ”Säännölliset rahavirrat ja aikavälit” sivulla 339 TVM-funktioista, jotka voivat käsitellä epätasaisia (jaksottain vaihtuvia) rahavirtoja ”Säännölliset rahavirrat ja aikavälit” sivulla 340 funktiosta, joka saattaa olla kaikkein paras vastaamaan tavallaisiin rahoituskysymyksiin ”MItä funktiota tulisi käyttää tavallisten rahoituskysymysten ratkaisemiseen?” sivulla 341 talousfunktioiden käyttämisestä lainanlyhennystaulukon tekemiseen ”Esimerkki lainanlyhennystaulukosta” sivulla 343 funktioista, joilla pyöristetään numeroita ”Lisää pyöristämisestä” sivulla 346 loogisten ja informaatiofunktioiden käyttämisestä yhdessä tehokkaiden kaavojen luomiseen ”Loogisten ja informaatiofunktioiden käyttäminen yhdessä” sivulla 349 ehtojen ymmärtäminen ja jokerimerkkien käyttäminen ehtojen kanssa ”Ehtojen määritteleminen ja jokerimerkkien käyttäminen” sivulla 351 tilastofunktioiden käyttämisestä tutkimuksen tuloksien analysoimiseen ”Tutkimustulosten esimerkki” sivulla 354 Muita esimerkkejä ja aiheita 13 Tavalliset rahoitusfunktioissa käytetyt argumentit Monet argumentit ovat yhteisiä samankaltaisissa rahoitusfunktioissa. Tässä osassa on tietoa näistä argumenteista. Päivämääräargumentit (liikkeellelaskupäivä, erääntymispäivä, ja maksa) eivät ole mukana. Argumentit, joita käytetään vain yhdessä rahoitusfunktiossa, eivät ole myöskään mukana. vuosikorko Obligaatioilla ja muilla kiinteäkorkoisilla, korkoa maksavilla arvopapereilla on määrätty jaksottainen tai vuosittainen korkokanta, jonka mukaan määritetään jaksottaiset korkomaksut. vuosikorkoargumenttia käytetään edustamaan vuosittaista korkokantaa, kutsutaan sitä sitten jaksottaiseksi tai vuosittaiseksi korkokannaksi. jaksottainen korko on määritelty desimaaliksi, joka edustaa vuosittaista jaksoihin perustuvaa korkokantaa. Joissain funktioissa jaksottainen korko voi olla 0 (jos arvopaperi ei maksa jaksoittaista korkoa), mutta jaksottainen korko ei voi olla negatiivinen. Kuvittele, että omistuksessasi on arvopaperi, jonka nimellisarvo on 1 000 000 € ja joka maksaa vuosittaista korkoa 4,5 % perustuen arvopaperin nimellisarvoon. jaksottainen korko olisi 0,045. Maksun taajuus-argumentilla ei ole vaikutusta. vuosituotto Obligaatioilla ja muilla korkoa maksavilla ja diskontatuilla arvopapereilla on tuotto, joka lasketaan käyttäen jaksottaista korkokantaa ja obligaation nykyistä hintaa. vuosituotto on määritelty desimaaliksi, joka edustaa arvopaperin vuosittaista tuottoa, joka yleensä esitetään prosenttiarvona. vuosituotto on oltava suurempi kuin 0. Kuvittele suunnittelevasi määrätyn arvopaperin ostamista. Kun arvopaperin hinta laskee, sen tuotto nousee. Sitä vastoin, kun arvopaperin hinta nousee, sen tuotto laskee. Meklarisi tarkistaa hintanäytöt ja kertoo sinulle, että harkitsemasi arvopaperin jaksottainen korko on 3,25 % ja vuosituotto on 4,5 % sen nykyiseen hintaa perustuen. (Arvopaperi myydään nimellisarvoaan halvemmalla.) vuosituotto olisi 0,045. kassa-virta Annuiteeteilla, lainoilla ja sijoituksilla on kassavirtoja. Yksi kassavirta on alkuperäinen saatu tai maksettu erä, jos sellainen on. Muut kassavirrat ovat muita vastaanotettuja tai maksettuja eriä määrättyinä aikoina. kassavirta on määritelty numeroksi, joka yleensä kerrotaan valuuttana. Vastaanotetut erät, eli saatavat ovat positiivisia numeroita ja maksetut erät ovat negatiivisia numeroita. Kuvittele, että suunnittelet ostavasi talon, jonka vuokraat määrätyksi ajaksi ja myyt sen jälkeen. Ensimmäinen käteisellä maksettu erä (joka saattaa koostua käsirahasta ja kaupan toimituskuluista), lainan maksuerät, korjaukset ja ylläpito, mainostaminen ja muut vastavat kulut ovat maksuja (negatiivisia kassavirtoja). Vuokralaisten maksamat vuokrat, verotusedut ja talon myynnistä saatu tuotto ovat saatavia (positiivisia kassavirtoja). hinta Alkuperäinen varallisuuserä, josta poistot tehdään, on yleensä ostohinta, johon lasketaan mukaan verot, toimitus- ja muut kulut. Joitain veroetuja voidaan vähentää hinnasta. hinta on numero, joka yleensä ilmoitetaan jossain valuutassa. hinta on oltava suurempi kuin 0. Kuvittele, että ostat uuden digitaalisen kopiokoneen toimistoosi. Kopiokoneen hankintahinta veroineen oli 2 625 €. Myyjä veloitti 100 € toimituksesta ja asennuksesta. Kopiokonetta oletetaan käytettävän 4 vuotta, jonka jälkeen sen oletettu myyntiarvo on 400 €. hinta olisi 2725 €. 332 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 333 erääntyy Katso aiheen käsittely kohdassa erääntyy. Ainoa ero on että funktiot, joissa käytetään erääntyyargumenttia, vaativat, että argumentti on määritetty ja eivät oleta mitään arvoa, jos se jätetään pois. päivien laskentaperuste Kun määritellään lainan tai sijoituksen korkoa, kuukaudessa olevien päivien ja vuodessa olevien päivien laskemiseen on olemassa monta erilaista tapaa. päivien laskentaperuste -argumenttia käytetään määrittämään kuinka monta päivää lasketaan määrätylle sijoitukselle tai lainalle. päivien laskentaperuste määritetään usein markkinoilla käytetyn tavan mukaan ja se saattaa olla erilainen eri tyypisissä sijoituksissa. Tai päivien laskentaperuste saattaa olla määritetty lainapapereissa. päivien laskentaperuste on modaalinen argumentti. Se on määritetty numeroksi 0, 1, 2, 3 tai 4. ÂÂ Arvo 0 määrittää, että korkoa laskettaessa jokaisessa täydessä kuukaudessa on 30 päivää ja vuodessa on 360 päivää käyttäen NASD-metodia päivämäärille, jotka osuvat kuukauden 31. päivälle. Tämä tunnetaan 30/360-käytäntönä. 0 (30/360-käytäntö) on oletusarvo. Jos NASD-metodissa aloituspäivän päiväarvo (esimerkiksi tilityspäivä) on 31, sitä käsitellään kuin se olisi 30. Jos päiväarvo on helmikuun viimeinen päivä, sitä ei muunneta, joten tässä tapauksessa helmikuussa on alle 30 päivää. Jos päiväarvo lopetuspäivälle (esimerkiksi erääntymispäivä) on 31 ja aloituspäivän päiväarvo on aikaisempi kuin saman kuun 30. päivä, lopetuspäiväksi oletetaan seuraavan kuun ensimmäinen päivä. Muuten sen oletetaan olevan saman kuun 30. päivä, jolloin tulos on 0 päivää. ÂÂ Arvo 1 määrittää, että jokaiselle täydelle kuulle käytetään kyseisen kuun oikeaa päivien määrää ja vuodelle käytetään sen todellista päivien määrää. Tämä tunnetaan nimellä todellinen/todellinenkäytäntö. ÂÂ Arvo 2 määrittää, että jokaiselle täydelle kuulle käytetään kyseisen kuun oikeaa päivien määrää ja jokaiselle täydelle vuodelle käytetään arvoa 360 päivää. Tämä tunnetaan nimellä todellinen/360- käytäntö. ÂÂ Arvo 3 määrittää, että jokaiselle täydelle kuulle käytetään kyseisen kuun oikeaa päivien määrää ja jokaiselle täydelle vuodelle käytetään arvoa 365 päivää. Tämä tunnetaan nimellä todellinen/365- käytäntö. ÂÂ Arvo 4 määrittää, että jokaisessa täydessä kuukaudessa on 30 päivää ja vuodessa on 360 päivää käyttäen eurooppalaista metodia päivämäärille, jotka osuvat kuukauden 31. päivälle. Tämä tunnetaan nimellä 30E/360-käytäntö. Eurooppalaisessa metodissa kuukauden 31. päivä lasketaan aina saman kuukauden 30. päiväksi. Helmikuussa lasketaan aina olevan 30 päivää, eli jos helmikuun viimeinen päivä on 28. päivä se lasketaan helmikuun 30. päiväksi. Kuvittele, että haluat määrittää koron arvopaperille, jonka myöntäjä on amerikkalainen yritys. Useimmissa tällaisissa arvopapereissa käytetään 30/360-metodia koron määrittämiseen, joten päivien laskentaperuste olisi 0, eli oletusarvo. Tai kuvittele, että haluat määrittää koron Yhdysvaltojen valtion obligaatiolle. Nämä obligaatiot maksavat yleensä korkoa perustuen jokaisen kuukauden todelliseen päivien määrään ja jokaisen vuoden todelliseen päivien määrään, joten päivien laskentaperuste olisi 1. poistokerroin Määrätyissä kaavoissa voidaan määrittää nopeutetun poiston määrä (tasapoistoja nopeampi poisto). poistokerroin-argumenttia käytetään määrittämään vuosittaisen poiston määrä. poistokerroin on määritetty desimaalinumeroksi tai prosenttiarvoksi (käyttäen prosenttimerkkiä). Kuvittele, että olet ostanut uuden tietokoneen. Keskusteltuasi veroasiantuntijan kanssa saat tietää, että tietokoneen voi poistaa nopeutetusti. Päätät käyttää poistoprosenttia, joka on 150 % tasapoistosta, eli poistokerroin olisi 1,5. poistokausi Jotkut funktiot palauttavat poiston määrän määrätylle kaudelle.poistokausi-argumentilla määritetään kausi. poistokausi on määritelty numeroksi, joka edustaa haluttua poistokautta käyttäen samaa aikakehystä (esimerkiksi kuukausittainen, neljännesvuosittainen tai vuosittainen) arvona aika. Kuvittele, että ostat uuden digitaalisen kopiokoneen toimistoosi. Kopiokoneen hankintahinta veroineen oli 2 625 €. Myyjä veloitti 100 € toimituksesta ja asennuksesta. Kopiokonetta oletetaan käytettävän 4 vuotta, jonka jälkeen sen oletettu myyntiarvo on 400 €. Jos haluat määrittää poiston kolmannelle vuodelle, poistokausi olisi 3. efektiivinen korko Annuiteeteilla ja sijoituksilla on efektiivinen korko, joka lasketaan käyttäen nimellistä (ilmoitettua tai jaksottaista) korkokantaa ja koronmaksuerien määrää vuodessa. efektiivinen korko määritellään desimaalinumerona ja sen on oltava suurempi kuin 0. Kuvittele, että omistat arvopaperin, jonka nimellinen arvo on 1 000 000 €, joka maksaa neljännesvuosittain vuosittaista 4,5 % korkoa perustuen arvopaperin nimellisarvoon, joten efektiivinen korkokanta on noin 4,58 %. efektiivinen korko olisi 0,0458. Katso myös aiheen kuvaus kohdista nimelliskorko ja luku-kaudet-vuosi. viimeinen kausi Jotkin funktiot palauttavat pääoman tai koron sarjalle määrättyjä maksuja. viimeinen kausiargumenttia käytetään ilmoittamaan viimeinen maksuerä, joka otetaan mukaan palautettavaan arvoon. Katso myös aiheen käsittely kohdassa aloituskausi. viimeinen kausi on numeroarvo ja sen on oltava suurempi kuin 0. Kuvittele, että olet ostamassa kotia. Pankki tarjoaa sinulle lainan, jonka alkusaldo on 200 000 €, laina-aika 10 vuotta, vuosittainen korko 6,0 %, kiinteä kuukausittainen maksuerä 1070,45 € ja saldo uudelleen rahoitettavaksi erääntymispäivänä 100 000 €. Jos haluat tietää kolmantena vuonna maksetun koron määrän, aloituskausi olisi 25 ja viimeinen kausi olisi 36. arvio Arviota odotettavasta tuloksesta käytetään joissain rahoitusfunktioissa. arvio on määritelty desimaalinumeroksi. Esimerkiksi 13 % on määritelty arvoksi 0,13. arvio voi olla negatiivinen, jos tappiota on odotettavissa. Jos arvio -argumenttia ei ole määritelty, oletusarvona käytetään 0,10. Jos sinulla ei ole aavistustakaan odotetusta tuloksesta ja oletusarvo ei tuota mitään ratkaisua, kokeile ensin suurempaa positiivista arviota. Jos se ei tuota tulosta, kokeile pientä negatiivista arviota. taajuus Sijoitus saattaa maksaa korkoa jaksottaisellla perusteella. taajuus kertoo, kuinka usein korkoa maksetaan. taajuus on numero 1, 2 tai 4. ÂÂ Arvo 1 ilmoittaa, että korkoa maksetaan vuosittain (kerran vuodessa). ÂÂ Arvo 2 ilmoittaa, että korkoa maksetaan puolivuosittain (kaksi kertaa vuodessa). ÂÂ Arvo 4 ilmoittaa, että korkoa maksetaan neljännesvuosittain (neljä kertaa vuodessa). Kuvittele, että evaluoit yrityksen arvopaperia, joka maksaa korkoa neljännesvuosittain. taajuus olisi 4. Tai kuvittele, että evaluoit valtion arvopaperia, joka maksaa korkoa puolivuosittain. taajuus olisi 2. 334 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 335 tuleva arvo Tuleva arvo on sijoituksen tai lainakauden lopussa vastaanotettu tai maksettu kassavirta tai viimeisen maksuerän jälkeen jäljelle jäävä käteisarvo. tuleva arvo on määritelty numeroksi, joka yleensä ilmoitetaan valuuttana. Koska tuleva arvo on kassavirta, saadut summat määritellään positiivisina lukuina ja maksetut summat negatiivisina lukuina. Kuvittele, että suunnittelet ostavasi talon, jonka vuokraat määrätyksi ajaksi ja myyt sen jälkeen. Arvioitu tuleva myyntihinta olisi tuleva arvo ja se olisi positiivinen luku. Tai kuvittele, että liisaat auton ja leasing-sopimukseen sisältyy mahdollisuus ostaa auto määrättyyn hintaan liisauskauden lopussa. Loppumaksun määrä olisi tuleva arvo ja se olisi negatiivinen. Tai kuvittele, että sinulla on asuntolaina, jossa on 10 vuoden lopuksi suurempi viimeinen maksuerä. Viimeisen maksuerän määrä olisi tuleva arvo ja se olisi negatiivinen. sijoitusmäärä Arvopaperiin sijoitettu alkuperäinen määrä on sijoitusmäärä. sijoitusmäärä on numero, joka yleensä ilmoitetaan jossain valuutassa. sijoitusmäärän on oltava suurempi kuin 0. Kuvittele, että ostat arvopaperin hintaan 800 €. sijoitusmäärä olisi 800 €. aika Hankinnat poistetaan määrätyn ajan kuluessa. Tätä kutsutaan hankinnan kuoletusajaksi tai käyttöajaksi Yleensä kirjanpidollisista syistä omaisuuserän oletettua käyttöaikaa käytetään arvonalenemisen määrittämisessä, kun taas muissa tarkoituksissa (kuten verotuksen laskemisessa) kuoletettava aika saattaa määräytyä säädöksen tai käytännön mukaan. aika on määritelty numeroksi. aika on oltava suurempi kuin 0. Kuvittele, että ostat uuden digitaalisen kopiokoneen toimistoosi. Kopiokoneen hankintahinta veroineen oli 2 625 €. Myyjä veloitti 100 € toimituksesta ja asennuksesta. Kopiokonetta oletetaan käytettävän 4 vuotta, jonka jälkeen sen oletettu myyntiarvo on 400 €. aika olisi 4 €. nimelliskorko Annuiteeteilla ja sijoituksilla on nimelliskorko, joka lasketaan käyttäen efektiivistä korkokantaa ja koronmaksukausien määrää vuodessa. nimelliskorko määritellään desimaalinumerona ja sen on oltava suurempi kuin 0. Kuvittele, että omistat arvopaperin, jonka nimellinen arvo on 1 000 000 €, joka maksaa neljännesvuosittain vuosittaista 4,5 % korkoa perustuen arvopaperin nimellisarvoon, joten efektiivinen korkokanta on noin 4,58 %. nimelliskorko olisi 0,045. Katso myös aiheen kuvaus kohdista efektiivinen korko ja luku-kaudet-vuosi. luku-kaudet Kausien määrä (luku-kaudet) on toistuvan kassavirran, laina-ajan tai sijoituksen kausien kokonaismäärä. luku-kaudet on määritelty numeroksi käyttäen samaa aikakehystä (esimerkiksi kuukausittainen, neljännesvuosittainen tai vuosittainen) kuin siihen liittyvät argumentit, joita funktiossa käytetään. Kuvittele, että olet ostamassa kotia. Pankki tarjoaa lainaa, jonka alkuperäinen määrä on 200 000 €, laina-aika on 10 vuotta, vuosittainen korko 6,0 %, kiinteät kuukausimaksut ja erääntymispäivänä uudelleenrahoitettava summa 100 000 €. luku-kaudet olisi 120 (12 kuukausittaista maksua 10 vuoden ajan). Tai kuvittele, että sijoitat säästösi määräaikaiselle tuottotilille, jonka sopimusaika on 5 vuotta ja korko lasketaan 3 kuukauden keskisaldolle. luku-kaudet olisi 20 (4 neljännesvuosittaista kautta vuodessa 5 vuoden ajan). luku-kaudet-vuosi Efektiivisen ja nimelliskoron laskeminen perustuu korkokausien määrään vuodessa. luku-kaudet-vuosiargumenttia käytetään määrittämään kausien määrä. luku-kaudet-vuosi on numeroarvo ja sen on oltava suurempi kuin 0. Kuvittele, että olet sijoittanut rahasi määräaikaiselle tuottotilille, joka maksaa korkoa vuosittain ja korko määräytyy 3 kk keskisaldolle. Jos haluat määrittää efektiivisen korkokannan, luku-kaudet-vuosi olisi 4. Katso myös aiheen kuvaus kohdista efektiivinen korko ja nimelliskorko. nimellisarvo Arvopaperin nimellisarvo on joko sen nimellisarvo tai erääntymisarvo. nimellisarvo on määritelty numeroksi, joka yleensä ilmoitetaan valuuttana. nimellisarvo on usein luku kuten 100, 1 000 tai 1 000 000. Kuvittele, että harkitset yrityksen joukkolainan ostamista. Joukkolainan esitteessä kerrotaan, että jokaisen osakkeen nimellisarvo ja erääntymisarvo on 1 000 €. 1 000 € olisi joukkolainan nimellisarvo. maksu Maksu on kiinteä, kausittainen kassavirta, joka vastaanotetaan tai maksetaan määrätyn sijoitus- tai lainakauden aikana. maksu on määritelty numeroksi, joka yleensä ilmoitetaan valuuttana. Koska maksu on kassavirta, saadut summat määritellään positiivisina lukuina ja maksetut summat negatiivisina lukuina. maksu sisältää usein sekä pääoma- että korko-osuuden, mutta yleensä siihen ei liity muita elementtejä. Kuvittele, että suunnittelet ostavasi talon, jonka vuokraat määrätyksi ajaksi ja myyt sen jälkeen. Kuukausittaisen lainanlyhennyksen määrä olisi maksu ja se olisi negatiivinen. Kuukausittainen vuokra olisi myös maksu ja se olisi positiivinen. 336 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 337 kausi Jotkin funktiot palauttavat koron tai pääoman arvon määrätyllä kaudella. kausi-argumentilla määritellään haluttu kausi. kausi on numeroarvo ja sen on oltava suurempi kuin 0. Kuvittele, että olet ostamassa kotia. Pankki tarjoaa sinulle lainan, jonka alkusaldo on 200 000 €, laina-aika 10 vuotta, vuosittainen korko 6,0 %, kiinteä kuukausittainen maksuerä 1070,45 € ja saldo uudelleen rahoitettavaksi erääntymispäivänä 100 000 €. Jos haluat tietää koron määrän kolmannen vuoden ensimmäisessä maksuerässä, kausi olisi 25, koska maksut tapahtuvat kuukausittain. kauden diskonttokorko Diskonttokorko on se korko, joka edustaa haluttua tuottoa, jota käytetään arvottamaan (tai diskonttaamaan) sarjaa kassavirtoja. kauden diskonttokorko määritellään desimaalina (esimerkiksi 0,08) tai se rajoitetaan prosenttimerkillä (esim 8 %). Se määritellään käyttämällä samaa ajanjaksoa kuin kassavirrassa. Esimerkiksi, jos kassavirrat ovat kuukausittaisia ja haluttu vuosittainen diskonttokorko on 8 %, kauden diskonttokorko on määriteltävä arvona 0,00667 tai 0,667 % (0,08 jaettuna 12). Kuvittele suunnittelevasi määrätyn liiketoiminnan ostamista. Osana evaluaatiotasi määrittelet liiketoiminnan kuukausittaiset kassavirrat sekä pyydetyn ostohinnan ja tulevan myyntihinnan. Päätät muihin sijoitusmahdollisuuksiin ja riskiin nojaten, että et investoi ellei nettokassavirta tuota ainakin 18 %:n vuosittaista korkokantaa. kauden diskonttokorko olisi 0,015 (0,18 / 12 koska määritellyt kassavirrat ovat kuukausittaisia). kauden korko Joissain tapauksissa, kun työskennellään kassavirtasarjan, sijoituksen tai lainan kanssa, saattaa olla tarpeen tietää korkokanta jokaiselle kaudelle. Tämä on kauden korko. kauden korko määritellään desimaalinumerona käyttäen samaa aikakehystä (esimerkiksi kuukausittainen, neljännesvuosittainen tai vuosittainen) kuin muissa argumenteissa. (luku-kaudet tai maksu). Kuvittele, että olet ostamassa kotia. Pankki tarjoaa lainaa, jonka alkuperäinen määrä on 200 000 €, laina-aika on 10 vuotta, vuosittainen korko 6,0 %, kiinteät kuukausimaksut ja erääntymispäivänä uudelleenrahoitettava summa 100 000 €. kauden korko olisi 0,005 (vuosikorko jaettuna 12, jolloin se vastaa kuukausittaista maksua). Tai kuvittele, että sijoitat säästösi määräaikaiselle tuottotilille, jonka sopimusaika on 5 vuotta, jonka vuosittainen korkokanta on 4,6 % ja korko maksetaan 3 kuukauden keskisaldolle. kauden korko olisi 0,0125 (vuosittainen korko jaettuna 4:llä, jolloin se vastaa 3 kuukauden keskisaldoa). nykyarvo Nykyarvo on kassavirta, joka otetaaan vastaan tai maksetaan sijoitus- tai lainakauden alussa. nykyarvo määritellään numerona, joka yleensä ilmoitetaan valuuttana. Koska nykyarvo on kassavirta, saadut summat määritellään positiivisina lukuina ja maksetut summat negatiivisina lukuina. Kuvittele, että suunnittelet ostavasi talon, jonka vuokraat määrätyksi ajaksi ja myyt sen jälkeen. Alkuperäinen maksu (joka kostuu käsirahasta ja toimituskuluista) voisi olla nykyarvo ja se olisi negatiivinen. Talon alkuperäinen pääomalaina voi myös olla nykyarvo ja se olisi positiivinen. hinta Ostohinta on obligaatiosta tai muusta korkoa maksavasta tai diskontatusta arvopaperista maksettu summa. Ostohinta ei sisällä kertynyttä korkoa, joka ostetaan arvopaperin mukana. hinta on määritelty numerona, joka edustaa nimellisarvon 100 €:a kohden maksettua summaa. (ostohinta / nimellishinta * 100). hinta on oltava suurempi kuin 0. Kuvittele, että omistat arvopaperin, jonka nimellisarvo on 1 000 000 €. Jos maksoit arvopaperista 965 000 € poislukien kertynyt korko, jos sitä oli, hinta olisi 96,50 (965 000 € / 1 000 000 € * 100). lunastus Obligaatioilla ja muilla korkoa maksavilla ja diskontatuilla velkakirjoilla on yleensä määrätty lunastusarvo. Se on summa, joka velkakirjasta maksetaan sen erääntymispäivänä. lunastus on määritelty numerona, joka edustaa nimellisarvon 100 €:a kohden maksettua summaa. (lunastushinta / nimellishinta * 100). Usein lunastus on 100, tarkoittaen sitä, että arvopaperin lunastusarvo on sama kuin sen nimellisarvo. arvo on oltava suurempi kuin 0. Kuvittele, että oman arvopaperisi nimellisarvo on 1 000 000 € ja saat siitä erääntymispäivänä 1 000 000 €. lunastus olisi 100 (1 000 000 € / 1 000 000 € * 100), koska nimellisarvo ja lunastusarvo ovat samat, niin kuin asia usein on. Kuvittele eteenpäin, että arvopaperin myöntäjä tarjoaa arvopaperin lunastusta ennen erääntymispäivää ja on tarjonnut 1 025 000 €, jos lunastus tapahtuu vuotta aikaisemmin. lunastus olisi 102,50 (1 025 000 € / 1 000 000 € * 100). loppuarvo Omaisuuserillä on usein jäljelle jäävää arvoa kuoletuskauden tai käyttöajan päätyttyä. Tämä on loppuarvo. loppuarvo määritellään numerona, joka usein ilmoitetaan valuuttana. loppuarvo voi olla 0, mutta se ei voi olla negatiivinen. Kuvittele, että ostat uuden digitaalisen kopiokoneen toimistoosi. Kopiokoneen hankintahinta veroineen oli 2 625 €. Myyjä veloitti 100 € toimituksesta ja asennuksesta. Kopiokonetta oletetaan käytettävän 4 vuotta, jonka jälkeen sen oletettu myyntiarvo on 400 €. loppuarvo olisi 400 €. aloituskausi Jotkin funktiot palauttavat pääoman tai koron sarjalle määrättyjä maksuja. aloituskausi-argumenttia käytetään ilmoittamaan ensimmäinen maksuerä, joka otetaan mukaan palautettavaan arvoon. Katso myös aiheen käsittely kohdassa viimeinen kausi. aloituskausi on numeroarvo ja sen on oltava suurempi kuin 0. Kuvittele, että olet ostamassa kotia. Pankki tarjoaa sinulle lainan, jonka alkusaldo on 200 000 €, laina-aika 10 vuotta, vuosittainen korko 6,0 %, kiinteä kuukausittainen maksuerä 1070,45 € ja saldo uudelleen rahoitettavaksi erääntymispäivänä 100 000 €. Jos haluat tietää kolmantena vuonna maksetun koron määrän, aloituskausi olisi 25 ja viimeinen kausi olisi 36. erääntyy Maksut voidaan yleistää tapahtuvan kauden alussa tai lopussa. erääntyy-argumenttia käytetään huolimatta siitä, tapahtuuko maksu kauden alussa vai lopussa. erääntyy on modaalinen argumentti. Se voi olla numero 0 tai 1. ÂÂ Arvo 0 määrittää, että maksu vastaanotetaan tai maksetaan aina kauden lopussa. 0 on oletusarvo. ÂÂ Arvo 1 määrittää, että maksu vastaanotetaan tai maksetaan aina kauden alussa. Kuvittele, että olet ostamassa kotia. Pankki tarjoaa lainaa, jonka alkuperäinen määrä on 200 000 €, laina-aika on 10 vuotta, vuosittainen korko 6,0 %, kiinteät kuukausimaksut ja erääntymispäivänä uudelleenrahoitettava summa 100 000 €. erääntyy olisi 0 (oletusarvo), koska maksut tehdään aina kuun lopussa. Tai kuvittele, että omistat huoneiston, jota vuokraat ja haluat vuokralaisesi maksavan vuokransa aina kuun 1. päivänä. erääntyy olisi 1, koska vuokralainen suorittaa maksun aina kuukauden alussa. 338 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 339 Käytettävän Rahan aika-arvo -funktion valitseminen Tässä osassa on lisätietoa funktioista, joilla pyritään ratkaisemaan rahan aikaarvo- ongelmia. Rahan aika-arvo (TVM) -ongelmiin kuuluvat ajan ja korkokantojen muokkaamat rahavirrat. Tämä osio koostuu monesta osasta. Osio ”Säännölliset rahavirrat ja aikavälit” sivulla 339 käsittelee TVM-funktioita, joita käytetään tavallisten rahavirtojen, säännöllisten aikavälien ja kiinteiden korkojen kanssa. Osio ”Säännölliset rahavirrat ja aikavälit” sivulla 340 käsittelee TVM-funktioita, joita käytetään epäsäännöllisten rahavirtojen, epäsäännöllisten aikavälien tai molempien yhteydessä. Osio ”MItä funktiota tulisi käyttää tavallisten rahoituskysymysten ratkaisemiseen?” sivulla 341 käsittelee monista tavallisia TVM-ongelmia (kuten mitä funktiota kannattaa käyttää laskettaessa korkoa säästötilille?) sekä funktioita, joita voidaan käyttää ongelman ratkaisuun. Säännölliset rahavirrat ja aikavälit Ensisijaiset funktiot, joita käytetään säännöllisten jaksoittaisten rahavirtojen (samansuuruisia maksuja ja säännöllisin väliajoin toistuvia rahavirtoja) ja kiinteiden korkokantojen kanssa ovat yhteydessä toisiinsa. Funktio ja sen tarkoitus Funktion käyttämät argumentit ”TULEVA.ARVO” (sivu 117) on käytettävä funktio, jos haluat määrittää tulevan arvon (arvo tulevaisuudessa) sarjalle kassavirtoja, kun otetaan huomioon muita tekijöitä, kuten korkokanta. Se ratkaisee argumentin tuleva arvo. kauden korko; luku-kaudet; maksu; nykyarvo; erääntyy ”NJAKSO” (sivu 127) on käytettävä funktio, jos haluat määrittää lainan takaisinmaksuun kuluvien kausien määrän tai annuiteetin maksukausien määrän ottaen huomioon muut tekijät, kuten korkokannan. Se ratkaisee argumentin lukukaudet. kauden korko; maksu; nykyarvo; tuleva arvo; erääntyy ”MAKSU” (sivu 130) on käytettävä funktio, jos haluat määrittää lainan maksuun tarvittavan tai annuiteetista saadun summan, ottaen huomioon muut tekijät, kuten korkokannan. Se ratkaisee argumentin maksu. kauden korko; luku-kaudet; nykyarvo; tuleva arvo; erääntyy Funktio ja sen tarkoitus Funktion käyttämät argumentit ”NA” (sivu 138) on käytettävä funktio, jos haluat määrittää nykyarvon (arvo tänään) sarjalle kassavirtoja, kun otetaan huomioon muita tekijöitä, kuten korkokanta. Se ratkaisee argumentin nykyarvo. kauden korko; luku-kaudet; maksu; tuleva arvo; erääntyy ”KORKO” (sivu 140) on käytettävä funktio, jos haluat määrittää kausittaisen korkokannan lainalle tai annuiteetille, ottaen huomioon muut tekijät, kuten lainan tai annuiteetin kausien määrän. Se ratkaisee argumentin kauden korko. luku-kaudet; maksu; nykyarvo; tuleva arvo; erääntyy; arvio Kuten tässä taulukossa on kuvattu, nämä TVM-funktiot ratkaisevat ja palauttavat arvon yhdelle viidestä ensisijaisesta argumentista, kun ratkaistavaan ongelmaan liittyy säännöllisiä kausittaisia kassavirtoja ja kiinteitä korkokantoja. Lisäksi, ”IPMT” (sivu 120) ja ”PPMT” (sivu 132) voivat ratkaista korko- ja pääomakomponentit määrätylle laina- tai annuiteettimaksulle, ja”MAKSETTU.KORKO” (sivu 108) ja”MAKSETTU. LYHENNYS” (sivu 110) voivat ratkaista korko- ja pääomakomponentit laina- ja annuiteettimaksujen peräkkäisille sarjoille. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Säännölliset rahavirrat ja aikavälit” sivulla 340 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 Säännölliset rahavirrat ja aikavälit Jotkin TVM-ongelmat käsittelevät epäsäännöllisiä kiinteitä kausittaisia rahavirtoja, jolloin rahavirrat tapahtuvat säännöllisin väliajoin, mutta määrät vaihtelevat. Lisäksi muita ongelmia ovat rahavirrat, joiden aikavälit ovat epäsäännöllisiä eivätkä välttämättä tapahdu säännöllisesti. 340 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 341 Funktio ja sen tarkoitus Funktion käyttämät argumentit ”SISÄINEN KORKO” (sivu 122) on käytettävä funktio kun haluat kausittaisen arvon, kuten nettonykyarvon sarjalle potentiaalisesti epäsäännöllisiä rahavirtoja, jotka tapahtuvat säännöllisin väliajoin on yhtä suuri kuin 0. Tätä kutsutaan yleensä sisäiseksi korkokannaksi. SISÄINEN KORKO ratkaisee argumentin kauden korko. kassavirta-alue; arvio kassavirta-alue on määritelty kassavirtojen vaihtelualue, joka saattaa epäsuorasti sisältää maksun, nykyarvon ja tulevan arvon. ”MSISÄINEN” (sivu 125) on käytettävä funktio kun haluat kausittaisen arvon, kuten nettonykyarvon sarjalle potentiaalisesti epäsäännöllisiä rahavirtoja, jotka tapahtuvat säännöllisin väliajoin on yhtä suuri kuin 0. MSISÄINEN poikkeaa SISÄINEN KORKO -funktiosta siinä, että se sallii positiivisen ja negatiivisen kassavirran diskonttaamisen eri prosentilla. Tätä kutsutaan yleensä muunnetuksi sisäiseksi korkokannaksi. MSISÄINEN ratkaisee argumentin kauden korko. kassavirta-alue; rahoituskorko; uudelleensijoituskorko kassavirta-alue on määritelty kassavirtojen vaihtelualue, joka saattaa epäsuorasti sisältää maksun, nykyarvon ja tulevan arvon. rahoituskorko ja uudelleensijoituskorko ovat kauden koron erikoistapauksia. ”NNA” on käytettävä korko, jos haluat määrittää nykyarvon sarjalle potentiaalisesti epäsäännöllisiä kassavirtoja, jotka tapahtuvat säännöllisin väliajoin. Tätä kutsutaan yleensä nettonykyarvoksi. NNA ratkaisee argumentin nykyarvo. Kauden korko; kassavirta; kassavirta... kassavirta; kassavirta… on määritetty yhden tai useamman kassavirran sarja, joka saattaa epäsuorasti sisältää argumentit maksu, nykyarvo, ja tuleva arvo. Tähän liittyvät aiheet Tähän liittyviä funktioita ja lisätietoa löytyy kohdasta: ”Säännölliset rahavirrat ja aikavälit” sivulla 339 ”Tavalliset rahoitusfunktioissa käytetyt argumentit” sivulla 332 ”Rahoitusfunktioiden luettelo” sivulla 93 ”Arvotyypit” sivulla 34 ”Kaavojen elementit” sivulla 13 ”Näppäimistön ja hiiren käyttäminen kaavojen luomiseen ja muokkaamiseen” sivulla 24 MItä funktiota tulisi käyttää tavallisten rahoituskysymysten ratkaisemiseen? Tässä osassa kuvataan joitain tavallisia kysymyksiä, joihin haluat ehkä vastauksen, ja mukana on luettelo rahoitusfunktioista, jotka saattavat olla avuksi. Kysymykset auttavat ratkaisemaan jokapäiväisiä rahoituskysymyksiä. Monimutkaisempi rahoitusfunktioiden käyttö on kuvattu kohdissa ”Säännölliset rahavirrat ja aikavälit” sivulla 339, ”Säännölliset rahavirrat ja aikavälit” sivulla 340 ja ”Esimerkki lainanlyhennystaulukosta” sivulla 343. Jos haluat tietää Tämä funktio voi olla avuksi Säästöt efektiivisen korkokannan sijoitukselle tai säästötilille, joka maksaa kausittaista korkoa ”KORKO.EFEKT” (sivu 116) mikä on määräaikaisen säästötilin arvo erääntymispäivänä ”TULEVA.ARVO” (sivu 117). Huomaa, että maksu on 0. määräaikaisen säästötilin nimellisen korkokannan, kun myöntäjä on mainostanut efektiivistä korkokantaa ”KORKO.VUOSI” (sivu 126) kuinka monta vuotta halutun summan säästämiseen menee, kun säästötilille talletetaan määrätty summa kuukaudessa ”NJAKSO” (sivu 127). Huomaa, että nykyarvo on alussa talletettu summa ja se voi olla 0. kuinka paljon pitää säästää joka kuukausi, jotta asetettu säästötavoite saavutetaan halutun vuosimäärän aikana ”MAKSU” (sivu 130). Huomaa, että nykyarvo on alussa talletettu summa ja se voi olla 0. Lainat kolmannen maksuvuoden aikana maksettujen korkojen määrän ”MAKSETTU.KORKO” (sivu 108) kolmannen maksuvuoden aikana maksettujen pääomalyhennysten määrän ”MAKSETTU.LYHENNYS” (sivu 110) lainan 36. maksuerään sisältyvien korkojen määrän ”IPMT” (sivu 120) lainan 36. maksuerään sisältyvän pääomalyhennyksen määrän ”PPMT” (sivu 132) Sijoitukset obligaatioihin koron määrän, joka on lisättävä obligaation ostohintaan ”KERTYNYT.KORKO” (sivu 97) tai ”KERTYNYT. KORKO.LOPUSSA” (sivu 99) kausittaisten korkomaksujen lukumäärän obligaation ostamisen ja sen erääntymisen välillä ”KORKOPÄIVÄJAKSOT” (sivu 107) vuosittaisen diskonttokoron obligaatiolle, joka on myyty alle lunastusarvonsa ja joka ei maksa korkoa (tunnetaan nimellä koroton obligaatio) ”DISKONTTOKORKO” (sivu 115) 342 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 343 Jos haluat tietää Tämä funktio voi olla avuksi efektiivisen vuosittaisen korkokannan obligaatiolle, joka maksaa korkoa vain erääntymispäivänä (ei kausittaisia maksuja, mutta obligaatiolla on kausittainen korko) ”KORKO.ARVOPAPERI” (sivu 119) odotetun hankintahinnan obligaatiolle, joka maksaa kausittaista korkoa; obligaatiolle, joka on myyty alle lunastushintansa ja joka ei maksa korkoa tai obligaatiolle, joka maksaa korkoa vain erääntymispäivänä ”HINTA” (sivu 133), ”HINTA.DISK” (sivu 135) ja ”HINTA.LUNASTUS” (sivu 136) obligaatiosta, joka maksaa korkoa vain erääntymispäivänä (ei kausittaisia maksuja, mutta obligaatiolla on kausittainen korko) saadun summan, mukaan lukien korot ”SAATU.HINTA” (sivu 142) efektiivisen vuosittaisen korkokannan obligaatiolle, joka maksaa kausittaista korkoa; obligaatiolle, joka on myyty alle lunastushintansa ja joka ei maksa korkoa tai obligaatiolle, joka maksaa korkoa vain erääntymispäivänä ”TUOTTO” (sivu 146), ”TUOTTO.DISK” (sivu 148) ja ”TUOTTO.ERÄP” (sivu 149) Arvonaleneminen omaisuuserän kausittaisen arvonalenemisen määrän käyttäen fixed-declining balance -metodia ”DB” (sivu 111) omaisuuserän kausittaisen arvonalenemisen määrän käyttäen degressiivistä poistomenetelmää, kuten tuplapoistoa ”DDB” (sivu 113) omaisuuserän kausittaisen arvonalenemisen määrän käyttäen tasapoistometodia ”STP” (sivu 143) omaisuuserän kausittaisen arvonalenemisen määrän käyttäen sum-of-the-years-digits-metodia ”VUOSIPOISTO” (sivu 144) omaisuuserän kokonaispoiston määrätyllä aikajaksolla käyttäen degressiivistä poistomenetelmää ”VDB” (sivu 145) Esimerkki lainanlyhennystaulukosta Tässä esimerkissä käytetään IPMT-, PPMT- ja PMT-funktioita kokoamaan lainan lyhennystaulukko. IPMT:n, PPMT:n ja PMT:n palauttama tieto on suhteessa toisiinsa. Tämä on kuvattu esimerkissä. Lainanlyhennystaulukon kokoaminen Kuvittele, että haluat koota lainanlyhennystaulukon lainan kaikille kausille. Lainan alkuperäinen pääoma on 50 000 €, laina-aika on 2 vuotta, vuosittainen korko on 7 % ja lainan viimeinen erä on 30 000 €. Lyhennystaulukon ensimmäinen osa (jossa kaavat ovat näkyvissä) voidaan rakentaa näin Selitykset solujen sisällölle Solu B6 käyttää PMT-funktiota laskemaan jokaisen kuukausittaisen maksun määrän. Huomaa, että tämä on koron ja pääomalyhennyksen yhteismäärä joka kuukausi (esimerkiksi, C9 + D9) kuten solussa F9 näkyy. Solut C9 ja D9 käyttävät IPMT- ja PPMT-funktioita laskemaan kunkin kuukausittaisen maksuerän koron ja pääomanlyhennyksen erikseen. Huomaa, että IPMT on sama kuin PMT - PPMT ja vastaavasti, PPMT on sama kuin PMT - IPMT. 344 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 345 Valmis lainanlyhennystaulukko Jotta taulukko olisi valmis, on valittava solut A10:A11 ja laajennettava valintaa alas A32:een, jotta kaikki 24 kautta ovat mukana hypoteettisessa lainassa. Sen jälkeen C9:F9 on valittava ja laajennettava C32:F32:een, jotta kaavat täydentyvät. Taulukko on valmis ja siinä näkyy koko lainanlyhennys käyttäen edellisessä taulukossa näytettyjä kaavoja. Loppukommentit Huomaa, että IPMT:n (sarake C) ja PPMT:n (sarake D) palauttamat arvot ovat joka kuukausi yhteensä sama kuin PMT, joka on laskettu solussa B6 (kuten näkyy sarakkeessa F). Huomaa myös, että jäljelle jäävä summa, joka näkyy solussa E32, on 30 000 €, kuten on määritelty viimeinen erä kohdassa solussa B4. Lisää pyöristämisestä iWork tukee monia funktioita, jotka pyöristävät lukuja. Tässä osassa vertaillaan näitä funktioita. Haluttu toiminto> Käytettävä funktio Kommentit Pyöristä numero poispäin nollasta lähimpään annetun luvun monikertaan ”PYÖRISTÄ.KERR.YLÖS” (sivu 166) Pyöristäminen tapahtuu vaiheissa, esimerkiksi 10 lähin monikerta. Pyöristäminen tapahtuu poispäin nollasta, eli =PYÖRISTÄ.KERR.YLÖS(0,4; 1) saa tuloksen 1 ja =PYÖRISTÄ. KERR.YLÖS (-0,4; -1) saa tuloksen -1. Pyöristä luku poispäin nollasta seuraavaan parilliseen lukuun ”PARILLINEN” (sivu 168) Pyöristäminen tapahtuu lähimpään kahdella jaolliseen lukuun. Pyöristäminen tapahtuu poispäin nollasta, eli =PARILLINEN(0,4) palauttaa 2 ja =PARILLINEN(-0,4) palauttaa -2. Pyöristä luku nollaan päin lähimpään annetun luvun monikertaan ”PYÖRISTÄ.KERR.ALAS” (sivu 172) Pyöristäminen tapahtuu vaiheissa, esimerkiksi 10 lähin monikerta. Pyöristäminen tapahtuu nollaan päin, eli =PYÖRISTÄ.KERR.ALAS(0,4; 1) saa tuloksen 0 ja =PYÖRISTÄ. KERR.ALAS(-0,4; -1) saa myös tuloksen 0. 346 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 347 Haluttu toiminto> Käytettävä funktio Kommentit Pyöristä luku lähimpään kokonaislukuun, joka on pienempi tai yhtä suuri kuin annettu luku. ”KOKONAISLUKU” (sivu 173) Pyöristäminen tehdään lähimpään kokonaislukuun, joka on pienempi tai yhtä suuri kuin annettu luku. Sen vuoksi =INT(0,4) palauttaa 0 ja =INT(-0,4) palauttaa -1. Pyöristä luku lähimpään annetun luvun monikertaan ”PYÖRISTÄ.KERR” (sivu 178) Pyöristäminen tehdään lähimpään annetun luvun monikertaan. Tämä eroaa PYÖRISTÄ.KERR.YLÖS -funktiosta, joka pyöristää lähimpään monikertaan. Sen vuoksi =PYÖRISTÄ.KERR(4; 3) palauttaa 3 koska 4 on lähempänä 3:a kuin seuraava 3:n monikerta, joka on 6. =PYÖRISTÄ.KERR.YLÖS(4; 3) palauttaa 6, joka on 3:n lähin monikerta, kun pyöristetään ylöspäin. Pyöristä luku poispäin nollasta seuraavaan parittomaan lukuun ”PARITON” (sivu 180) Pyöristäminen tapahtuu lähimpään lukuun, joka ei ole kahdella jaollinen. Pyöristäminen tapahtuu poispäin nollasta, eli =PARITON(1,4) palauttaa 3 ja =PARILLINEN (-1,4) palauttaa -3. Haluttu toiminto> Käytettävä funktio Kommentit Pyöristä luku käyttäen määrättyä määrää desimaaleja ”PYÖRISTÄ” (sivu 186) Positiivinen luku on merkkinä desimaalierottimen oikealla puolella olevasta numeroiden määrästä (kymmenyssija), jotka otetaan mukaan pyöristettyyn lukuun. Negatiivinen luku määrittelee, kuinka monta merkkiä desimaalierottimen vasemmalla puolella muutetaan nolliksi (nollien määrä luvun lopussa). Luku pyöristetään tähän perustuen. Eli =PYÖRISTÄ(1125; -2) palauttaa 1100 ja =PYÖRISTÄ(1155; -2) palauttaa 1200. Pyöristäminen tapahtuu poispäin nollasta, eli =PYÖRISTÄ(-1125; -2) palauttaa -1100 ja =PYÖRISTÄ(-1155; -2) palauttaa -1200. Pyöristä luku alaspäin (kohti nollaa) käyttäen määrättyä määrää desimaaleja ”PYÖRISTÄ.DES.ALAS” (sivu 188) Positiivinen luku on merkkinä desimaalierottimen oikealla puolella olevasta numeroiden määrästä (kymmenyssija), jotka otetaan mukaan pyöristettyyn lukuun. Negatiivinen luku määrittelee, kuinka monta merkkiä desimaalierottimen vasemmalla puolella muutetaan nolliksi (nollien määrä luvun lopussa). Luku pyöristetään tähän perustuen. Eli =PYÖRISTÄ(1125; -2) palauttaa 1100 ja =PYÖRISTÄ(1155; -2) palauttaa myös 1100, koska pyöristys tehdään kohti nollaa. =PYÖRISTÄ(-1125; -2) palauttaa -1100 ja =PYÖRISTÄ(-1155; -2) palauttaa myös -1100. 348 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 349 Haluttu toiminto> Käytettävä funktio Kommentit Pyöristä luku ylöspäin (poispäin nollasta) käyttäen määrättyä määrää desimaaleja ”PYÖRISTÄ.DES.YLÖS” (sivu 189) Positiivinen luku on merkkinä desimaalierottimen oikealla puolella olevasta numeroiden määrästä (kymmenyssija), jotka otetaan mukaan pyöristettyyn lukuun. Negatiivinen luku määrittelee, kuinka monta merkkiä desimaalierottimen vasemmalla puolella muutetaan nolliksi (nollien määrä luvun lopussa). Luku pyöristetään tähän perustuen. Eli =PYÖRISTÄ(1125; -2) palauttaa 1200 ja =PYÖRISTÄ(1155; -2) palauttaa myös 1200, koska pyöristys tehdään poispäin nollasta. =PYÖRISTÄ(-1125; -2) palauttaa -1200 ja =PYÖRISTÄ(-1155; -2) palauttaa myös -1200. Katkaise luku määritellystä desimaalisijasta ”KATKAISE” (sivu 199) Positiivinen luku on merkkinä desimaalierottimen oikealla puolella olevasta numeroiden määrästä (kymmenyssija), jotka otetaan mukaan lukuun. Negatiivinen luku määrittelee, kuinka monta merkkiä desimaalierottimen vasemmalla puolella muutetaan nolliksi (nollien määrä luvun lopussa). Muut numerot jätetään pois luvusta. Eli =KATKAISE(1125; -2) palauttaa 1100 ja =KATKAISE(1155; -2) palauttaa myös 1100. Loogisten ja informaatiofunktioiden käyttäminen yhdessä Loogisia ja informaatiofunktioita käytetään usein yhdessä jossain kaavassa. Vaikka loogisia funktioita käytetään itsenäisinä, on harvinaista, että informaatiofunktiota käytettäisiin yksin. Tässä osassa on monimutkaisempia esimerkkejä, joilla esitetään, kuinka useiden loogisten ja informaatiofunktioiden käyttäminen yhdessä kaavassa voi olla hyvin tehokasta. Kommenttien lisääminen perustuen solujen sisältöön Tässä esimerkissä käytetään JOS-, JA-, TAI- ja ONTYHJÄ -funktioita lisäämään kommentteja taulukkoon, joka perustuu olemassaoleviin solunsisältöihin. JOS-funktio on varsin tehokas, varsinkin, jos se yhdistetään muihin loogisiin funktioihin kuten TAI ja JA. Kuvittele olevasi korkeakoulun professori, jolle yksi assistenteista on antanut taulukon, jossa on opiskelijoiden nimiä ja heidän uusimpia tenttituloksiaan. Haluat nopeasti tunnistaa seuraavat tilanteet: ÂÂ Opiskelija on läpäissyt tentin, mutta hänen pitäisi osallistua erityiseen opiskeluhetkeen (pisteet väliltä 61 - 75). ÂÂ Taulukon datassa on virhe (negatiivinen testitulos, testin tulos yli 100, tai ei testitulosta). ÂÂ Opiskelija ei läpäissyt tenttiä (pistemäärä 60 tai alle). Kun nämä rikotaan osiin, alla olevat funktiot määrittävät sinulle kaikki haluamasi yksittäiset tiedot. Kun nämä laitetaan yhteen, voit nopeasti nähdä taulukosta halutut tiedot. Jotta alla olevat lausekkeet toimivat, oleta ensimmäisen opiskelijan nimen olevan solussa A2 ja ensimmäisen tenttituloksen olevan solussa B2. Lauseke 1 =JA(B2>60; B2<=75) testaa alhaiset pisteet. Jos tentin tulos on välillä 61-75, JA-funktio palauttaa arvon TOSI, joka tarkoitaa sitä, että opiskelijan on tultava erityiseen opiskeluhetkeen. Muussa tapauksessa se palauttaa EPÄTOSI. Lauseke 2 =TAI(ONTYHJÄ(B2); B2<0; B2>100) testaa virheellisen datan. Ensimmäinen TAI-lauseke ONTYHJÄ(B2) on tosi, jos tenttitulosta ei ole. Toinen lauseke palauttaa TOSI, jos tentin tulos on negatiivinen ja kolmas lauseke palauttaa TOSI, jos tentin tulos on yli 100. TAI-funktio palauttaa TOSI, jos mikä tahansa ehdoista on TOSI, joka tarkoittaa, että data on jollain tapaa virheellinen. TAI-funktio palauttaa EPÄTOSI, jos mikään ehdoista ei ole tosi ja data on kelvollista. Lauseke 3 =B2<=60 testaa hylätyn arvosanan saaneet. Tämä lauseke palauttaa TOSI, jos tentin tulos on 60 tai alle, eli tentti on hylätty. Muussa tapauksessa se palauttaa EPÄTOSI. 350 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 351 Kaiken laittaminen yhteen JOS-funktiossa =JOS(JA(B2>60; B2<=75), ”Tarvitsee opintohetken”, JOS(TAI(ONTYHJÄ(B2); B2<0; B2>100), ”Virheellinen data”, JOS(B2<=60, ”Tentti hylätty”, ””))) Jos testilauseke (sama kuin lauseke 1 yllä) ensimmäisessä JOS-funktiossa evaluoituu arvoon TOSI, funktio palauttaa ”Tarvitsee opintohetken”, muussa tapauksessa se jatkaa EPÄTOSI-argumenttiin, toiseen IF-lausekkeeseen. Jos testilauseke (sama kuin lauseke 2 yllä) toisessa JOS-funktiossa evaluoituu arvoon TOSI, funktio palauttaa ”Virheellinen data”, muussa tapauksessa se jatkaa EPÄTOSI-argumenttiin, kolmanteen IFlausekkeeseen. Jos testilauseke (sama kuin lauseke 3 yllä) kolmannessa JOS-funktiossa evaluoituu arvoon TOSI, funktio palauttaa ”Tentti hylätty”, muussa tapauksessa lauseke palauttaa tyhjän lausekkeen (””). Tulos voi näyttää seuraavalta taulukolta. Nollalla jakamisen estäminen Joskus ei ole mahdollista rakentaa taulukkoa niin että voitaisiin välttää jakamista nollalla. Kuitenkin, jos jako nollalla tapahtuu, solussa näkyy virhearvo, joka yleensä ei ole haluttu tulos. Tässä esimerkissä näytetään kolme tapaa estää tämä virhe. Esimerkkejä Oletetaan, että soluissa D2 ja E2 on molemmissa luku. On mahdollista että solussa E2 on 0. Haluat jakaa D2:n E2:lla, mutta välttää jako nollalla -virheen. Kaikki seuraavassa kerrotut kolme tapaa palauttavat arvon 0, jos solu E2 on yhtä suuri kuin nolla, muuten ne palauttavat tuloksen D2/E2. =JOS(E2=0;0;D2/E2) toimii testaamalla suoraan solun E2 nähdäkseen onko se 0. =JOSVIRHE(D2/E2;0) toimii palauttamalla arvon 0, jos virhe tapahtuu. Jako nollalla on virhe. =JOS(ONVIRHE(D2/E2);0;D2/E2) toimii tekemällä loogisen testin nähdäkseen onko D2/E2 arvoltaan TOSI. Ehtojen määritteleminen ja jokerimerkkien käyttäminen Jotkin funktiot, kuten SUMMA, käsittelevät kokonaisia alueita. Jotkin funktiot. kuten SUMMAJOS, käsittelevät vain niitä alueen soluja, jotka täyttävät ehdon. Haluat ehkä esimerkiksi laskea yhteen kaikki sarakkeen B luvut, jotka ovat pienempiä kuin 5. Voit tehdä tämän kaavalla =SUMMAJOS(B; "<5"). SUMMAJOS-funktion toinen argumentti on nimeltään ehto, koska se saa funktion jättämään huomioimatta solut, jotka eivät täytä vaatimuksia. Funktioita, jotka ottavat argumentikseen ehtoja, on kahta eri tyyppiä. Ensimmäinen tyyppi on funktiot, joiden nimet päättyvät JOS (paitsi funktio JOS, joka ei ota argumentikseen ehtoa; se sen sijaan ottaa argumentikseen lausekkeen, joka evaluoituu joko arvoon TOSI tai EPÄTOSI). Nämä funktiot voivat vertailla numeroita ehdoissaan, kuten ”>5”, ”<=7” tai ”<>2”. Nämä funktiot hyväksyvät myös jokerimerkkejä ehdoissa. Esimerkiksi, jos haluat laskea sarakkeen B solut, jotka alkavat kirjaimella ”a”, voit käyttää funktiota =LASKE.JOS(B; ”a*”) Toinen ryhmä funktioita, kuten VHAKU, ottaa argumentikseen ehtoja, mutta ei numeerisia ehtoja. Nämä funktiot hyväksyvät joskus jokerimerkkien käytön. Funktio Sallii numeeriset vertailut Hyväksyy jokerimerkit KESKIARVO.JOS kyllä kyllä KESKIARVO.JOS.JOUKKO kyllä kyllä LASKE.JOS kyllä kyllä LASKE.JOS.JOUKKO kyllä kyllä SUMMAJOS kyllä kyllä SUMMA.JOS.JOUKKO kyllä kyllä VHAKU ei jos tarkka vastine määritellään VASTINE ei jos tarkka vastine määritellään PHAKU ei jos tarkka vastine määritellään Esimerkkejä ehdoista, sekä jokerimerkkien kanssa että ilman niitä, on kuvattu tässä osiossa. Lauseke Esimerkki ”>4” poimii minkä tahansa numeron, joka on suurempi kuin 4. =LASKE.JOS(B2:E7; ”>4”) palauttaa solujen määrän alueella B2:E7, joiden arvo on suurempi kuin 4. ”>=7” tarkoittaa mitä tahansa numeroa, joka on suurempi tai yhtä suuri kuin 7. =SUMMAJOS(B; ”>=7”) laskee yhteen solut sarakkeessa B, joiden arvo on suurempi tai yhtä suuri kuin 7. ”<=5” yhdessä ”>=15” kanssa poimii minkä tahansa numeron, joka on vähemmän tai yhtä suuri kuin 5 tai suurempi tai yhtä suuri kuin 15. Numerot 6 - 14 eivät ole mukana. =SUMMAJOS(A3:B12;”<=5”)+SUMMAJOS(A3: B12;”>=15”) laskee yhteen solut alueella A3:B12, joiden arvo on pienempi tai yhtä suuri kuin 5 tai suurempi tai yhtä suuri kuin 15. 352 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 353 Lauseke Esimerkki ”*it” poimii minkä tahansa arvon, joka päättyy ”it.” Tähti (*) vastaa mitä tahansa merkkimäärää. =LASKE.JOS(B2:E7; ”*it”) palauttaa alueella B2:E7 olevien solujen kokonaismäärän, joissa on arvo, joka päättyy ”it” kuten ”bit” ja ”mit.” Se ei vastaa arvoa ”mitt.” ”~*” poimii tähden (*). Tilde (~) -merkki tarkoittaa sitä, että seuraava merkki on otettava kirjaimellisesti, eikä sitä kohdella jokerimerkkinä. =LASKE.JOS(E; ”~*”) palauttaa sellaisten solujen määrän sarakkeessa E, joissa on tähti. B2 & "; " & E2 palauttaa solujen B2 ja E2 sisällön erotettuna pilkulla ja välillä. =B2&”; ”&E2 palauttaa ”Viimeinen, Ensimmäinen” jos B2 sisältää arvon ”Viimeinen” ja E2 sisältää ”Ensimmäinen.” ”?ip” poimii minkä tahansa arvon, joka alkaa yhdellä merkillä, jonka jälkeen tulee ”ip.” =LASKE.JOS(B2:E7; ”?ip”) palauttaa alueella B2:E7 olevien solujen kokonaismäärän, joissa on arvo, joka alkaa yhdellä merkillä, jonka jälkeen tulee ”ip” kuten ”rip” ja ”tip.” Se ei vastaa arvoja ”drip” tai ”trip.” ”~?” poimii kysymysmerkin (?). Tilde (~) -merkki tarkoittaa sitä, että seuraava merkki on otettava kirjaimellisesti, eikä sitä kohdella jokerimerkkinä. =KÄY.LÄPI("~?"; B2) palauttaa 19 jos solu B2 sisältää ”Tämä on kysymys? Kyllä se on.”, koska kysymysmerkki on 16. merkki jonssa. ”*on?” poimii minkä tahansa arvon, joka alkaa millä tahansa määrällä merkkejä, joiden jälkeen tulee ”on” ja sen jälkeen yksi merkki. =LASKE.JOS(B2:E7; "*on?") palauttaa alueella B2:E7 olevien solujen lukumäärän, joissa on arvo, joka alkaa millä tahansa merkkimäärällä (myös ei yhtään), jonka jälkeen tulee ”on” ja sitten yksi merkki. Tämä poimii sanat kuten ”alone”, ”bone”, ”one” ja ”none.” Se ei poimi sanoja kuten ”only” (siinä on kaksi merkkiä ”on”-arvon jälkeen) tai ”eon” (siinä ei ole merkkiä ”on” jälkeen). Tutkimustulosten esimerkki Tämä esimerkki tuo yhteen kuvaukset, joita on käytetty tilastollisissa funktioissa. Se perustuu hypoteettiseen tutkimukseen. Tutkimus oli lyhyt (vain viisi kysymystä) ja siinä oli erittäin rajoitettu määrä vastaajia (10). Jokaiseen kysymykseen vastattiin asteikolla 1-5 (ehkä asteikolla ”ei koskaan” - ”aina”), tai ei vastausta. Jokaiselle tutkimukselle annettiin numero ennen sen lähettämistä. Tulokset näkyvät seuraavassa taulukossa. Kysymykset, joihin vastattiin asteikon ulkopuolelta (virheellinen) tai joihin ei vastattu ollenkaan, näkyvät tyhjänä soluna taulukossa. Jotta joitain funktioita voidaan kuvata, oleta että tutkimuksen hallintanumeroon liittyi kirjainetuliite ja asteikko oli A-E, ei 1-5. Taulukko näyttäisi silloin tältä: Käyttämällä tätä datataulukkoa ja iWorkin tilastollisia funktioita, voit kerätä tietoa tutkimustuloksista. PIdä mielessä, että esimerkki on tarkoituksella pieni, joten tulokset saattavat vaikuttaa itsestään selviltä. Jos vastaajia olisi 50, 100 tai enemmän, ja myös kysymyksiä voisi olla enemmän, tulokset eivät olisi niin itsestään selviä kuin nyt. 354 Luku 13 Muita esimerkkejä ja aiheita Luku 13 Muita esimerkkejä ja aiheita 355 Funktio ja argumentit Tulosten kuvaus =KORRELAATIO(B2:B11; C2:C11) Määrittää kysymys 1:n ja kysymys 2:n korrelaation käyttäen lineaarista regressioanalyysiä. Korrelaatio on sen mitta, kuinka paljon kaksi muuttujaa (tässä tapauksessa kyselyn vastaukset) vaihtuvat yhdessä. Erityisesti tässä katsotaan kysymyksiä: Jos vastaaja vastasi kysymykseen 1 keskiarvoa korkeammalla (tai alemmalla) arvolla, vastasiko vastaaja myös kysymykseen 2 keskiarvoa korkeammalla tai (alemmalla) arvolla? Tässä tapauksessa vastaukset eivät korreloi erityisen hyvin. (-0,1732) =LASKE(A2:A11) tai =LASKE.A(A2:A11) Määrittää palautettujen tutkimusten kokonaismäärän (10). Huomaa, että ellei tutkimuksen tunniste ole numeerinen, sinun on käytettävä COUNTA-funktiota COUNT-funktion sijaan. =LASKE(B2:B11) tai =LASKE.A(B2:B11) Määrittää ensimmäisen kysymyksen vastauksien kokonaismäärän (9). Laajentamalla tämän funktion koko riville, voit määrittää jokaisen kysymyksen vastauksien määrän. Koska kaikki data on numeerista, LASKE.A palauttaa saman tuloksen. Jos kuitenkin tutkimuksessa olisi käytetty A - E, eikä 1 - 5, sinun olisi käytettävä LASKE.A-funktiota laskemaan tulokset yhteen. Funktio ja argumentit Tulosten kuvaus =LASKE.TYHJÄT(B2:B11) Määrittää tyhjien solujen lukumäärän, joissa on mitättömiä tai tyhjiä vastauksia. Jos laajennat tämän kaavan koko riville, huomaat, että kysymykseen 3 (sarake D) oli kolme mitätöntä tai tyhjää vastausta. Tämän takia voit katsoa kysymystä 3 selvittääksesi, onko se jotenkin kiistanalainen tai huonosti muotoiltu, koska kaikissa muissa kysymyksissä vastaamattomia tai mitättömiä oli vain 1. =LASKE.JOS(B2:B11; ”=5”) Määrittää vastaajien määrän, jotka vastasivat määrättyyn kysymykseeen (tässä tapauksessa kysymykseen 1) arvolla 5. Jos laajennat kaavan koko riville, huomaat, että vain kysymykset 1 ja 4 ovat saaneet jotkut vastaajat antamaan arvon 5. Jos tutkimuksessa olisi käytetty arvoja A - E, sinun olisi käytettävä =LASKE.JOS(B2:B11; ”=E”)- funktiota. =KOVARIANSSI(B2:B11, C2:C11) Määrittää kovarianssin kysymyksille 1 ja 2. Kovarianssi on sen mitta, kuinka paljon kaksi muuttujaa (tässä tapauksessa kyselyn vastaukset) vaihtuvat yhdessä. Erityisesti tässä katsotaan kysymyksiä: Jos vastaaja vastasi kysymykseen 1 keskiarvoa korkeammalla (tai alemmalla) arvolla, vastasiko vastaaja myös kysymykseen 2 keskiarvoa korkeammalla tai (alemmalla) arvolla? Huomaa: KOVARIANSSI ei toimi taulukossa, jossa käytetään asteikkoa A-E, koska se edellyttää numeerisia argumentteja. =KESKIHAJONTA(B2:B11) tai =KESKIHAJONTAPVÄ(B2:B11) Määrittää keskihajonnan (yhden hajonnan mitan) kysymyksen 1 vastauksille. Jos laajennat kaavan koko riville, huomaat, että kysymyksen 3 vastauksissa on korkein keskihajonta. Jos tulokset edustaisivat vastauksia koko tutkittavalta populaatiolta, ei vain näytejoukolta, käytettäisiin KESKIHAJONTAPVÄ-funktiota KESKIHAJONTAfunktion sijaan. Huomaa, että KESKIHAJONTA on VAR-funktion neliöjuuri. =VAR(B2:B11) tai =VARP(B2:B11) Määrittää varianssin (yhden hajonnan mitan) kysymyksen 1 vastauksille. Jos laajennat kaavan koko riville, huomaat,että kysymyksen 5 vastauksissa on pienin varianssi. Jos tulokset edustaisivat vastauksia koko tutkittavalta populaatiolta, eikä vain näytejoukolta, käytettäisiin VARP-funktiota VAR-funktion sijaan. Huomaa, että VAR on KESKIHAJONTA-funktion neliö. The NewtonScript Programming Language  Apple Computer, Inc. © 1996, Apple Computer, Inc. All rights reserved. No part of this publication or the software described in it may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, electronic, photocopying, recording, or otherwise, without prior written permission of Apple Computer, Inc., except in the normal use of the software or to make a backup copy of the software. The same proprietary and copyright notices must be affixed to any permitted copies as were affixed to the original. This exception does not allow copies to be made for others, whether or not sold, but all of the material purchased (with all backup copies) may be sold, given, or loaned to another person. Under the law, copying includes translating into another language or format. You may use the software on any computer owned by you, but extra copies cannot be made for this purpose. Printed in the United States of America. The Apple logo is a registered trademark of Apple Computer, Inc. Use of the “keyboard” Apple logo (Option-Shift-K) for commercial purposes without the prior written consent of Apple may constitute trademark infringement and unfair competition in violation of federal and state laws. No licenses, express or implied, are granted with respect to any of the technology described in this book. Apple retains all intellectual property rights associated with the technology described in this book. This book is intended to assist application developers to develop applications only for licensed Newton platforms. Apple Computer, Inc. 20525 Mariani Avenue Cupertino, CA 95014 408-996-1010 Apple, the Apple logo, APDA, AppleLink, LaserWriter, Macintosh, and Newton are trademarks of Apple Computer, Inc., registered in the United States and other countries. The light bulb logo, MessagePad, NewtonScript, and Newton Toolkit are trademarks of Apple Computer, Inc. Adobe Illustrator and PostScript are trademarks of Adobe Systems Incorporated, which may be registered in certain jurisdictions. FrameMaker is a registered trademark of Frame Technology Corporation. Helvetica and Palatino are registered trademarks of Linotype Company. ITC Zapf Dingbats is a registered trademark of International Typeface Corporation. Simultaneously published in the United States and Canada. LIMITED WARRANTY ON MEDIA AND REPLACEMENT If you discover physical defects in the manual or in the media on which a software product is distributed, APDA will replace the media or manual at no charge to you provided you return the item to be replaced with proof of purchase to APDA. ALL IMPLIED WARRANTIES ON THIS MANUAL, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE LIMITED IN DURATION TO NINETY (90) DAYS FROM THE DATE OF THE ORIGINAL RETAIL PURCHASE OF THIS PRODUCT. Even though Apple has reviewed this manual, APPLE MAKES NO WARRANTY OR REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS MANUAL, ITS QUALITY, ACCURACY, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS MANUAL IS SOLD “AS IS,” AND YOU, THE PURCHASER, ARE ASSUMING THE ENTIRE RISK AS TO ITS QUALITY AND ACCURACY. IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT OR INACCURACY IN THIS MANUAL, even if advised of the possibility of such damages. THE WARRANTY AND REMEDIES SET FORTH ABOVE ARE EXCLUSIVE AND IN LIEU OF ALL OTHERS, ORAL OR WRITTEN, EXPRESS OR IMPLIED. No Apple dealer, agent, or employee is authorized to make any modification, extension, or addition to this warranty. Some states do not allow the exclusion or limitation of implied warranties or liability for incidental or consequential damages, so the above limitation or exclusion may not apply to you. This warranty gives you specific legal rights, and you may also have other rights which vary from state to state. 11/95 iii Contents Figures, Tables, and Listings ix Preface About This Book xi About the Audience xi Related Books xi Sample Code xii Conventions Used in This Book xiii Special Fonts in Text xiii Syntax Conventions xiv Developer Products and Support xv Undocumented System Software Objects xvi Chapter 1 Overview 1-1 Introduction 1-1 Semantic Overview 1-2 Expressions 1-2 The Object Model 1-2 Data Types and Classes 1-3 Scope 1-4 Extent 1-6 Garbage Collection 1-6 How Is NewtonScript Dynamic? 1-7 Basic Syntax 1-8 Semicolon Separators 1-8 In-Line Object Syntax 1-9 Character Set 1-9 Comments 1-10 A Code Example 1-10 Compatibility 1-11 iv Chapter 2 Objects, Expressions, and Operators 2-1 Objects and the Class System 2-1 Classes and Subclasses 2-3 Immediate and Reference Values 2-5 The NewtonScript Objects 2-8 Character 2-8 Boolean 2-9 Integer 2-10 Real 2-11 Symbol 2-12 String 2-13 Array 2-15 Array Accessor 2-16 Frame 2-17 Frame Accessor 2-19 Path Expression 2-20 Expressions 2-22 Variables 2-23 Local 2-23 Constants 2-26 Constant 2-26 Quoted Constant 2-28 Operators 2-29 Assignment Operator 2-29 Arithmetic Operators 2-31 Equality and Relational Operators 2-33 Boolean Operators 2-34 Unary Operators 2-35 String Operators 2-36 Exists 2-37 Operator Precedence 2-38 v Chapter 3 Flow of Control 3-1 Compound Expressions 3-1 If…Then…Else 3-2 Iterators 3-3 For 3-4 Foreach 3-6 Loop 3-10 While 3-11 Repeat 3-12 Break 3-13 Exception Handling 3-13 Working with Exceptions 3-14 Defining Exceptions 3-15 Exception Symbol Parts 3-16 Exception Frames 3-16 The Try Statement 3-18 Throwing Exceptions 3-19 Throwing an Exception to Another Handler 3-20 Catching Exceptions 3-21 Responding to Exceptions 3-24 Chapter 4 Functions and Methods 4-1 About Functions and Methods 4-1 Function Constructor 4-2 Return 4-3 Function Invocations 4-3 Message-Send Operators 4-4 Call With 4-6 Global Function Declaration 4-7 Global Function Invocation 4-8 Passing Parameters 4-8 vi Function Objects 4-9 Function Context 4-10 The Lexical Environment 4-10 The Message Environment 4-11 An Example Function Object 4-13 Using Function Objects to Implement Abstract Data Types 4-15 Native Functions 4-16 Chapter 5 Inheritance and Lookup 5-1 Inheritance 5-2 Prototype Inheritance 5-2 Creating Prototype Frames 5-2 Prototype Inheritance Rules 5-3 Parent Inheritance 5-4 Creating Parent Frames 5-4 Parent Inheritance Rules 5-5 Combining Prototype and Parent Inheritance 5-6 Inheritance Rules for Slot and Message Lookup 5-7 Inheritance Rules for Testing for the Existence of a Slot 5-9 Inheritance Rules for Setting Slot Values 5-9 An Object-Oriented Example 5-11 Chapter 6 Built-In Functions 6-1 Compatibility 6-2 New Functions 6-2 New Object System Functions 6-2 New String Functions 6-3 New Array Functions 6-3 New Sorted Array Functions 6-3 New Message Sending Functions 6-4 vii New Data Stuffing Functions 6-4 New Functions to Get and Set Globals 6-4 New Miscellaneous Functions 6-4 Obsolete Functions 6-5 Object System Functions 6-5 String Functions 6-16 Bitwise Functions 6-23 Array Functions 6-23 Sorted Array Functions 6-36 Integer Math Functions 6-45 Floating Point Math Functions 6-48 Managing the Floating Point Environment 6-65 Financial Function 6-69 Exception Functions 6-71 Message Sending Functions 6-73 Data Extraction Functions 6-77 Data Stuffing Functions 6-81 Getting and Setting Global Variables and Functions 6-86 Miscellaneous Functions 6-89 Summary of Functions and Methods 6-92 Appendix A Reserved Words A-1 Appendix B Special Character Codes B-1 Appendix C Class-Based Programming C-1 What Are Classes Good For? C-1 Classes: A Brief Reminder C-2 Inheritance in NewtonScript C-3 viii The Basic Idea C-3 Practical Issues C-6 Class Variables C-7 Superclasses C-9 Using Classes to Encapsulate Soup Entries C-10 ROM Instance Prototypes C-10 Leaving Instances Behind C-11 Conclusion C-11 Appendix D NewtonScript Syntax Definition D-1 About the Grammar D-2 Phrasal Grammar D-2 Lexical Grammar D-12 Operator Precedence D-16 Appendix E Quick Reference Card E-1 Glossary GL-1 Index IN-1 ix Figures, Tables, and Listings Chapter 1 Overview 1-1 Figure 1-1 A sample data structure 1-4 Listing 1-1 A simple frame 1-3 Listing 1-2 A dynamic example 1-11 Chapter 2 Objects, Expressions, and Operators 2-1 Figure 2-1 NewtonScript built-in classes 2-3 Figure 2-2 NewtonScript code sample 2-6 Figure 2-3 C code sample 2-7 Table 2-1 Characters with special meanings 2-9 Table 2-2 Codes for specifying special characters within strings 2-14 Table 2-3 Special slot names and their specifications 2-19 Table 2-4 Constant substitution work-arounds 2-27 Table 2-5 Operator precedence and associativity 2-39 Chapter 3 Flow of Control 3-1 Figure 3-1 Data objects and their relationships 3-9 Table 3-1 Result comparison for the iterators foreach and foreach deeply 3-10 Table 3-2 Exception frame data slot name and contents 3-17 Table 3-3 Exception frame examples 3-17 Listing 3-1 Exception symbols 3-16 Listing 3-2 The Throw function 3-19 Listing 3-3 Several onexception clauses ordered improperly 3-22 x Listing 3-4 The onexception clauses properly ordered 3-22 Listing 3-5 Improperly nested try blocks 3-23 Listing 3-6 Nested try block problem fixed using begin and end (shown in bold) 3-23 Listing 3-7 Handling a soup store exception 3-24 Listing 3-8 An exception handler checking the exception frame 3-25 Chapter 4 Functions and Methods 4-1 Figure 4-1 The parts of a function object 4-10 Figure 4-2 functionObject1 dissected 4-14 Chapter 5 Inheritance and Lookup 5-1 Figure 5-1 A prototype frame 5-3 Figure 5-2 A prototype chain 5-4 Figure 5-3 Parent-child relationship 5-5 Figure 5-4 Prototype and parent inheritance interaction order 5-7 Figure 5-5 An inheritance structure 5-12 Chapter 6 Built-In Functions 6-1 Table 6-1 Floating point exceptions 6-65 Table 6-2 Exception frame data slot name and contents 6-72 Appendix B Special Character Codes B-1 Table B-1 Character codes sorted by Macintosh character code B-1 Table B-2 Character codes sorted by Unicode B-7 P R E F A C E xi About This Book The NewtonScript Programming Language is the definitive reference for anyone learning the NewtonScript programming language. If you are planning to begin developing applications for the Newton platform, you should read this book first. After you are familiar with the NewtonScript language you should read the Newton Programmer’s Guide for implementation details and the Newton Toolkit User’s Guide to learn how to install and use Newton Toolkit, which is the development environment for writing NewtonScript programs for the Newton platform. About the Audience This book is for programmers who have experience with high level programming languages, like C or Pascal, and who already understand object-oriented programming concepts. If you are not familiar with the concepts of object-oriented programming there are many books available on the subject available at your local computer bookstore. Related Books This book is one in a set of books included with Newton Toolkit, the Newton development environment. You’ll also need to refer to these other books in the set: ■ Newton Programmer’s Guide: System Software. This set of books is the definitive guide and reference for Newton programming topics other than communications. P R E F A C E xii ■ Newton Programmer’s Guide: Communications. This book is the definitive guide and reference for Newton communications programming. ■ Newton Toolkit User’s Guide. This book introduces the Newton development environment and shows how to develop Newton applications using Newton Toolkit. You should read this book first if you are a new Newton application developer. ■ Newton Book Maker User’s Guide. This book describes how to use Newton Book Maker and Newton Toolkit to make Newton digital books and to add online help to Newton applications. You have this book only if you purchased the Newton Toolkit package that includes Book Maker. ■ Newton 2.0 User Interface Guidelines. This book contains guidelines to help you design Newton applications that optimize the interaction between people and Newton devices. Sample Code The Newton Toolkit product includes many sample code projects. You can examine these samples, learn from them, experiment with them, and use them as a starting point for your own applications. These sample code projects illustrate most of the topics covered in this book. They are an invaluable resource for understanding the topics discussed in this book and for making your journey into the world of Newton programming an easier one. The Newton Developer Technical Support team continually revises the existing samples and creates new sample code. You can find the latest collection of sample code in the Newton developer area on eWorld. You can gain access to the sample code by P R E F A C E xiii participating in the Newton developer support program. For information about how to contact Apple regarding the Newton developer support program, see the section “Developer Products and Support,” on page xv. Conventions Used in This Book This book uses various conventions to present information. Special Fonts in Text The following special fonts are used: ■ Boldface. Key terms and concepts appear in boldface on first use. These terms are also defined in the Glossary. ■ Courier typeface. Code listings, code snippets, and special identifiers in the text such as predefined system frame names, slot names, function names, method names, symbols, and constants are shown in the Courier typeface to distinguish them from regular body text. If you are programming, items that appear in Courier should be typed exactly as shown. ■ Italic typeface. Italic typeface is used in code to indicate replaceable items, such as the names of function parameters, which you must replace with your own names. The names of other books are also shown in italic type, and rarely, this style is used for emphasis. P R E F A C E xiv Syntax Conventions In this manual, syntax is presented in two formats, as an extended BNF, and as bubble diagrams defined as follows: Bubble Diagram Extended BNF Description terminal Oval boxes / courier text indicates a word or character that must appear exactly as shown. Ambiguous terminal characters are enclosed in single quotes (‘’). nonterminal Rectangular boxes / italics indicate a word that is defined further. [] Dashed lines / brackets indicate that the enclosed item is optional. {choose|one} Forked arrows / a group of words, separated by vertical bars (|) and grouped with curly brackets, indicates an either/or choice. []* A dashed box with a repeating arrow / an asterik (*) indicates that the preceding item(s), which is enclosed in square brackets, can be repeated zero or more times. []+ A solid box with a repeating arrow / a plus sign (+) indicates that the preceding item(s), which is enclosed in square brackets, can be repeated one or more times. terminal non-terminal optional optional option 1 choice option 2 repeat/optional repeat P R E F A C E xv Developer Products and Support APDA is Apple’s worldwide source for hundreds of development tools, technical resources, training products, and information for anyone interested in developing applications for Apple computer platforms. Customers receive the Apple Developer Catalog featuring all current versions of Apple and the most popular third-party development tools. APDA offers convenient payment and shipping options, including site licensing. To order product or to request a complimentary copy of the Apple Developer Catalog: APDA Apple Computer, Inc. P.O. Box 319 Buffalo, NY 14207-0319 If you provide commercial products and services, call 408-974-4897 for information on the developer support programs available from Apple. Telephone 1-800-282-2732 (United States) 1-800-637-0029 (Canada) 716-871-6555 (International) Fax 716-871-6511 AppleLink APDA America Online APDAorder CompuServe 76666,2405 Internet APDA@applelink.apple.com P R E F A C E xvi Undocumented System Software Objects When browsing in the NTK Inspector window, you may see functions, methods, and data objects that are not documented in this book. Undocumented functions, methods, and data objects are not supported, nor are they guaranteed to work in future Newton devices. Using them may produce undesirable effects on current and future Newton devices. Introduction 1-1 C H A P T E R 1 Overview 1 NewtonScript is a state-of-the-art, dynamic, object-oriented programming language, developed for the Newton platform. Introduction 1 The goal of NewtonScript is to enable developers to create fast, smart applications easily. This calls for a language that is ■ expressive, flexible, and straightforward to use ■ consistent enough to allow reuse of concepts and structures ■ portable enough to permit exploration of different architectures, and ■ sufficiently compact to work with limited RAM The constraints of the Newton system require a language capable of producing reusable code libraries, which uses memory efficiently, and collects garbage automatically. NewtonScript is based on principles first used in Smalltalk and LISP, and was also influenced by Self, a language developed at Stanford University. Figure 1-0 Listing 1-0 Table 1-0 C H A P T E R 1 Overview 1-2 Semantic Overview Semantic Overview 1 This section briefly introduces some special features of the NewtonScript language. Expressions 1 NewtonScript is an expression-based language, rather than statement-based, as many other programming languages are. Almost everything in NewtonScript returns a value. Therefore, we talk about expressions rather than statements or commands in this manual. The Object Model 1 NewtonScript is built on an object model. All data is stored as objects, or typed pieces of data. This differs from other object-oriented languages like C++ or Object Pascal, where data is a hybrid of objects and regular data types. NewtonScript also differs from Smalltalk, although, like Smalltalk, it represents all data as objects. Only one kind of NewtonScript object, the frame, can receive messages. The Newton object model structures data by using two kinds of 32-bit values to represent objects. These values are ■ immediates—in which the 32 bits contain immutable data ■ references—in which the 32 bits refer indirectly to an object This is explained in greater detail in the section “Immediate and Reference Values” beginning on page 2-5 of Chapter 2, “Objects, Expressions, and Operators.” C H A P T E R 1 Overview Semantic Overview 1-3 Data Types and Classes 1 NewtonScript uses a class as a semantic type as opposed to a typical data type. The Newton platform uses classes to let parts of the system, like the Intelligent Assistant (which is described in the Newton Programmer’s Guide) determine properties of the object at run time. Thus it can treat particular types of objects in interesting and different ways. For instance, you can set up a data object containing personal data as shown in Listing 1-1. Note that the curly braces surrounding Listing 1-1 denote a frame object, that contains places, or slots, for objects that have the identifiers name, company, and phones. Listing 1-1 A simple frame { name: "Walter Smith", company: "Apple Computer", phones: ["408-996-1010", "408-555-1234"] } In the Newton system, objects can be typed. For instance, the values of name and company are plain strings. However, you can further define phones as being of type workPhone and faxPhone. These user-defined objects can then be manipulated by the Newton system in different ways. For instance, when the person using your application uses a fax phone number, a set of actions different from those for a work phone number is initiated. The data object constructed in Listing 1-1 is shown in Figure 1-1. The facility that lets the system know about an object’s type is known as latent typing. Types are associated with objects. This means that a variable can hold any kind of object and can hold different types of objects at different times. The class system is explained in further detail in “Objects and the Class System” beginning on page 2-1. C H A P T E R 1 Overview 1-4 Semantic Overview Figure 1-1 A sample data structure Note Smalltalk enthusiasts should keep in mind that NewtonScript classes have nothing in common with those used in class-based programming in a language such as Smalltalk. You can, however, use class-based programming concepts to organize parts of your NewtonScript application. For more information about this see Appendix C, “Class-Based Programming.” ◆ Scope 1 The part of a program within which a variable can be used is called the scope of the variable. Normally a variable is available within the function where it is defined, although slots that are used like variables can also be inherited from proto and parent frames. See the section “Frame” beginning on page 2-17, and Chapter 5, “Inheritance and Lookup,” for more information about frames and inheritance, respectively. When looking up the value of a variable, NewtonScript first searches local variables, then global variables, and finally inherited variables, through the proto and parent chains. Frame Full Name "Walter Smith" Corp Name "Apple" Array Work phone FAX phone 0 1 Work Phone 408-996-1010 FAX Phone 408-555-1234 Name: Company: Phones: "Walter Smith" "Apple" ["408-966-1010", "408-555-1234"] Name Company Phones C H A P T E R 1 Overview Semantic Overview 1-5 Consider, for example, the following code segment: aFrame:= {foo: 10, bar: func(x) begin if foo then Print ("hello"); if x > 0 then begin local foo; //local variable to function foo:= 42; end return foo; end; } Here the local variable foo is restricted in scope to the function definition bar. Even though foo is declared within a begin … end code segment, its scope is not confined by that construct. When foo is used in the expression, if foo then Print ("hello"); before it is declared as a local variable, it is already defined by the compiler as an implicit local and is initialized to the value of nil. If the slot variable, foo, with the value of 10, is to be used as the value for foo, that is stated explicitly as if self.foo then Print ("hello"); Otherwise, the search for the value of the variable goes by the rules, first to local variables, (the local variable foo was initialized to nil), then to global variables named foo, and then to inherited slot variables named foo. In this example, the compiler creates a local variable foo, which is local to the method bar and is not initialized until the if expression that assigns it the value 42 executes. Therefore, nothing is ever printed. C H A P T E R 1 Overview 1-6 Semantic Overview When you send the message, bar, with a parameter value of ten, to the aFrame object, in the expression aFrame:bar(10) a value of 42 is returned. The same message with a parameter value of negative five aFrame:bar(-5) returns nil. See the section “Function Invocations” in Chapter 4 to learn more about message sending. Extent 1 The extent of a variable refers to the period of time in which it may be used. In many languages, the scope of a variable is the same thing as its extent. However, in NewtonScript a variable has data storage space allocated for it while it is referenced anywhere in executing code. Automatic garbage collection occurs only after an object is no longer referenced anywhere. Therefore, storage allocated for data structures is available until no references to the structure exist. Make sure not to leave any references to large data structures you’ve allocated after you’re finished using them. If you do, NewtonScript will not reclaim the associated memory. An example of where you might think about this on the Newton platform is when you close an application, you can set slots to nil in the application’s base frame to conserve memory. Garbage Collection 1 In NewtonScript, garbage collection—that is, reclaiming the storage of objects that are no longer used—is carried out automatically by the system. Thus, the programmer does not need to worry about memory management. C H A P T E R 1 Overview Semantic Overview 1-7 In fact, in NewtonScript it’s impossible to have “dangling pointers,” which often cause the most insidious and hard to find bugs in an application. If you’ve had to do garbage disposal manually in another language you can relax; the Newton system reclaims memory for you sometime after the last reference to an object goes away. Setting the value of all slots and variables referring to an object to nil allows the Newton garbage collector to reclaim the memory used by the object. Automatic garbage collection is triggered every time the system runs out of memory. There’s not really any reason to invoke garbage collection manually. However, if you must do so, you can call the global function GC. For more information on this function, see the chapter “Debugging” in The Newton Toolkit User’s Guide. How Is NewtonScript Dynamic? 1 In general, the term “dynamic” refers to the ability of the language to change properties of objects at run time. Therefore, the NewtonScript dynamic model is useful when you want to change an object at run time. For instance, it’s possible to change an object to another kind of object in response to a user’s actions while the application is running, if needed. You can also add new data to objects while an application is in use. For instance, you can write NewtonScript code that dynamically adds a new variable to an executing object at run time and uses it, then adds a method to the same object and uses it, and finally changes the inheritance structure of the object by adding a special reference to another object. (This “special reference” is what is denoted as _parent in Listing 1-2 on page 1-11). The object can now use a method it inherits from the parent frame. All of these operations are impossible in a static language, and they require a great deal of thought and discipline in dynamic languages. Though this powerful feature enables you to interactively program in a way that is impossible in static languages, it should be used sparingly and with caution. C H A P T E R 1 Overview 1-8 Basic Syntax Basic Syntax 1 Rather than invent an entirely new syntax, NewtonScript was designed with Pascal in mind. Wherever possible, its syntax is modeled closely on Pascal’s. Semicolon Separators 1 The semicolon (;) is used to separate lines, not to terminate them. Though semicolons are not required at the end of a line, you may spread one expression over several lines or enter multiple expressions on a single line by using the semicolon. Expressions can be entered in a free-form manner, but we recommend that standard indentation be used for enhanced readability, as in this example: if expression then expression else another_expression; NewtonScript syntax allows you to use as much white space as you wish; it is ignored. Note If you forget to add an important semicolon at the end of a NewtonScript expression, the interpreter uses whatever is on the next line as it tries to interpret a larger statement than intended, thus causing unusual error reports. ◆ C H A P T E R 1 Overview Basic Syntax 1-9 In-Line Object Syntax 1 NewtonScript has two syntax features that make it easy to create objects: object literals and object constructors. The object literal syntax lets you put a complex object into your program as easily as an integer. This syntactic mode is entered by writing a single quote, as shown in this simple example of a frame containing two strings: x := '{name: "xxx", phone: "yyy"}; The object is constructed at compile time, and a reference to the same object results each time the object literal is evaluated. The object constructor syntax makes it easy to construct objects at run time. The syntax is similar to object literals, but without the quote. In the object constructor syntax the slot value positions are evaluated expressions rather than nested literals. Each time the constructor is evaluated, a new object is created, and its slots are filled in with the results of the slot expressions. An object constructor is much easier to read than the equivalent operation written without it, as shown in the following two examples. First, the example with an object constructor: x := {name: first && last, tax: wage * taxRate}; Next, the equivalent operation without the object constructor: x := {}; x.name := first && last; x.tax := wage * taxRate; Character Set 1 NewtonScript uses the standard 7-bit ASCII character set rather than the enhanced ASCII character set used by Macintosh computers. This ensures that your code will work in any Newton development environment. C H A P T E R 1 Overview 1-10 A Code Example Comments 1 NewtonScript uses the same convention for delineating comments as the C++ programming language. Multiline comment text needs to be surrounded by an opening right slash, asterisk (/*) and a matching asterisk, right slash (*/) at the end. For example: /* This is an example of a comment. It can be on one line or as many lines as you need. */ If your comment is short enough to keep to one line, you can use two back slashes (//) before the text to signal that the rest of the line is a comment and should be ignored. This is often useful for putting a comment on the same line as a line of code, as in this example: x:= 5 ; //This is a single-line comment. Note that nested multiline comments are not allowed. However, within a /* ... */ comment block, comments using the // notation are allowed. A Code Example 1 If you like to try to understand code before reading the manual, continue on through this section. Otherwise, stop here and go to the next chapter. Note that in the code the curly brackets ({}) denote a frame object, colonequal (:=) is the assignment operator, and the colon (:) is the message-send operator, which sends the message following it to the frame expression that appears before it. The code shown in Listing 1-2 is partially described in the section “How Is NewtonScript Dynamic?” beginning on page 1-7. C H A P T E R 1 Overview Compatibility 1-11 Listing 1-2 A dynamic example y := { YMethod: func () print("Y method"), yVar: 14 }; x := { Demo: func () begin self.newVar := 37; print(newVar); self.NewMethod := func () print("hello"); self:NewMethod(); self._parent := y; print(yVar); self:YMethod(); end }; x:Demo(); 37 "hello" 14 "Y method" #2 NIL Compatibility 1 There are two main enhancements to the 2.0 version of the NewtonScript language: ■ new subclassing mechanism ■ native functions The new subclassing mechanism is described in the section “Classes and Subclasses” on page 2-3. This new subclassing mechanism allows userdefined classes to have more precise semantic definitions, while preserving the logical structure of these categories. C H A P T E R 1 Overview 1-12 Compatibility Native functions, described in the section “Native Functions” on page 4-16, are executed directly by the Newton processor, instead of going through the interpreter. This can increase the speed of your functions, but can also slow them down. In addition, two type identifiers have been added to the language to speed up processing of native functions: int and array. There are two places where these type identifiers can be used: in declaring local variables, and in the argument list of a function declaration. For information on their syntax, see the section “Local” on page 2-23, and “Function Constructor” on page 4-2. For a detailed discussion of native functions and the use of type identifiers, see the chapter “Tuning Performance,” of the Newton Toolkit User’s Guide. The 2.0 version of the language also includes new built-in functions, for a list of these see the section “Compatibility” beginning on page 6-2 of Chapter 6, “Built-In Functions.” Objects and the Class System 2-1 C H A P T E R 2 Objects, Expressions, and Operators 2 This chapter discusses objects, expressions, and operators. Objects and the Class System 2 The semantic type of an object is identified by a class. The Newton object system has four built-in primitive classes which describe an object’s basic type. They are: ■ Immediate ■ Binary ■ Array ■ Frame Figure 2-0 Listing 2-0 Table 2-0 C H A P T E R 2 Objects, Expressions, and Operators 2-2 Objects and the Class System You can determine the primitive class of an object, obj, by executing the expression PrimClassOf(obj). Similarly, you can determine the class of an object, obj, by executing the expression ClassOf(obj). A number of functions exist to check if an object is of a particular type, which are faster than ClassOf and PrimClassOf. These are IsArray, IsFrame, IsInteger, IsSymbol, IsCharacter, IsReal, and IsString. These and the other Newton built-in functions are documented in Chapter 6, “Built-In Functions.” The primitive classes are of two categories: immediates and reference objects. The reference object category is composed of the binary, array, and frame classes. See “Immediate and Reference Values” beginning on page 2-5 for a more detailed discussion of the differences between these two categories of objects. Objects with Immediate as their primitive class can be further identified as belonging to a class of Int, Char, or Boolean. System-defined objects with Binary as their primitive class can also be further identified as belonging to a class of Symbol, String, or Real. NewtonScript also allows user-defined classes for reference objects. The NewtonScript class structure is shown in Figure 2-1 Classes function as semantic types that inform the system about the data in a reference object. For example, the class 'string indicates a binary object containing a string and the class 'phoneNumber indicates a string containing a phone number. With this knowledge, a Newton device could use phone numbers in ways it would not use other strings (to dial a phone, for instance.) C H A P T E R 2 Objects, Expressions, and Operators Objects and the Class System 2-3 Figure 2-1 NewtonScript built-in classes Classes and Subclasses 2 NewtonScript provides the SetClass(obj, classSymbol) function to assign a class, classSymbol, to a reference object, obj. Arrays and frames also have internal mechanisms for setting user-defined classes, but for binary objects the SetClass function must be used. These mechanisms are described in “Array” beginning on page 2-15, and “Frame” beginning on page 2-17. Primitive Classes Reference Reference Reference Reference Array 0 1 2 3 Slot1 Slot2 Slot3 Slot4 Frame Classes Binary Reference Reference Reference Reference String Real "A string" 3.14159 Int Char Boolean 42 $A true Symbol 'someSymbol Immediate Value Binary Data C H A P T E R 2 Objects, Expressions, and Operators 2-4 Objects and the Class System Class symbols are arranged in a hierarchy; that is, some classes have subclasses. This allows objects to have more precise semantic definitions, while preserving the logical structure of these definitions. To create a subclass add a period (.) and a symbol to the class name. For example, '|rectangle.square| is a subclass of 'rectangle. Thus, a class symbol X is a subclass of a class symbol Y if either X is the same as Y, or Y is a prefix of X at a period (.) boundary. Everything is a subclass of the empty symbol ||. The symbol added after the period cannot, of course, itself contain a period (.). And neither symbol can contain a semicolon (;), which is reserved for future expansion. Furthermore, a class symbol that contains periods (.), must be surrounded by vertical bars (|), this is required by the syntax of a symbol which is described in “Symbol” beginning on page 2-12. You can use the built-in function IsSubclass(x, y) to determine if x is a subclass of y. You can determine if an object obj is of class x or any subclass of x by using the function IsInstance(obj, x). Note that this is just shorthand for IsSubclass(ClassOf(obj), x). For more information about these functions see Chapter 6, “Built-In Functions.” Note The period method of creating subclasses is new to NewtonScript; it is not supported by the NewtonScript interpreter on 1.x Newton devices. If your application might be run on a 1.x machine, do not use this mechanism. ◆ Adding classes to objects increases the complexity of your application. If you do not need to, do not add a class to your objects. Note also that the there is no subclass relationship in the sense being discussed in this section between the built-in primitive classes and those classes that are derived from them. String, for example, is not a subclass of Binary. The only class whose subclasses are important to the NewtonScript builtin functions is 'string. There are several string-manipulation functions that require their arguments to have either the class 'string or a subclass of 'string. C H A P T E R 2 Objects, Expressions, and Operators Objects and the Class System 2-5 A number of class symbols are automatically understood by the Newton system to be subclasses of 'string. These are: 'company, 'address, 'title, 'name, 'phone, 'homePhone, 'workPhone, 'faxPhone, 'otherPhone, 'carPhone, 'beeperPhone, and 'mobilePhone. To create other subclasses of 'string, e.g. 'firstName, define the class explicitly as '|string.firstName|. Immediate and Reference Values 2 In NewtonScript, values are stored in 32 bits, two of which are used for class information. Immediate objects (integers, characters, and Booleans) contain their values within the remaining 30 bits. Reference objects, (binaries, arrays, and frames) on the other hand, contain a reference to the area of memory where their data resides. This is an important distinction to keep in mind when assigning values to a variable. When a variable is assigned an immediate object, that object is copied directly into the variable. When a variable is assigned a reference object, on the other hand, only a reference to the object is copied in. The behavior caused by this can be somewhat confusing. Consider, for example the following code fragment: local a := {x: 1, y: 3}; local b := a; a.x := 2; // at this point b.x = 2 The first line declares a local variable, a, and assigns to it a frame with two slots – named x and y – whose values are 1 and 3, respectively. The second line creates another local variable, b, and assigns to it the value of a, which is a reference to the frame object created in the first line. Thus both local variables a and b now refer to the same are of memory. The third line (a.x := 2;) changes the value of the x slot. Since both variables a and b refer to the same frame, the value of b.x now also equals C H A P T E R 2 Objects, Expressions, and Operators 2-6 Objects and the Class System 2, though it was not explicitly assigned. You can see these results in Figure 2-2. Figure 2-2 NewtonScript code sample Consider now the C code: struct foo { int x,y; }; foo a; foo b; a.x = 1; a.y = 3; b = a; a.x = 2; // at this point b.x = 1 a.x : = 2; reference local a : = {x:1, y:3}; a reference a reference b reference a reference b x 2 y 3 x 1 y 3 x 1 y 3 local b : = a; C H A P T E R 2 Objects, Expressions, and Operators Objects and the Class System 2-7 In this example there are two separate struct objects, a and b, residing in separate areas of memory. Each struct contains two integers, x and y. The integer a.x is assigned the value 1. The value of struct a is saved in struct b and a.x then is set to 2. As you would expect, the value of b.x is unchanged at this point (it is still 1.) The results of this code example are shown in Figure 2-3. Figure 2-3 C code sample Note that assignments of references in NewtonScript are handled in the same manner as assignments of arrays and strings in C, since arrays and strings in C are pointers. Thus NewtonScript does not fundamentally differ from C in this respect. a.x = 2; x 1 y 3 a a x 1 y 3 b x 1 y 3 a x 2 y 3 b x 1 y 3 a.x = 1; a.y = 3; b = a; C H A P T E R 2 Objects, Expressions, and Operators 2-8 The NewtonScript Objects The NewtonScript Objects 2 This section individually discusses the objects listed in “NewtonScript built-in classes” on page 2-3: characters, Booleans, integers, reals, symbols, strings, arrays, and frames. Character 2 $ { nonEscapeCharacter |\ { \ | n | t |hexDigit hexDigit | u hexDigit hexDigit hexDigit hexDigit } } Characters in the standard character set are specified in your code by the dollar sign ($) and ■ a backslash escape character (\) followed by a special character specification such as, \, n, and t, or by 2 hexadecimal digits ■ a backslash escape character (\) followed by u (for Unicode) and four hexadecimal digits ■ a non-escape character The character set in Newton is stored as Unicode, in two bytes, to facilitate international conversions. By design, the first 128 characters match the ASCII character set. You must use Unicode character codes to specify special characters other than the ASCII character set. $ non-escape-character hex-digit hex-digit \ t u n \ hex-digit hex-digit hex-digit hex-digit C H A P T E R 2 Objects, Expressions, and Operators The NewtonScript Objects 2-9 Characters are immediate objects. (For more information about immediate objects see “Immediate and Reference Values” beginning on page 2-5.) nonEscapeCharacter Consists of any ASCII character with code 32–127 except the back slash (\). hexDigit Consists of: {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9| a | b| c | d | e | f | A | B | C | D | E | F} For example, $a or $7 represent the characters “a” and “7”, respectively. Special characters like “π” must be specified as Unicode (16-bit) characters by using the four-digit hex character code preceded by $\u. For example, the Unicode equivalent of “π” is: $\u03C0. You specify a new line by imbedding the code $\n in a string. Special character codes are summarized in Table 2-1. See Appendix B, “Special Character Codes,” for a list of the special characters and their Unicode equivalents. Boolean 2 NewtonScript defines only one Boolean constant, true. Functions and control structures use nil as false and anything else as true. When you don't have anything else to use as true, use the special immediate true. Table 2-1 Characters with special meanings Character code Meaning $\n newline character $\t tab character $\\ backslash character $\ hexDigit hexDigit hexadecimal $\u hexDigit hexDigit hexDigit hexDigit Unicode C H A P T E R 2 Objects, Expressions, and Operators 2-10 The NewtonScript Objects Integer 2 [ - ] {[ digit ]+ | 0x [hexDigit ]+} All integers in NewtonScript can be written in either decimal or hexadecimal. When a digit is prefixed with zero and the letter x (0x) it signifies a hexadecimal value. The optional minus sign (-) before a digit signifies a negative integer. Here are some examples of integers: 13475 -86 0x56a Integers range from 536870911 through -536870912. When that limit is exceeded behavior is undefined. Integers are immediate objects. (For more information about immediate objects see “Immediate and Reference Values” beginning on page 2-5.) digit Consists of: {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9} hexDigit Consists of: {digit | a | b| c | d | e | f | A | B | C | D | E | F} Note The integer -536870912 can’t be specified as a literal but it can be computed. ◆ - x hex-digit digit 0 C H A P T E R 2 Objects, Expressions, and Operators The NewtonScript Objects 2-11 Real 2 [-] [digit ]+.[ digit ]* [ { e | E } [ - ] [ digit ]+ A real number consists of one or more digits followed by a decimal point with zero or more additional digits. The optional minus (-) at the start indicates a negative number. You can specify scientific notation by placing the letter e (upper or lower case) directly after the last digit and following it with a negative or positive digit in the range of -308 to +308. digit Consists of: {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9} NewtonScript floating point real numbers are represented internally in double precision; 64 bits. They have approximately 15 decimal digits of precision. Some examples of real numbers include: -0.587 123.9 3.141592653589 Here are some examples of exponential notation used to represent real numbers: 763.112e4 87.3789E-45 -34.2e6 69.e-5 Real numbers are stored as binary objects and have the class Real. - e E digit . digit - digit C H A P T E R 2 Objects, Expressions, and Operators 2-12 The NewtonScript Objects Symbol 2 { { alpha | _ } [ { alpha | digit | _ } ]* | '|' [ { symbolChar| \ { '|' | \ } ]* '|'} A symbol is an object used as an identifier. NewtonScript uses symbols to name variables, classes, messages, and frame slots. You can also use symbols as simple identifying values, as you would use enumerated types in other languages. Symbol names may be up to 254 characters long and may include any printable ASCII character; for instance, |Weird%Symbol!| is valid. A symbol can be written by itself, without being enclosed in vertical bars, if it begins with an alphabetic character or an underscore and contains only alphabetic characters, underscores, and digits. NewtonScript is case insensitive, though it preserves case. alpha Consists of: {A–Z and a–z}. digit Consists of: {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}. symbolChar Consists of any ASCII character with code 32–127 except | or \. One place where the Newton system requires symbols is in exception handling. An example of an exception symbol is: |evt.ex.fr.intrp| Note that vertical bars are required because of the dots in the symbol. You can read more about them in “Defining Exceptions” beginning on page 3-15. _ alpha alpha _ digit | | \ | symbolChar \ C H A P T E R 2 Objects, Expressions, and Operators The NewtonScript Objects 2-13 Symbols appearing in expressions are normally evaluated as variable references. You can prevent this by preceding the symbol with a single quote ('). The quoted symbol evaluates to the symbol itself. See also “Quoted Constant” beginning on page 2-28. String 2 " [ { stringChar | escSeq } ]* [ truncEscape ] ] " A string constant is written as a sequence of characters enclosed in double-quotation marks. stringChar Consists of a tab character or any ASCII character with code 32–127 except the double quote (") or backslash (\). escSeq Consists of either a special character specification sequence or a unicode specification sequence.The special character specification sequence is: backslash (\) followed by a quote ("), backslash (\), the letter n or the letter t. The escape sequence for specifying Unicode begins with backslash-u (\u), is followed by any number of groups of four hexDigits, and ends with backslash-u (\u). truncEscape Consists of the shortened unicode specification sequence. It is: backslash-u (\u), is followed by any number of groups of four hexDigits. Here are some simple examples of strings: "pqr" "Now is the time" "" Within strings you can include Unicode characters that are not in the standard character set by inserting the escape code, \u, to toggle on the Unicode hex mode. Follow the \u with any number of groups of four- " truncEscape " escSeq stringChar C H A P T E R 2 Objects, Expressions, and Operators 2-14 The NewtonScript Objects number codes specifying the special character. You can add another \u to toggle the Unicode hex mode off and return to the regular character set, though, you are not required to toggle the hex mode off. (See Appendix B, “Special Character Codes,” for a list of these characters.) For example, you could specify the French phrase, “Garçon, l’addition, s’il vous plaît!”, by embedding Unicode in the string to specify the special characters as follows: "Gar\u00e7\uon, l’addition, s’il vous pla\u00ee\ut!" Other codes you use within strings to specify special characters are summarized in Table 2-2. You can also use array accessor syntax to refer to a character in a string. See “Array Accessor” beginning on page 2-16 for more information. For example, you can define a string aString := "ABCDE"; and then refer to the B by using an array accessor aLetter := aString[1]; Note that the index to aString is one, because array indices are numbered beginning with zero. Table 2-2 Codes for specifying special characters within strings Character code Meaning \n newline character \t tab character \u toggles Unicode on and off \\ backslash character \" double quote character C H A P T E R 2 Objects, Expressions, and Operators The NewtonScript Objects 2-15 Array 2 ‘[’ [ symbol : ] [ object [ , object]* [ , ] ] ‘]’ An array is a collection of zero or more objects enclosed in square brackets ([]) and separated by commas. The user-defined class for the array may optionally be specified by beginning the array with a symbol followed by a colon (:). symbol Consists of an identifier that is syntactically a symbol. If present, sets a user-specified class for the array. See the section “Symbol” beginning on page 2-12, for more information about their syntax. object May consist of any NewtonScript object. NewtonScript numbers the elements in an array by beginning with zero for the first element. Objects are separated by commas if there are more than one in the array. Note The syntax [symbol: object (…)] is ambiguous; the first symbol could be either a class for an array, or a variable to be used as the receiver for a message send. NewtonScript uses the first interpretation. (Message sends are described inChapter 4, “Functions and Methods.”) ◆ Semantically, the array is an ordered collection of objects which are indexed numerically, beginning with zero. As with frames, the array can hold any type of object, including methods, frames, and arrays. Like other nonimmediate objects, arrays can have a user-specified class, and can have their size changed dynamically. Here is a simple example of an array literal: [1,2,3] [ symbol : object , object , ] C H A P T E R 2 Objects, Expressions, and Operators 2-16 The NewtonScript Objects You can specify a class name for an array by preceding the first array element with any arbitrary identifier that specifies a class and a trailing colon, as shown here: [RandomData: [1,2,3], 0, "Last element"] Note that this array, which has the class RandomData, holds a mixture of objects. It contains another array as its first element, the integer zero as the second element, and a string as the third element. Note NewtonScript allows an optional trailing comma after the last array element. The trailing comma can be useful if you are going to add more elements to the array, or move elements around within an array, when editing source code. The presence or absence of this comma, does not affect the program. ◆ Array Accessor 2 arrayExpression ‘[’ indexEpression ‘]’ Array elements are accessed with an expression, that evaluates to an array, and an index expression, that evaluates to an integer and is enclosed in square brackets. arrayExpression An expression that evaluates to an array. indexEpression An expression that evaluates to an integer. The indexExpression corresponds to the element of the array you wish to access. Note that arrays are indexed starting with zero. For example, with the array myArray, which is defined as myArray := [123, [4,5,6], "Alice's Restaurant"]; arrayExpression [ indexExpression ] C H A P T E R 2 Objects, Expressions, and Operators The NewtonScript Objects 2-17 you access the second element in the array by using the expression: myArray[1]; This expression evaluates to [4,5,6]. You can also access array elements by using a path expression. Read about these in the section “Path Expression” beginning on page 2-20. Note that array accessors are actually operators and are included here for your convenience. The rest of the NewtonScript operators are documented in “Operators” beginning on page 2-29. Frame 2 ‘{’ [ symbol : value [ , symbol : value ]* [ , ] ] ‘}’ Aframe is a collection of zero or more slots enclosed in curly brackets and separated by commas. A slot consists of a symbol followed by a colon (:) and a slot expression. The symbol refers to the value of the slot expression. symbol A symbol giving the name of the slot. Note that slot symbols beginning with the underscore character (_) are reserved for system use; do not begin your slot symbol with the underscore character. value Can be any object, including another frame or a method. A frame is an unordered collection of slots which consist of a name and value pair. As with arrays, the value of a slot can be any type of object, including methods and even other frames and arrays. Frames can be used as repositories for data, like records in Pascal and structs in C, but can also be used as objects which respond to messages. As such, the frame is the basic programming unit in NewtonScript. { symbol : value , symbol : value , } C H A P T E R 2 Objects, Expressions, and Operators 2-18 The NewtonScript Objects A simple record-like frame containing names and phone numbers might appear as {name:"Joe Bob", phone:"4-5678", employee:12345} Here is an example frame that contains integers in the first three slots, and a method in the fourth slot: Jupiter := {size:491, distance:8110, speed: 34, position: func(foo) speed*foo/3.1416} You may specify an optional class name for a frame by using the slot name class. Inserting the class slot: class : 'planet into the Jupiter frame gives it an appropriate class name. Just as for array classes, the class of a frame gives it a type, not special properties. However, if you wanted to give all objects of class planet special characteristics and functionality you could use the NewtonScript inheritance structure to set up relationships that allow objects to inherit data from other objects. (See Chapter 5, “Inheritance and Lookup.”) You specify these relationships to other frames by referencing them from slots named _proto and _parent. The relationships these slots establish allow you to take advantage of the NewtonScript double inheritance scheme to construct object-oriented applications. Chapter 5, “Inheritance and Lookup,” describes these concepts. There are several slot names which are recognized by the system and used for special purposes. All these slots are optional. They are described in Table 2-3. C H A P T E R 2 Objects, Expressions, and Operators The NewtonScript Objects 2-19 Frame Accessor 2 frameExpr. {symbol | ( pathExpr )} Frame values are accessed with an expression–that evaluates to a frame–and either a symbol, or an expression enclosed in parentheses, that evaluates to a path expression. A frame accessor expression returns the contents of the specified slot, or if the slot does not exist the expression evaluates to nil. frameExpr Any expression that evaluates to a frame. symbol A symbol reference to a slot. See “Symbol” beginning on page 2-12 for the syntax of symbols. Table 2-3 Special slot names and their specifications Slot Name Specification class: identifier You use the special slot name class to specify a semantic type for your frame. The class of your object must be a symbol. _parent: frame You use the special slot name _parent to designate another frame as a parent frame to this frame. You can repeat this process, as necessary with other frames, to construct a parent inheritance chain. For information about inheritance see Chapter 5, “Inheritance and Lookup.” _proto: frame You use the special slot name _proto to designate another frame as a prototype frame to this frame. Repeat this process, as necessary with other frames, to construct a prototype inheritance chain. For information about inheritance see Chapter 5, “Inheritance and Lookup.” pathExpr symbol frameExpr . ( ) C H A P T E R 2 Objects, Expressions, and Operators 2-20 The NewtonScript Objects pathExpr Any expression that evaluates to a path expression object. The pathExpr corresponds to the slot of the frame you wish to access. Note that arrays are indexed starting with zero. See also “Path Expression” on page 2-20. Slots in a particular frame can be accessed by using a dot (.) followed by a symbol. For example, the expression: myFrame.name; evaluates to the contents of the name slot from the frame referenced by the variable myFrame. If the slot is not found in the specified frame using this syntax, the search for the slot continues through the inheritance chain. The next place NewtonScript looks is in the prototype frame and then in any of the prototype frame’s prototypes until the end of the prototype chain is reached. If the slot is not found, the search stops; it does not continue up through the parent frames. If the slot does not exist the expression evaluates to nil. The built-in functions GetVariable and GetSlot provide similar kinds of slot access but with different inheritance behavior. For more information see Chapter 6, “Built-In Functions.” For more information about the inheritance mechanism see Chapter 5, “Inheritance and Lookup.” Note that frame accessors are actually operators; they are included here for your convenience. The rest of the NewtonScript operators are documented in “Operators” beginning on page 2-29. You can also access frame slots by using a path expression. Read about these in the section “Path Expression.” Path Expression 2 Apath expression object encapsulates an access path through a set of objects. These objects are necessarily arrays or frames, since these are the only objects in NewtonScript that can contain other objects. C H A P T E R 2 Objects, Expressions, and Operators The NewtonScript Objects 2-21 A path expression can take one of three forms: ■ an integer ■ a symbol ■ an array of class pathExpr A path expression which is an integer necessarily refers to an array element, since frame slot names must be symbols. The following code sample shows how an integer path expression can be used to refer to an array element. anArray := ["zero", "one", "two"]; aPathExpression := 1; anArray.(aPathExpression); "one" Similarly, a symbol path expression necessarily refers to a frame slot, as in this code fragment: aFrame := {name: "Fred", height: 6.0, weight: 150}; aPathExpression := 'height; aFrame.(aPathExpression); 6.0 The third kind of path expression can refer to any object, whether it is nested in arrays, frames, or both. The following code sample shows how a path expression can encapsulate an access path to an object within both arrays and frames: myFrame:={name:"Matt",info:{grade:"B",tests:[87,96,73]}}; myPath:='[pathExpr: info,tests,1]; myFrame.(myPath); 96 C H A P T E R 2 Objects, Expressions, and Operators 2-22 Expressions If a path expression consists entirely of symbols, then the following syntax can be used: symbol[.symbol]+ symbol Any valid NewtonScript symbol. This syntax will actually create an array of class pathExpr, and a path expression written in this syntax will be printed out in the Inspector as an array of class pathExpr. The following code sample illustrates how this syntax is used. myFrame := {kind:"Cat",type:{hair:"Long",color:"Black"}}; myPath := 'type.color; myFrame.(myPath); "Black" Note that you can also use path expressions to set the value of a slot. For instance, to change the color of the cat, use an expression like: myFrame.(myPath):= "White"; Expressions 2 A simple expression consists of values and an operator, as shown in the code: 12 + 3; The values (12 and 3) and the infix operator plus (+), that appears in the line between them, are evaluated to return the value 15. symbol . symbol C H A P T E R 2 Objects, Expressions, and Operators Expressions 2-23 Variables are often used in expressions as named containers in which to store values. For example, you can use a variable on the left side of an assignment expression, as in currentScore := 12; to store a value. The variable currentScore then becomes the identifier for the value. For more information about the assignment operator (:=), see the section “Operators,” in this chapter. Variables 2 A variable is named by a symbol. You can use this symbol to refer to any kind of value; from numbers to frames. When a method is executing and a variable reference is encountered, the system evaluates the value of the variable. This is done following the variable lookup rules of NewtonScript’s double inheritance scheme. Variable lookup is discussed in Chapter 5, “Inheritance and Lookup.” The next section discusses the use of the local keyword to declare local variables. Local 2 local [typeIdentifier]varSymbol1 [:= expression ] [, varSymbol2 [:= expression] ]* The local declaration consists of the keyword local, and any number of initialization clauses – an optional type identifier, a symbol, and optionally an assignment operator (:=), followed by an expression. varSymbol1 := expression , varSymbol2 := expression local type-specifier C H A P T E R 2 Objects, Expressions, and Operators 2-24 Expressions varSymbol Consists of an identifier that is, syntactically, a symbol. The symbol names a variable that may be initialized with the optional expression. For more information on symbols see the section “Symbol” beginning on page 2-12. typeIdentifier Either of the keywords int or array. It is important to include a typeIdentifier when declaring local arrays or integers in a native function, since this will improve performance. For more information on native functions, see “Native Functions” on page 4-16. expression Consists of any valid NewtonScript expression. If a local variable is not explicitly initialized, NewtonScript will initialize it to nil. Use of the local keyword is optional. If it is omitted the variables are still declared and initialized—so long as no other variables have these names. This keyword should never be omitted, however, for the following reasons: ■ Performance is improved; the system has to search globals and the inheritance structure before declaring the local variable. ■ Possible hard-to-find bugs are avoided. If a global variable or an inherited slot has this name, that variable will have its value changed; a new variable will not be declared. When the value of the global variable or inherited slot is then accessed, unexpected results might occur. ■ Explicitly declaring local variables makes code easier to read and maintain. ■ The native compiler cannot handle undeclared locals. The scope of a local variable is restricted to the function definition in which it is declared. You can refer to it only within that function. C H A P T E R 2 Objects, Expressions, and Operators Expressions 2-25 You may use the local expression to identify a variable as local without initializing it as in the example: myFunc: func (x) begin local myVar, counter; ... end This example declares the variables myVar and counter as local variables and initializes them to nil. Then, each time the function definition for myFunc is executed, new local variables are created that are unique to that function. You may optionally use a local expression with one or multiple assignment clauses to assign a value to a variable or variables, as shown in the expression: local x:=3, y:=2+2, z; This expression creates three local variables, x, y, and z, and initializes them to the values of 3, 4, and nil, respectively. The declaration of the local variable is processed at compile time but the values are assigned at run time, when the expression is encountered. For example, the expressions x := 10; local x, y := 20; result in a value of 10 for x and a value of 20 for y. This works because local definitions work anywhere in the function. By contrast, a run-time error is produced by the following code fragment: x := y + 10; local x, y := 20; C H A P T E R 2 Objects, Expressions, and Operators 2-26 Expressions This is because at compile time x and y are declared and initialized to nil. When the assignments are made at run time, y evaluates to nil, and an error is produced in the computation of nil+10. Constants 2 There are several ways to get unchangeable objects in NewtonScript. You can ■ use the keyword constant ■ put a single quote character (') before an object literal ■ initialize a variable to a literal value Constant 2 constant constSymbol1 := expression [, constSymbol2 := expression ]* The constant declaration consists of the keyword constant and one or more initialization clauses consisting of a symbol, assignment operator (:=), and expression. constSymbol Consists of an identifier that is, syntactically, a symbol. For more information see the section “Symbol” beginning on page 2-12. expression Any expression consisting of operators and constants. The value of this expression becomes the value of constSymbol. When a constants is used as a value, NewtonScript effectively substitutes literal values for the constant. This means that if you declare a constant, as in the expression constant kConst := 32; constant constSymbol1 := expression , constSymbol2 := expression C H A P T E R 2 Objects, Expressions, and Operators Expressions 2-27 then when you use kConst as a value in your code, NewtonScript automatically substitutes the value 32. If you write sum := kConst + 10; it’s exactly as if you had written sum := 32 + 10; However, if you use the same identifier as anything other than a value, as in the expressions: x:kConst(42); kConst(42); x.kConst; the value you defined is not substituted. This can be a problem if you define a constant to have a function or method as its value. For these cases there are built-in functions you can use as work-arounds, as shown in Table 2-4. You should also note that the constant value you assign does not get substituted when used in a quoted expressions like: '{foo: kConst}; '[kConst]; See the next section to learn more about the single quote syntax. Table 2-4 Constant substitution work-arounds No Substitution Work-around x:kConst(42); Perform(x,kConst,[42]); kConst(42); call kConst with (42); x.kConst; x.(kConst); C H A P T E R 2 Objects, Expressions, and Operators 2-28 Expressions ▲ WA R N I N G You can create local constants by putting the declaration in a function. Since they are in the same name space of the compiler as local variables, a local variable with the same name can override constants and vice versa. ▲ Quoted Constant 2 'object The single quote character (') begins a kind of expression called a quoted constant. You use the quote to create a literal object. The object is constructed at compile time, and a reference to the same object results each time the object literal is evaluated. Here are several examples of literal objects formed with the quoted constant syntax: '{name: "Joe Bob", income: yearTotal}; 'myFrame.someSlot; '[foo, 1234, "a string"]; When a quote appears outside of the brackets or braces, it applies to every element in the array or frame, and symbols within the array or frame do not need individual quotes. For instance, if you try to create this seemingly correct frame: storyFrame := {Bear1: Mama, Bear2: Papa, Bear3: Baby}; you find that an error is caused when the value Mama gets interpreted as an undefined variable. One way to fix this is to put quotes before each name, or more simply to put one quote before the whole frame, as shown in the expression: storyFrame := '{Bear1: Mama, Bear2: Papa, Bear3:Baby}; ' object C H A P T E R 2 Objects, Expressions, and Operators Operators 2-29 You can pass a quoted frame literal as a parameter to apply the object as needed. Operators 2 The NewtonScript operators are: ■ assignment ■ arithmetic ■ Boolean ■ equality ■ relational ■ unary ■ message-send ■ array and frame accessors All NewtonScript operators, except the message-send operators and array and frame accessors are discussed in this section. The message-send operators are described in Chapter 4, “Functions and Methods.” The access operators are described in “Frame Accessor” beginning on page 2-19 and “Array Accessor” beginning on page 2-16. Assignment Operator 2 lvalue:= expression In an assignment expression, the symbol, frame accessor, or array accessor that is the left-hand value for the assignment operator (:=), is assigned the value of the expression appearing to the right of assignment operator. An lvalue : = expression C H A P T E R 2 Objects, Expressions, and Operators 2-30 Operators assignment expression evaluates to the expression on the right-hand side of the assignment operator (:=). lvalue Consists of a symbol, a reference to an array element, or a reference to a frame slot. expression Consists of any valid NewtonScript expression. You use assignment expressions to change the value of variables and slots. A simple assignment expression looks like this: a := 10; However, you can use any NewtonScript expression on the right-hand side of an assignment expression; when it is evaluated its value is assigned to the lvalue. For example, the variable x is set to refer to the value of the if expression in this assignment expression: x := if a > b then a else b; Here is an example of the assignment of a frame to a variable: myFrame := {name: "", phone: "123-4567"} Now you can assign a value to the name like this: myFrame.name := "Julia" Note that the NewtonScript inheritance rules affect the ultimate behavior of assignment expressions in frames. For more information about inheritance and setting slot values see “Inheritance Rules for Setting Slot Values,” in Chapter 5. You can assign values to array slots in a similar manner. The second line of this code fragment changes the value 789 to 987. myArray := [123, 456, 789, "a string"]; myArray [2] := 987; Note that assignments of reference objects to variables will only copy a pointer to the object into the variable, see “Immediate and Reference Values” beginning on page 2-5. The built in functions Clone, DeepClone, and C H A P T E R 2 Objects, Expressions, and Operators Operators 2-31 TotalClone allow you to work around this behavior. See Chapter 6, “Built-In Functions” for an explanation of how these functions work. An assignment expression, lvalue := expression, evaluates to the value of expression. Furthermore, the assignment operator associates right-to-left. Thus, you can write an expression such as: aVariable := anotherVariable := anExpression; This will parse as: aVariable := (anotherVariable := anExpression); The (anotherVariable := anExpression) part will evaluate to anExpression, and both aVariable and anotherVariable will be set to the value of anExpression. Note If you accidentally write an equality operator (=) in an assignment expression as rather than the assignment operator (:=), your expression becomes a simple relational expression. For example, the expression x = 5; evaluates to true or nil and leaves the value of x unchanged. ◆ Arithmetic Operators 2 { + | - | * | / | div | mod | << | >> } NewtonScript provides the standard set of binary arithmetic operators. They are: the addition (+) and subtraction (-) operators, the multiplication (*) and + - * / div mod << >> C H A P T E R 2 Objects, Expressions, and Operators 2-32 Operators division (/) operators, the truncating operators div and mod, and the bitwise shift operators, bitwise left shift (<<) and bitwise right shift (>>). + The plus operator adds the two numbers it appears between. - The minus operator subtracts the number to its right from the number to its left. Note that minus can also be used as a unary operator to negate an expression. See “Unary Operators” beginning on page 2-35. * The multiply operator multiplies the two numbers it appears between. / The division operator divides the number to its left by the number to its right. div The divide and truncate operator divides the number to its left by the number to its right and truncates the remainder so that a whole number is returned. mod The modulo operator divides the number to its left by the number to its right and returns only the remainder. << The bitwise shift left operator is an infix operator. In the expression: x << y ; x is shifted left by y bits. >> The bitwise shift right operator is an infix operator. In the expression: x >> y ; x is shifted right by y bits. The most significant bit is duplicated in the shift operation. See Table 2-5 on page 2-39 for a summary of operator precedence. C H A P T E R 2 Objects, Expressions, and Operators Operators 2-33 Equality and Relational Operators 2 { = | <> | < | > | <= | >=} NewtonScript provides the standard set of binary equality and relational operators. The equality operators are: equal (=) and not equal (<>). The relational operators are less than (<), greater than (>), less than or equal to (<=), and greater than or equal to (>=). = The equal operator tests the value of immediates and reals, and the identity of references; returning true if they are equal and nil if they are not equal. <> The not equal operator tests the value of immediates and reals, and the identity of references; returning true if they not equal and nil if they are equal. < The less than operator compares the values of numbers, characters, and strings; returning true if the operand on the left of the operator is less than the operand on its right and nil otherwise. An error is signalled if you try to compare arrays or frames. > The greater than operator compares the values of numbers, characters, and strings; returning true if the operand on the left of the operator is greater than the operand on its right and nil otherwise. An error is signalled if you try to compare arrays or frames. <= The less than or equal to operator compares the values of numbers, characters, and strings; returning true if the operand on the left of the operator is less than or equal to the operand on its right and nil otherwise. An error is signalled if you try to compare arrays or frames. = <> < > <= >= C H A P T E R 2 Objects, Expressions, and Operators 2-34 Operators >= The greater than or equal to operator compares the values of numbers, characters, and strings; returning true if the operand on the left of the operator is greater than or equal to the operand on its right and nil otherwise. An error is signalled if you try to compare arrays or frames. This expression tests the identity of two reference objects: "abc"<> [1, 2]; It evaluates to true because the two objects are not the same object. In the same way, the equality operator (=), when applied to two array objects, compares their identity, as shown when you execute the code: [1,2] = [1,2]; This expression evaluates to nil even though at first glance it looks as though it should be true. This is because each time the [1,2] expression is evaluated a new object is created. The relational operators work with numbers, characters, and strings. If you try to use these operators with arguments that are arrays or frames, an error is signalled. Boolean Operators 2 { and | or } The Boolean operators, and and or, are binary logical operators that compare two expressions. and The and operator tests the logical truth of its two operands; returning true if both expressions are true and nil otherwise. and or C H A P T E R 2 Objects, Expressions, and Operators Operators 2-35 or The or operator tests the logical truth of its two operands; returning true if either expression is true and nil if both expressions are false. Expressions involving the Boolean operators, and and or, like their counterparts, && and ||, in the C programming language, short circuit or stop evaluation as soon as the truth of an expression is determined. For instance, if x < length(someArray) evaluates to nil in a conditional expression like if x < length(someArray) and someArray[x] then doSomething else doSomethingElse; processing is stopped immediately and goes on to the else clause. If one part of an and operation is not true, the whole and expression is not true. Therefore, it is not necessary to evaluate the second half of the and expression when the first half is not true. When this occurs it is said that execution is short-circuited. Similarly, if the first part of an or operation is true, than the whole or expression is true, and the second part is not evaluated. The return value of an expression using any of the logical operators is either nil, which is false, or anything other than nil, which is true. Unary Operators 2 { - | not } The unary prefix operators, minus (-) and not, precede any single expression. - not C H A P T E R 2 Objects, Expressions, and Operators 2-36 Operators - The minus (-) operator returns the additive inverse of the expression it precedes. not The not operator is used before an expression to perform a logical negation of that expression. Here are some examples of these operators in use: -x; not x; -(1 + 5); not(a and -f(12) > 3); Exists is another NewtonScript unary (but postfix) operator. It is described in the section“Exists” beginning on page 2-37. String Operators 2 string1 { & | && } string2 The two string operators, && and &, create a new string from the contents of two strings you provide. The single & operator creates a new string that has no spaces between the two objects, while the double && operator adds a space between the two strings in the new string. If you use an object that is not a string in an && or & expression, NewtonScript converts the object to a string and uses it to construct a new string. This works for symbols, characters, and numbers. An & and && expression returns a new string. & An & expression concatenates the string yielded by the expression on its left to the string yielded by the expression on its right. && An && expression creates a new string by concatenating, with a space, the string yielded by the expression on its left to the string yielded by the expression on its right. & && C H A P T E R 2 Objects, Expressions, and Operators Operators 2-37 The single & operator concatenates the two strings by leaving no space, in the new string, between what was the second string and the first string. For instance, the expression: "foo" & 17 creates the new string: "foo17" In contrast, the && operator creates a new string by copying the first string, adding a space, and then copying the second string, as you can see, in the following expression and its result: "happy" && "days" "happy days" Exists 2 lValue exists The exists operator is a special postfix operator that follows a single variable that can be a symbol, a frame accessor, or a message send. The exists operator is used to check for the existence of variables, slots, or methods. When you apply the exists operator to an identifier, such as a variable, it returns true if the variable is defined in the current context and nil otherwise. (For more information about the scope of variables see “Scope” beginning on page 1-4.) lValue Consists of an expression that evaluates to a symbol, frame accessor, or a message-send. All of these are legal forms for an exists expression to take: x exists; x.y exists; lvalue exists C H A P T E R 2 Objects, Expressions, and Operators 2-38 Operator Precedence x.(y) exists; x:m exists; Here is an example of a simple if…then structure that uses exists: if myVar exists then myVar else 0; When you apply exists to a frame accessor, exists returns true if the slot exists in the frame or in any of its prototype frames, and nil otherwise. (For more information about prototype frames and inheritance, see Chapter 5, “Inheritance and Lookup.”) If…then expressions are described in Chapter 3, “Flow of Control.” This operator can be useful if you want to check for the existence of a slot that may or may not be in a proto frame. if myFrame.aSlot exists then if not hasSlot(myFrame, 'aSlot) then print("'aSlot slot is in a prototype of myFrame") The built-in function HasSlot provides similar functionality to the exists operator though they differ in the type of inheritance that is used to search for slots. See also “Inheritance Rules for Testing for the Existence of a Slot,” in Chapter 5, and Chapter 6, “Built-In Functions.” Note The exists operator is not guaranteed to work for local variables. ◆ Operator Precedence 2 In case it is not inherently apparent in an expression, a set of ratings tells the compiler which operator to evaluate first (or which operator takes precedence). Table 2-5 lists the order of precedence of all the NewtonScript operators in order from top to bottom. Note that operators grouped together in the table are of equal precedence. C H A P T E R 2 Objects, Expressions, and Operators Operator Precedence 2-39 Table 2-5 Operator precedence and associativity Operator Action Associativity . slot access left-to-right : :? message send conditional message send left-to-right [] array element left-to-right - unary minus left-to-right << >> left shift right shift left-to-right * / div mod multiply float division integer division remainder left-to-right + - add subtract left-to-right & && concatenate (string copy of expression value) concatenate with 1 space between left-to-right exists variable & slot existence none < <= > >= = <> less than less than or equal greater than greater than or equal equal not equal left-to-right not logical not left-to-right and or logical and logical or left-to-right := assignment right-to-left Compound Expressions 3-1 C H A P T E R 3 Flow of Control 3 This chapter discusses the syntax and semantics of the standard flow-ofcontrol mechanisms including compound expressions, conditional expressions and iterators. Also included is a discussion of the non-standard flow-of-control mechanism called exception handling that NewtonScript uses to control exceptional situations or errors. Compound Expressions 3 begin expression1; expression2; … expressionN[;] end Figure 3-0 Table 3-0 Listing 3-0 begin expression ; expression ; end C H A P T E R 3 Flow of Control 3-2 If…Then…Else In NewtonScript, the keywords begin and end are used to group expressions, not to create structured blocks that define the scope of variables, as they are in some languages. This construct is useful in conditional expressions, in any of the looping expressions, and in function definitions. In fact, anywhere the syntax specifies a single expression, you can use a compound expression instead. The compound expression returns the result of the last expression. expression Consists of any valid NewtonScript expression; it must be separated from the next expression by a semicolon, unless it is the last expression in the compound expression. In this case, the keyword end separates it from any following expressions. If you want to execute more than one expression in a conditional expression, use the keywords begin and end to group the expressions as shown in this example: if x=length(myArray) then begin result := self:read(x); print(result) end If…Then…Else 3 if testExpression then expression [;] [else alternateExpression] The if…then…else construct allows you to dictate programmatic flow of control using test conditions. if testExpression then expression ; else alternateExpression C H A P T E R 3 Flow of Control Iterators 3-3 As is standard in other programming languages, you use an if expression to carry out one set of operations, when the condition you set up in a test expression is true, and another set of operations when the text expression evaluates to nil. The if expression returns the value of its expression or alternateExpression. clause, unless the test condition is not true and there is no else clause. In that case, nil is returned. testExpression Consists of an expression that tests for the truth of a condition. If the test expression evaluates to anything other than nil, the expression following it is executed. expression Consists of any valid NewtonScript expression. A compound expression may be substituted. (For more information see the section “Compound Expressions.”) This expression is executed if the test is true; its value is returned as the value of the if expression. alternateExpression Consists of any valid NewtonScript expression. A compound expression may be substituted. (For more information see the section “Compound Expressions.”) The else clause, along with the alternateExpression that follows it, is executed if the test expression evaluates to nil. An else clause binds to the nearest unmatched if-then clause. Iterators 3 NewtonScript includes these iterators: ■ For ■ Foreach ■ Loop C H A P T E R 3 Flow of Control 3-4 Iterators ■ While ■ Repeat ■ Break For 3 for counter := initialValue to finalValue [by incrValue ] do expression The for loop performs a set of expressions repeatedly, until a loop counter variable equals or exceeds a specified final value or a Break expression is reached. A counter variable keeps track of the number of times the loop has executed. You specify the initial value and final value of the counter variable. If you choose not to specify the amount to increase (or decrease) the counter by using the optional keyword by followed with an incremental value, the counter gets incremented by the default value of 1. A for loop expression returns nil (or the argument of a break expression, if one is used to terminate the loop.) counter This symbol is set to the value of the initialValue expression when a for loop starts. After each repetition of the loop, the counter variable is incremented by the value of incrValue. or by the default value of 1 if an incremental value is not specified. The counter symbol is automatically declared as a local by the NewtonScript compiler. On loop exit the value of counter is undefined. It is an error to change its value from within the loop body. If you do so, loop behavior is undefined. counter initialValue to finalValue by incrValue for : = do expression C H A P T E R 3 Flow of Control Iterators 3-5 initialValue This expression must evaluate to an integer. It is evaluated once before the loop starts and is used as the initial value of the counter. finalValue This expression must evaluate to an integer. It is evaluated once before the loop starts and is used as the final value of the counter. incrValue This expression follows the keyword by. It is evaluated once before the loop starts and used throughout the loop execution to increment (or decrement) the counter variable. The incremental value expression must evaluate to an integer (either positive or negative); a value of zero generates a run-time error. If you do not specify an incremental expression, after the keyword by, a default value of 1 is used to increment the counter. expression Consists of any valid NewtonScript expression. A compound expression may be substituted. (For more information see the section “Compound Expressions.”) Here is an example of a for loop. for x:=1 to 10 by 2 do print(x); 1 3 5 7 9 C H A P T E R 3 Flow of Control 3-6 Iterators Foreach 3 foreach [slot,] value [deeply] in {frame | array} {collect | do} expression Using the foreach iterator is one way you can access data stored in frames or arrays. This iterator executes once for each element in an array or frame allowing you to either iterate an expression over each value stored in an array or frame, or to collect data during each iteration. In an array, iteration begins with the first element of the array, element 0. In a frame the starting point and subsequent order of iteration is unpredictable since frame slots are not stored in any particular order. This iterator also has a special option, deeply, for frame iteration over values in the target frame and in its proto chain of frames as well. For information on prototype inheritance see Chapter 5, “Inheritance and Lookup.” Aforeach expression returns nil (or the argument of a break expression, if one is used to terminate the loop.) slot This symbol is set to the name or index of the next slot on each loop iteration over the elements of an array or frame. The value of this variable is undefined on loop exit. Using the slot variable is optional. If you specify just one variable of the slot, value pair, it’s assumed to be as the value. The slot symbol is automatically declared as a local by the NewtonScript compiler. , value deeply in frame array expression foreach do collect slot C H A P T E R 3 Flow of Control Iterators 3-7 value Set to the value of the next array element or frame slot on each loop iteration over the elements of an array or frame. The value of this variable is undefined on loop exit. Using the value variable is mandatory. If you specify just one variable, of the slot, value pair, it’s value is assigned as the element value. The value symbol is automatically declared as a local by the NewtonScript compiler. array An expression that evaluates to an array. frame An expression that evaluates to a frame. expression Consists of any valid NewtonScript expression. A compound expression may be substituted. (For more information see the section “Compound Expressions” beginning on page 3-1) deeply Optional. If this keyword is included, iteration occurs over values in the immediate frame first and then in the _proto frame(s) as well. (For information on prototype inheritance see Chapter 5, “Inheritance and Lookup.”) If you specify the deeply option and the frame you are concerned with does not have a _proto frame, no error is produced. Instead, the slot values evaluate to those of the current frame. You use foreach to access data stored in a frame that functions like a Pascal record or a C struct. The data used in the following example is the nameFrame frame, defined as: nameFrame := { name:"Carol", office:"San Diego", phone:"123-4567"}; C H A P T E R 3 Flow of Control 3-8 Iterators You can use the foreach do loop to access and print the slot names and values stored in a nameFrame by writing a method like reportIt: report:= { reportIt: func(frameName) foreach slot, value in frameName do print(slot && “:” && value); } When you send the message reportIt with the argument nameFrame to the report object, as shown here: report:reportIt(nameFrame); this is the output produced: "name : Carol" "office : San Diego" "phone : 123-4567" Using collect with the foreach iterator makes it easy to collect the data and manipulate it. Consider a dataFrame which is defined as: dataFrame := {1,3,5,7,9} You can collect the squares of each value in dataFrame and print the results, with the code shown here: result := foreach value in dataFrame collect value*value; print(result); The values are collected in an array, as shown in the output: [1,9,25,49,81] Note The behavior of foreach is undefined when the array or frame is modified inside the loop body, except for the specific case of deleting the current element. In this specific case, the loop will continue on to the next element as expected. ◆ C H A P T E R 3 Flow of Control Iterators 3-9 If you want the foreach iterator to look up slot values in the prototype frame in addition to the current frame, use the deeply option. To make use of the deeply option with this iterator, your data set must include a frame that references a prototype frame. For purposes of example we can use the data defined here as: x := {one:1, two:2, three:3}; y := {four:4, five:5, combo:x}; z := {six:6, _proto:y}; You can consult the picture of this data, shown in Figure 3-1, while looking at the accompanying table, Table 3-1, which shows the different results produced by using foreach both alone and with the deeply option. Figure 3-1 Data objects and their relationships Table 3-1 allows you to compare the results produced by two functions, normalList and deeplyList, as applied to the data in Figure 3-1. Test Data x one two three 1 2 3 x:={one:1,two:2,three:3}; #440F2D9 {One:1, two:2, three:3} y:={four:4,five:5,combo:x}; #440F891 {four:4, five:5, combo:{One:1, two:2, three:3} z:={six:6,_proto:y}; #440FE61 {six:6, _proto:{four:4, five:5, combo:{#440F2D9}}} z four five combo 4 5 x y six _proto 6 y C H A P T E R 3 Flow of Control 3-10 Iterators Table 3-1 Result comparison for the iterators foreach and foreach deeply Loop 3 loop expression This mechanism simply repeats any expressions that occur within the loop expression until a break expression is encountered; if no break expression is reached the loop never ends. foreach foreach deeply normallist := func (param) begin foreach tempItem in param collect tempItem; end; deeplylist := func (param) begin foreach tempItem deeply in param collect tempItem; end; :normallist(x) #4413441 [1, 2, 3] :deeplylist(x) #44137D9 [1, 2, 3] :normallist(y) // same #4413A11 [4, 5, {One: 1, two: 2, three: 3}] :deeplylist(y) #4413C49 [4, 5, {One: 1, two: 2, three: 3}] :normallist(z) #4416E29 [6, {four: 4, five: 5, combo: {#4415D79}}] :deeplylist(z) #4416FE1 [6, 4, 5, {One: 1, two: 2, three: 3}] loop expression C H A P T E R 3 Flow of Control Iterators 3-11 The loop expression returns the argument of the break expression that is used to terminate the loop. expression Consists of any valid NewtonScript expression. A compound expression may be substituted. (For more information see the section “Compound Expressions” beginning on page 3-1) This expression is evaluated during each loop iteration. This example prints the value of the variable x until it reaches the value of 0 and the break expression is executed. local x:=4; loop if x = 0 then break else begin print(x); x:=x-1 end 4 3 2 1 While 3 while condition do expression The while loop evaluates the conditional expression first. If it evaluates to a non-nil value (true or any other value that is not nil) the expression after the keyword do executes. This sequence repeats until the conditional expression evaluates to nil and ends loop execution. while condition do expression C H A P T E R 3 Flow of Control 3-12 Iterators Awhile expression returns nil (or the argument of a break expression, if one is used to terminate the loop.) condition Consists of an expression that tests for the truth of a condition. If the test expression evaluates to nil, loop execution ends. expression Consists of any valid NewtonScript expression. A compound expression may be substituted. (For more information see the section “Compound Expressions” beginning on page 3-1) This expression is evaluated during each loop iteration. Repeat 3 repeat expression1; expression2; … expressionN[;] until condition The repeat loop executes the expression(s) inside the loop first and then evaluates the test expression. If the expression at the end of the loop evaluates to nil, the expressions repeat and the test expression is evaluated again. This continues until the expression evaluates to non-nil, at which point the loop ends. repeat expression ; expression ; until condition C H A P T E R 3 Flow of Control Exception Handling 3-13 Arepeat expression returns nil (or the argument of a break expression, if one is used to terminate the loop.) condition Consists of an expression that tests for the truth of a condition. If the conditional expression evaluates to anything other than nil, loop execution ends. expression Consists of any valid NewtonScript expression. Break 3 break [expression ]; While not an iterator itself, the Break expression interrupts the execution of any of the iterative structures. You must use the Break expression to stop the simple Loop structure, which has no built-in constructs to stop it. If a expression follows Break, it is evaluated and returned as the value of the loop. If you use the Break with no expression following it, the loop returns the value nil. expression Consists of any valid NewtonScript expression. A compound expression may be substituted. (For more information see the section “Compound Expressions” beginning on page 3-1) The value of this expression is returned as the value of the Break expression. Exception Handling 3 This section describes exception handling in NewtonScript. Exception handling is a non-standard flow-of-control mechanism that NewtonScript inherits from Newton system software. NewtonScript exception handling allows you to respond to exceptional conditions that arise during the execution of your program. An exceptional condition, or exception, is a condition that either the Newton system break expression C H A P T E R 3 Flow of Control 3-14 Exception Handling software or your own code raises when something unexpected or erroneous happens at run time. When an exception is raised at run time, the system can transfer control to an exception handler, which is a block of code that attempts to handle the condition gracefully, rather than allowing the application to crash. An exception handler can respond by displaying an error message, reverting the state of a computation, or taking some other action or actions. The act of raising an exception is known as throwing an exception. An exception handler catches the exception and responds in some manner. Each exception has a unique name and each exception handler responds to a specific exception or class of exceptions. Newton system software throws and catches a number of built-in exceptions. You can define, throw, and catch your own exceptions, and you can also catch and handle the built-in exceptions. Working with Exceptions 3 Working with exceptions in NewtonScript involves a number of entities. You can perform the following actions to work with exceptions: ■ define an exception symbol for a specific exception or class of exceptions ■ enclose a list of statements within a try statement to catch any exceptions that occur during execution of those statements ■ catch a specific exception or class of exceptions with an onexception statement ■ use the CurrentException function to examine the frame associated with the exception that you are handling ■ throw an exception when you detect a condition that request handling ■ rethrow an exception from within your exception-handling code to allow the next handler for the exception to respond to it You can provide exception handling for any list of statements in your NewtonScript programs. You can also nest an exception-handling block C H A P T E R 3 Flow of Control Exception Handling 3-15 of code inside of another exception-handling block of code to provide a hierarchical chain of exception handlers. Each exception handler can specify which exception or class of exceptions it processes by naming the symbol or symbol prefix that it handles. An exception handler can also reraise (rethrow) the exception that it is handling to allow other exception handlers in the chain an opportunity to process the exception. The basic process for implementing exception handling is as follows: 1. Decide on a name for the exceptions that you are going to define and how you are going to respond when each exception is raised. 2. Write your code and use the Throw function to raise exceptions where appropriate. 3. Write an onexception clause for each exception. Each clause names an exception and provides a statement to handle that exception. 4. Enclose the list of statements in which you are raising and handling exceptions with a Try statement. Defining Exceptions 3 Each exception is named with an exception symbol. You must adhere to the following format rules when defining an exception symbol. Each symbol ■ must be enclosed in vertical bars (|) ■ must contain at least one part that begins with the prefix evt.ex ■ can contain up to 127 characters ■ can contain multiple parts that are separated by semicolons (;) A few example of exception symbols are shown in Listing 3-1. C H A P T E R 3 Flow of Control 3-16 Exception Handling Listing 3-1 Exception symbols |evt.ex| |evt.ex.fr.intrp| |evt.ex.div0| |evt.ex.msg;type.ref.frame| IMPORTANT Do not leave a space between the parts of exception symbols, since the vertical bars make the space part of the exception symbol. ◆ The prefixes contained in the exception symbols are used to define the hierarchy of exception handlers, as described in the section “Catching Exceptions” beginning on page 3-21. These prefixes are also important for defining exception types, as described in the section “Exception Frames” on page 3-16. Exception Symbol Parts 3 Each exception symbol can contain multiple parts, enclosed in vertical bars and named as described earlier in this section. For example, the symbol |evt.ex;type.ref.something| contains two parts. The parts of an exception symbol must be separated by a semicolon. When an exception symbol contains multiple parts, the exception is still processed as a single exception. This means that the first exception handler to catch any part of the exception symbol handles the exception. That handler can rethrow the exception to allow other handlers to catch it. Exception Frames 3 A frame is associated with each exception. This exception frame contains two slots: a name slot and a data slot. The name slot is always named name and always contains the exception symbol. The name and contents of the C H A P T E R 3 Flow of Control Exception Handling 3-17 other slot, which contains the data, depend on the composition of the exception symbol, as shown in Table 3-2. Table 3-3 shows several examples of exceptions and the frames associated with them. You can access the frame that is associated with an exception from within your exception handler by calling the built-in function CurrentException, described in Chapter 6, “Built-In Functions.” Table 3-2 Exception frame data slot name and contents Exception symbol Slot name Slot contents contains part with prefix type.ref data a data object, which can be any NewtonScript object contains part with prefix evt.ex.msg message a message string any other error an integer error code Table 3-3 Exception frame examples Exception symbol Exception frame |evt.ex;type.ref| {name: '|evt.ex;type.ref|, data: {type: 'inka, size: 42, weight: 177}} |evt.ex.msg| {name: '|evt.ex.msg|, message: "there seems to be a problem"} |evt.ex| {name: '|evt.ex|, error: -48666} C H A P T E R 3 Flow of Control 3-18 Exception Handling The CurrentException function returns the frame that is associated with the current exception. You can examine the frame returned by CurrentException to determine what kind of exception you are handling. For example, you can call the HasSlot function to determine if the frame contains a slot named error and you can then take appropriate action. The Try Statement 3 You use the try statement to enclose a list of statements in which you want to handle exceptions. The syntax of a try statement is try expression1; expression2; … expressionN onexception exceptionSymbol do statement onexception exceptionSymbol do statement... The try statement encloses statement1 through statementN and transfers control to one of the onexception clauses when an exception is raised. If no exceptions are raised, the value of the try statement is the value of its final statement. If an exception is raised and an onexception clause handles that exception, the value of the try statement is the value of the executed onexception clause’s statement. exeptionSymbol do statement try onexception expression ; expression ; C H A P T E R 3 Flow of Control Exception Handling 3-19 expression Any valid NewtonScript expression. exceptionSymbol An exception symbol that can contain multiple parts separated by semicolons. The symbol is enclosed in vertical bars and can contain up 127 characters. Exception symbols are described in “Exception Symbol Parts” beginning on page 3-16. Examples of the try statement and onexception clauses are found in Listing 3-4 on page 3-22. Throwing Exceptions 3 To raise an exception in NewtonScript, you need to call the Throw function and to include the exception name and data as parameters. The form of the data that you send as a parameter must match the type of exception you are throwing. The Throw(name,data) function raises an exception and creates an exception frame with the specified name and data. The possible values for the data parameter depend on the composition of name, and are shown in Table 3-2 on page 3-17. The Throw function is described in Chapter 6, “Built-In Functions.” You call the Throw function from within a list of statements that are enclosed by a Try statement. NewtonScript transfers control to the onexception clause whose symbol matches name. Listing 3-2 shows several examples of calls to the Throw function. Listing 3-2 The Throw function Throw('|evt.ex.foo|, -12345); Throw('|evt.ex.msg|, "This is my message"); Throw('|evt.ex;type.ref.something|, ["a", "b", "c"]); C H A P T E R 3 Flow of Control 3-20 Exception Handling Note that the composition of the exception symbol that you pass as the first parameter to the Throw function defines the kind of data that you pass as the second parameter: ■ The first statement in Listing 3-2 requires an error number as its second parameter. ■ The second statement in Listing 3-2 contains the prefix evt.ex.msg and thus requires a message string as its second parameter. ■ The third statement in Listing 3-2 contains the prefix type.ref and thus requires a data object (in this case, an array) as its second parameter. Throwing an Exception to Another Handler 3 You can pass control from within an exception handler to the next enclosing Try statement by reraising the exception. To do this, you call the Rethrow function. This function is described in Chapter 6, “Built-In Functions.” The Rethrow function reraises the current exception to allow the next enclosing Try statement an opportunity to handle it. The Rethrow function also passes along the same parameters as were passed with the original call to the Throw function. The following example illustrates the use of Rethrow: onexception |evt.ex.msg| do if StrEqual (CurrentException().message, someString) then self:doSomething(); else Rethrow() IMPORTANT You can call the Rethrow function only from within an onexception clause. ▲ C H A P T E R 3 Flow of Control Exception Handling 3-21 Catching Exceptions 3 When an exception is thrown during the execution of a list of statements, execution of that list of statements is terminated and control is transferred to the first exception handler that matches the exception. Each exception handler is an onexception clause enclosed within a try statement, as shown in Listing 3-3 and Listing 3-4. Each onexception clause specifies the symbol of the exception or the class of exceptions that it handles. The first exception handler that matches the symbol of the exception that has been raised is the handler that is invoked. This happens as follows: 1. When an exception is raised, Newton system software examines the onexception clauses of the try statement that is currently active. The onexception clauses are examined in order, from first defined to last defined. 2. The first matching onexception clause is executed and the value of the clause becomes the value of the try statement. A matching onexception clause is one whose exception symbol is a prefix of any of the parts of the exception that was raised. 3. If the active try statement does not contain a matching onexception clause, the exception is passed onto the next enclosing try statement. 4. The exception is passed along to enclosing try statements until it is handled. If no onexception clause in your application handles it, the exception will be handled by the system, which responds by displaying an error alert. There are two logical points that should be considered in structuring code with exception handlers. First, since exceptions are handled by the first onexception clause that contains a prefix of a part of the exception symbol, you need to order your onexception clauses from most specific to least specific. For example, the code in Listing 3-3 contains three onexception clauses ordered improperly. C H A P T E R 3 Flow of Control 3-22 Exception Handling Listing 3-3 Several onexception clauses ordered improperly try c := x:myFunc(p, q); :anotherFunc(c) onexception |evt.ex.pgm.fnerr| do begin print(“function error”); c := nil; end onexception |evt.ex.pgm| do print(“program error”) onexception |evt.ex.pgm.dataerr| do print(“data error”); The final onexception clause in Listing 3-3 will never be executed because the second onexception clause catches any exceptions that contain the evt.ex.pgm prefix. Changing the order of the clauses to make the least specific (the |evt.ex.pgm| symbol) clause last fixes the problem. This improved version of the code is shown in Listing 3-4. Listing 3-4 The onexception clauses properly ordered try c := x:myFunc(p, q); :anotherFunc(c) onexception |evt.ex.pgm.fnerr| do begin print(“function error”); do c := nil; end onexception |evt.ex.pgm.dataerr| do print(“data error”) onexception |evt.ex.pgm| do print(“program error”); C H A P T E R 3 Flow of Control Exception Handling 3-23 Second, an onexception clause is matched with the nearest try statement, just as an else clause is matched to the nearest if-then clause. However, unlike the if-then case, a single try statement can bind to multiple onexception clauses. Listing 3-5 illustrates how this can cause problems when nesting try blocks. Listing 3-6 then shows how this problem can be avoided by explicitly declaring try blocks with the keywords begin and end. Listing 3-5 Improperly nested try blocks func f() begin try try self:doSomething() onexception |evt.ex| do print( CurrentException() ); self:doSomethingElse() onexception |evt.ex| do print( “There was a problem.” ); end Listing 3-6 Nested try block problem fixed using begin and end (shown in bold) func f() begin try try begin self:doSomething() onexception |evt.ex| do print( CurrentException() ); end C H A P T E R 3 Flow of Control 3-24 Exception Handling self:doSomethingElse() onexception |evt.ex| do print( “There was a problem.” ); end IMPORTANT The onexception syntax is not forgiving about extra semicolons. Never include a semicolon (;) before an onexception clause. ▲ Responding to Exceptions 3 This section shows and describes several examples of using exception handling in a NewtonScript application program. Listing 3-7 shows an exception handler that catches the exception raised by the Newton system software when there is not enough memory to store a new date in the Datebook soup. Listing 3-7 Handling a soup store exception onException |evt.ex.fr.store| do :Notify(kNotifyAlert, "Dates", "Not enough memory to save changes."); Listing 3-8 shows an exception handler that examines the exception frame to determine if the exception represents a certain error. If so, the handler takes an action; otherwise, the handler rethrows the exception so that it can be caught by another handler. C H A P T E R 3 Flow of Control Exception Handling 3-25 Listing 3-8 An exception handler checking the exception frame onException |evt.ex| do if HasSlot(CurrentException(), 'error) then begin if CurrentException().error = -48211 then Print(“The string you entered is too large”) else Rethrow(); end else Rethrow(); About Functions and Methods 4-1 C H A P T E R 4 Functions and Methods 4 This chapter describes the way you encapsulate and access code in functions and methods, as well as related topics, including: ■ method and function definition ■ messages ■ passing parameters ■ function objects ■ native functions About Functions and Methods 4 Most functions in NewtonScript are really methods; that is, they are defined within the context of a frame that can receive messages. In fact, a method in NewtonScript is nothing more than a function referenced by a frame slot and invoked with a message send. You send messages to objects to execute methods, as in other object-oriented languages. In NewtonScript, the frame is the only type of object that receives messages. (See the section “Frame” beginning on page 2-17.) Figure 4-0 Listing 4-0 Table 4-0 C H A P T E R 4 Functions and Methods 4-2 About Functions and Methods NewtonScript also has built-in global functions that are part of the system. These are discussed in Chapter 6, “Built-In Functions.” Function Constructor 4 func [native](paramList) expression The func expression is used to create a function or method. The syntax of a function constructor consists of the reserved word, func, and the optional keyword, native, followed by parentheses that surround zero or more parameters in a comma-separated list, and a body of code consisting of one expression. The keyword native denotes a native function; see the section “Native Functions” on page 4-16. A function constructor returns a function object, which, when executed, returns the value of its expression. This is the last expression executed, if expression is a compound expression. See the section “Function Objects” beginning on page 4-9. paramList An optional list of parameter identifiers that are separated by commas and enclosed in parentheses. If your function does not use parameters you must still include an empty set of parentheses following the keyword func, or native (if it appears). Any identifiers in paramList can be preceded by the keywords int or array, which automatically declares them as variables of the respective types. expression Consists of any valid NewtonScript expression. A compound expression may be substituted. (For more information see the section “Compound Expressions” on page 3-1.) func native ( paramList ) expression C H A P T E R 4 Functions and Methods Function Invocations 4-3 When a function is executed, it returns the value of the expression evaluated. The following example, myFunction, simply returns the value of the difference between its two parameters, that is, the value of the if expression. myFunction := func(n1, n2) if n1 > n2 then n1 - n2; else n2 - n1 Return 4 return [returnValue] The return expression is used to exit a function and return a value. When an expression appears following the keyword, return, it is evaluated and its value is returned as the value of the function. If you do not specify a return value, nil is returned on function exit. returnValue Optional. Consists of any valid NewtonScript expression or compound expression. If no expression follows the return keyword, the return expression evaluates to nil. Function Invocations 4 There are three ways function objects can be executed in NewtonScript: ■ as the result of a message-send ■ by using the call with syntax ■ with a global function invocation This section describes each of these in turn. return expression C H A P T E R 4 Functions and Methods 4-4 Function Invocations Message-Send Operators 4 [{inherited|frame}] {:|:?} message(paramList) Most code is executed in response to messages you send to a frame. Messages are sent by using either the colon (:), which is the message-send operator, or the colon-question mark (:?), which is the conditional message-send operator. The message-send operator (:) sends a message and its arguments, if any, to a frame object. The conditional message-send (:?) first checks to see if a method exists anywhere in the inheritance chain before sending the message. The optional frame expression, frame, appears before the operator and specifies the frame where the message is sent. If a frame expression is specified, the message is sent directly to the frame you specify, and it becomes the receiver of the message. When nothing appears before the message-send operator, the message is sent to the current receiver, which you can refer to using the pseudo-variable, self. Rather than leaving a blank before the message-send operator, you can make your code more readable by putting self there, to specify explicitly the current receiver. (See “Note” on page 5-10 for a discussion of the pros and cons of this usage of self.) If you want to call an inherited method instead of the method that overrides it, use the keyword, inherited, before the message-send operator. This forces NewtonScript to bypass the receiver and look up the value of the method in the prototype chain, starting after the frame where the currently executing method was found. Note that lookup stops at the end of the prototype chain and does not continue up the parent chain. For more information on lookup see Chapter 5, “Inheritance and Lookup.” The message that follows the message-send operator is a symbol. The message-send operator looks for a frame slot with that name. The frame slot ( : : ? ) inherited frame message paramList C H A P T E R 4 Functions and Methods Function Invocations 4-5 must reference a function with the same number of parameters used in the message-send parameter list. frame Any valid NewtonScript expression that evaluates to a frame. The frame specified becomes the receiver of the message. The message is sent to the current receiver when a frame does not appear before the colon, as in the following expression. :message(argList); inherited A keyword specifying that the message is being sent to an inherited version of the method code residing somewhere in the prototype chain. Using the inherited keyword forces method lookup to start in the prototype chain rather than in the receiver. message A symbol used to look up the method using the standard inheritance rules, beginning with the receiver, at run time. For more information on lookup see Chapter 5, “Inheritance and Lookup.” paramList Consists of a list of zero or more parameters, separated by commas and enclosed by parentheses. The number of parameters must match the number of parameters expected by the method. When the following message-send executes, the message, msg1, is sent to the object, frame4. frame4:msg1(); If you send the same message without specifying which frame is the receiver, the message is sent to the current receiver, as in the expression: :msg1(); The same operation could be written as: self:msg1(); C H A P T E R 4 Functions and Methods 4-6 Function Invocations If you are not sure if a method exists, send the message using the conditional message-send operator (:?). This operator insures that the message is sent only if NewtonScript can find the method. Note that the following two expressions are equivalent: if frameName:messageName exists then frameName:messageName() and, frameName:?messageName() The second is preferable, however, since the first message will be looked up twice; once to evaluate the exists expression, and once for the message-send. You can also use the built-in function Perform() to send a message with a run-time argument list. There is also a function, PerformIfDefined, which mimics the conditional message send operator (:?). Two functions also exist which will send a message, but only search the prototype (and not the parent) inheritance chains; these are ProtoPerform and ProtoPerformIfDefined. All these functions are described in Chapter 6, “Built-In Functions.” Call With 4 call function with (paramList) The call with expression executes the specified function object and its parameters, using the value of the environment that was captured when the function object was created. Thus, the function object executes as a closure would in a language like Lisp. See the section “Function Objects” beginning on page 4-9 for more information. call function with ( paramList ) C H A P T E R 4 Functions and Methods Function Invocations 4-7 You can call a function with a run-time argument list by using the built-in function Apply. For more information on this function see Chapter 6, “Built-in Functions.” function Consists of any valid NewtonScript expression that evaluates to a function. paramList Consists of a list of zero or more parameters, separated by commas and enclosed by parentheses. The number of parameters must match the number of parameters expected by the function. Acall with expression returns the result of the function it executes. Global Function Declaration 4 { global|func } functionName (paramList) expression You can use the global function definition syntax to define global functions in some NewtonScript implementations. Note that except for the keyword global, this syntax is the same as the regular function definition syntax discussed in the section “Function Constructor” beginning on page 4-2. Global functions can only be defined at the top level, not inside another function. The scope of a global function definition includes every NewtonScript function. Note When programming in the NTK environment, this use of the keyword global creates a function that is global within the NewtonScript environment in NTK. If you then attempt to call this function inside another function executing in the NewtonScript environment on a Newton device, an “unknown global function” error is generated. ◆ paramList expression func ( global functionName ) C H A P T E R 4 Functions and Methods 4-8 Passing Parameters Global Function Invocation 4 functionName (paramList) The global function call syntax has the same effect as a call with expression: it executes the specified function object functionName and its parameters using the message environment that was captured when the function object was created. However, the function is determined by name rather than by evaluating an expression. A global function call expression returns the result of the function object it executes. functionName A symbol naming a global function. paramList A list of zero or more parameters, separated by commas and enclosed by parentheses. The number of parameters must match the number of parameters expected by the function. Many global function definitions are built into NewtonScript (see Chapter 6, “Built-In Functions,” for a list of them). Passing Parameters 4 Parameters are passed by value in NewtonScript. In other languages this sometimes means that these parameters are unchangeable by the function. However, you should note that some NewtonScript values are references, and when a reference is the value of a parameter the function can modify that object. For more information about NewtonScript immediates and references, see the section “Immediate and Reference Values” beginning on page 2-5. functionName ( paraList ) C H A P T E R 4 Functions and Methods Function Objects 4-9 Function Objects 4 A function object is constructed when code of the following form executes: func(paramList) expression; Functions are first-class objects in NewtonScript. They can be assigned to local variables, array elements, or frame slots. They can also be stored in soups, or passed as arguments to a function. For information on soups, see The Newton Programmer's Guide. The term “function object,” rather than just “function,” is used to emphasize the fact that one func statement can give rise to many different function objects. When a function object is created it saves the environment that exists at that time. Therefore, multiple function objects that are created by one function constructor differ if the environments that existed when the func statement was executed differ. A function object consists of two main parts: its code, and the function context, which is where the environment that existed at the time of its creation is saved. The function context itself consists of two parts: the lexical environment, and the message environment. ■ The lexical environment is a list of locals and parameters in the function and in any enclosing functions. ■ The message environment consists of references to the frame in which the function is defined (the implementor) and to the frame to which it is sent (the receiver). By saving the environment in which it was created, the function object has access to local variables and to parameters that existed when it was constructed. In addition, the function object has access to variables in the inheritance chain of the frame that was the value of self when the function object was created. The NewtonScript inheritance mechanism is described in Chapter 5, “Inheritance and Lookup.” The parts of a function object are shown in Figure 4-1. C H A P T E R 4 Functions and Methods 4-10 Function Objects Figure 4-1 The parts of a function object Function Context 4 NewtonScript uses the context of a function--the lexical and message environments--to establish values for any variables used in a function without being defined there. The Lexical Environment 4 The lexical environment consists of a list of locals and parameters in the function, and any enclosing functions. For instance, the lexical environment of the function shown in the following example is the value of the parameter e when the function was called: frame1:={task1: func(e) begin //do something end } Code Function object Function context Parameters Locals Lexical environment Receiver (self) Implementor Message environment C H A P T E R 4 Functions and Methods Function Objects 4-11 The lexical environment of the function, task2, shown below in boldface type, consists of the values of the local variable total, and the parameters e, and a when the function was called. frame2:={task1: func(e) begin local total:= e; e := 20; task2:= func(a) … ; total end } Note Some implementations of NewtonScript optimize the memory allocated to the lexical environment by saving only those variables that are actually used within the function body. ◆ The Message Environment 4 The message environment of a function consists of the implementor of the message and the receiver of a message. The frame in which a method is defined is called its implementor. Note that a method could be defined in a number of places within a frame’s inheritance chain. The implementor is the frame in the inheritance chain where the method is found using the inheritance rules described in Chapter 5, “Inheritance and Lookup.” When a message is sent, the frame to which it is sent is the receiver. The implementor and the receiver will differ when the method is found in a frame that is in the inheritance chain of the receiver. C H A P T E R 4 Functions and Methods 4-12 Function Objects To illustrate this last point consider the following two frames, frame1 and frame2: frame1 := { greeting : "HI!", sayHi : func() print(greeting) }; frame2 := { greeting: "Hello!", _proto : frame1 }; In the following expression frame1 is both the receiver and the implementor: frame1:sayHi(); "HI" In this next expression, however, frame2 is the receiver and frame1 is the implementor: frame2:sayHi(); "Hello!" Note that the value of the variable, greeting, is based on the receiver, not the implementor. See the section “Inheritance Rules for Slot and Message Lookup” on page 5-7 for a discussion of this issue. Invoking a function by using the call with syntax sets the value of self (the receiver) to the value saved in the function’s message environment. This is in contrast to sending a message, where the receiver is changed to the frame specified in the message-send expression. Self 4 The value of the pseudo-variable self is always set to the value of the receiver. Therefore, you can use self to reference the receiver in your code. Note that you cannot set self as you could a real variable (in an assignment for instance), hence its designation as a pseudo-variable. For example, when sayHi executes in the following assignment, the value of self will be frame1: x := frame1:sayHi(); C H A P T E R 4 Functions and Methods Function Objects 4-13 An Example Function Object 4 The following example illustrates how the context of a function object is used to find values for the variables in the function. This example is complicated in that functions are nested, and the inheritance mechanism is utilized; this is to demonstrate how every part of a function object is used. You may want to skip this section, and come back to it after having read Chapter 5, “Inheritance and Lookup.” frame1 := {slot1 : 5}; frame2 := { _parent : frame1, slot2 : 40, outerMethod : func (arg1) begin local var1 := 2000; local nestedMethod := func (arg2) slot1 + slot2 + arg1 + var1 + arg2; nestedMethod; end; } When outerMethod executes through the following message-send functionObject1 := frame2:outerMethod(300); it returns the function object nestedMethod. This function object is stored in the variable functionObject1, shown in Figure 4-2. C H A P T E R 4 Functions and Methods 4-14 Function Objects Figure 4-2 functionObject1 dissected This message-send saves the environment in which it was created. This contextual information provides values for the parameters arg1 (300) and the local variable var1 (2000). It also provides a value for self, the receiver of the message-send. This allows NewtonScript to provide values for slot2 (40) and the inherited slot1 (5). When functionObject1 is executed, as in the following function call, NewtonScript can properly lookup the value of all the addends: call functionObject1 with (10000); This returns 12345. Code functionObject1 Function context Parameters Locals Lexical environment Receiver (self) Implementor Message environment slot1 + slot2 + arg1 + var1 + arg2 arg1, arg2 frame2 frame2 var1 C H A P T E R 4 Functions and Methods Function Objects 4-15 Note The following message-send does not work: aFrame := {aSlot : functionObject1} aFrame:aSlot(10000); This is because the message-send changes the receiver to aFrame, and NewtonScript is unable to produce values for slot1 and slot2. call aFrame.aSlot with (10000) still functions properly, however. ◆ Using Function Objects to Implement Abstract Data Types 4 One use of function objects is to implement abstract data types. These are types that can only be modified procedurally; their actual data is hidden. Though it might appear so, frames with methods don’t provide the same functionality. In a frame, the data values in the slots are visible and can be modified even when not using the appropriate methods. Consider the following account generator: MakeAccount := func()begin local balance := 0; local d := func(amount) begin balance := balance + amount; end; local c := func() begin balance := 0; end; {Deposit: d, Clear: c}; end; myAccount := call MakeAccount with (); C H A P T E R 4 Functions and Methods 4-16 Native Functions Calling MakeAccount returns a frame containing two function objects, d and c. The function objects in this frame reference the local variable balance from MakeAccount. Even though MakeAccount is no longer executing, the balance variable continues to exist, because the nested functions Deposit and Clear reference it. Thus, calling myAccount modifies the hidden variable balance, as you can see in the following Inspector output: call myAccount.Deposit with (50); #C8 50 call myAccount.Deposit with (75) #1F4 125 call myAccount.Clear with (); #0 0 Also since neither Deposit nor Clear utilizes the value of self, message-sends can be used as well as the call/with syntax: myAccount:Deposit (20); #50 20 Native Functions 4 When the keyword native appears in a function constructor, some compilers generate native code for that function. Native code is machine language code executed directly by the Newton processor. There are a number of considerations involved in deciding whether to declare a function native. For a detailed discussion of these issues, see the chapter “Tuning Performance,” in the Newton Toolkit User’s Guide. 5-1 C H A P T E R 5 Inheritance and Lookup 5 NewtonScript supports several object-oriented features and concepts through its double inheritance scheme. Frames are the basic data structure in NewtonScript. Inheritance between frames is set up through slots named _parent and _proto. This chapter describes parent and prototype (proto) inheritance. It also tells you ■ how to set up frames with these relationships ■ the rules associated with parent and prototype inheritance ■ how inheritance affects slot and method lookup ■ how inheritance affects setting slot values ■ the uses of parent and prototype inheritance Figure 5-0 Listing 5-0 Table 5-0 C H A P T E R 5 Inheritance and Lookup 5-2 Inheritance Inheritance 5 There are two kinds of inheritance in NewtonScript: prototype inheritance and parent inheritance. Prototype Inheritance 5 A frame can have a prototype, which is simply another frame it names as the value of a _proto slot. A frame inherits slots from its prototype if it does not contain them in itself. If a frame contains a slot with the same name as a slot in the prototype, it overrides the value of the prototype slot. You use inheritance from prototype frames (abbreviated as protos) for ■ object refinement—the Newton system has many user interface elements that are system protos you can use or modify in your own interface ■ persistent storage of data—these values are commonly stored in ROM or on a PCMCIA card Creating Prototype Frames 5 You create a prototype relationship between frames by using a special slot named _proto. The value of this slot must be a reference to the frame you intend to use as your prototype frame. For example, to use a frame called pageTemplate as a prototype for a frame called myPage, you include a _proto slot that evaluates to a reference to the pageTemplate frame. This is illustrated in Figure 5-1. C H A P T E R 5 Inheritance and Lookup Inheritance 5-3 Figure 5-1 A prototype frame Prototype Inheritance Rules 5 If a function in the frame myPage references the slot named topMargin during run time, as shown in Figure 5-1, the interpreter looks for the value of topMargin in the frame myPage first. It doesn’t find the slot there it follows the _proto reference to the frame, pageTemplate. There it finds a topMargin slot and its value, 1. In this case, the frame myPage inherits that slot. If a function in myPage references the slot named leftMargin, that slot is found in the current frame and evaluates to the value 0.75. In this case, the value in the current frame overrides the value found in the prototype. Note that methods in frames can also be inherited and overridden. The system obtains values during run time by following the prototype inheritance rules for looking up slot references. NewtonScript looks first in the current frame for a slot name. If the slot is not found, it looks at the prototype frame, and if the slot is still not found, it looks at the prototype frame of that frame, and so on, through all the prototypes in the chain. pageTemplate {topMargin:1 bottomMargin:2 leftMargin: 1.5 rightMargin:1.5 } myPage {_Proto: pageTemplate leftMargin: 0.75 } Prototype Frame C H A P T E R 5 Inheritance and Lookup 5-4 Inheritance An example of a prototype chain is shown in Figure 5-2. In this figure, the inheritance chain starts with the current frame, myPage, and follows the arrows to its prototype frames on the right. Figure 5-2 A prototype chain Parent Inheritance 5 Besides prototypical relationships between frames, you can set up hierarchical parent-child relationships. Inheritance from parent frames is used for ■ sharing information between objects, both behavior and data objects ■ creating hierarchies, like the view hierarchy of Newton applications Creating Parent Frames 5 The parent-child link between frames exists by way of a special slot named _parent, which resides in the child frame. You can set this slot directly in your code or you can use the drawing tools in the Newton Toolkit to create view hierarchies automatically. See the Newton Toolkit User’s Guide for more information about how to do this. Figure 5-3 shows an example of a parentchild relationship between two frames. Frames that serve as parents can themselves be children of other frames, thereby forming an inheritance chain extending upwards. myPage {_Proto: pageTemplate, ..} pageTemplate {_Proto: someFrame, ..} someOtherFrame {..} someFrame {_Proto: SomeOtherFrame, ..} C H A P T E R 5 Inheritance and Lookup Inheritance 5-5 Figure 5-3 Parent-child relationship Parent Inheritance Rules 5 When you create parent-child hierarchies between frames, NewtonScript uses an inheritance mechanism that works similarly to prototype inheritance. As in prototype inheritance, a child frame inherits slots from its parent that it does not itself contain. However, if a child frame contains a slot name that is the same as one in a parent frame, the child slot overrides the parent. In this sense parent inheritance rules are like prototype inheritance rules; the same mechanism is involved. They differ, however, in that the prototype inheritance chain is searched in some instances where the parent inheritance chain is not, and assignment of inherited slots is handled differently in the two types of inheritance. myDoc {_Proto: ..} myPage {_parent:myDoc ..} Parent Child C H A P T E R 5 Inheritance and Lookup 5-6 Inheritance Combining Prototype and Parent Inheritance 5 In practice, most frames have prototypes and parents. When a slot is referenced during run time, the parent inheritance mechanism interacts with the prototype inheritance mechanism. The basic rules for inheritance order are 1. NewtonScript looks first in the initial frame for a referenced slot. In variable lookup the initial frame is the current receiver; in message lookup it is the given receiver. 2. If the slot is not found, the prototype chain of the initial frame is searched. 3. If the slot is still not found, the search moves up one level to the parent frame. The parent and its prototype chain are searched in order. The search then moves up another level (to the parent’s parent) and continues in the same way until the slot is found. The numbered arrows in Figure 5-4 indicate the order in which frames are searched for a slot reference that is made from a function in the current frame, when that frame has both parent and proto frames. Basically, prototype inheritance takes precedence over parent inheritance; all prototype frames on one level are searched before moving up to search a parent frame and its prototypes on another level. Remember that these rule take effect within the context of the rules for variable lookup. When looking up the value of a variable, NewtonScript searches for the variable first as a local, then as a global, and finally through the inheritance structure. C H A P T E R 5 Inheritance and Lookup Inheritance 5-7 Figure 5-4 Prototype and parent inheritance interaction order Inheritance Rules for Slot and Message Lookup 5 There are a number of ways in which a slot can be accessed in NewtonScript. Some of these ways search both inheritance chains, some search only the prototype chain, and some search neither. If the slot name appears by itself, then both inheritance chains are searched. In the following expressions, for example, the values of chapterNum, and 1 4 6 7 2 myDoc chapTemplate {chapterNum: nil, header:true } sectionTemp {sides: nil, ..} pageTemplate {_proto: sectionTemp, topMargin: 1, bottomMargin: 2, leftMargin: 1.5, rightMargin: 1.5, sides: single } docTemplate {paperSize: standard ..} baseDoc {_proto: docTemplate, footer: 1 } {_proto: baseDoc, header: nil, footer: 2 } 5 myChap {_parent: myDoc, _Proto: ChapTemplate, sides: double, chapNum: 2 } 3 myPage {_parent: myChap, _Proto: pageTemplate, leftMargin: 0.75 } C H A P T E R 5 Inheritance and Lookup 5-8 Inheritance rightMargin are searched in the order shown by the arrows in Figure 5-4 (after being searched for as locals and globals, of course). presentChapter := chapterNum; if rightMargin > 1.0 then ... However, if the frame.slot or frame.(pathExpression) syntax is used, as in the following examples, then only the prototype chain will be searched. if myChap.header then ... x:= self.topMargin; A message-send searches both inheritance chains, whether the receiver is explicitly mentioned, as in frame:Message(), or is omitted, as in :Message(). An exception to this rule is that if the keyword inherited is used, as in inherited:Message(), the search will begins with the current frame’s prototype frame, and only follows the prototype chain. Note Arguments can be made both for and against using self:Message() as opposed to :Message(). On the one hand, self:Message() looks like self.slot, which does not follow the parent inheritance chain and thus might cause confusion. On the other hand, self:Message() is arguably more readable, and a common bug can be avoided by always using this format. Consider these two seemingly correct lines of code: :Message1() :Message2() This sends Message2 to whatever :Message1() evaluates to, which is not what was intended. Including self would have prevented this bug. Another way to avoid this type of bug is to always include a semicolon (;) after an expression. ◆ C H A P T E R 5 Inheritance and Lookup Inheritance 5-9 NewtonScript also has two built-in functions that can be used for accessing frame slots: GetVariable and GetSlot. GetVariable searches both inheritance chains, and GetSlot searches neither. See Chapter 6, “Built-In Functions,” for a description of these functions. Appendix E, “Quick Reference Card,” summarizes the information in this section. Inheritance Rules for Testing for the Existence of a Slot 5 Inheritance rules for testing for the existence of a slot are basically the same as those for slot lookup. When the slot name appears by itself, as in slot exists, the full inheritance chain is searched. If a frame is explicitly mentioned however, as in frame.slot exists or self.slot exists, only the prototype chain is searched. A method is searched in both inheritance chains, whether a frame appears before the colon, as in frame:Message exists, or not, as in :Message exists. NewtonScript also provides two built-in functions for testing whether a slot exists: HasVariable, and HasSlot. HasVariable searches both parent and prototype chains, and HasSlot searches neither. See Chapter 6, “Built-In Functions,” for a description of these functions Appendix E, “Quick Reference Card,” summarizes the information in this section. Inheritance Rules for Setting Slot Values 5 Inheritance rules apply not only when a slot is referenced, but also when its value is set. However, the rules are slightly different for setting the value of a slot. The basic difference is that slot values are changed in parent frames only during run time. One reason for this is that prototype frames often exist in ROM and, therefore, cannot be changed. (Of course, when you first create the prototype frames their slots can be set, but not when the application is running.) C H A P T E R 5 Inheritance and Lookup 5-10 Inheritance When setting a slot, the inheritance search is the same as for slot lookup, except that the slot is not always set where it is found. These are the rules for where a slot is set: 1. If a slot exists in the currently executing frame, its value is set there. 2. If the slot exists in the prototype chain of the current frame, a new slot is made in the currently executing frame and its value is set there. 3. If the slot exists in the parent of the currently executing frame, its value is set in that parent frame. 4. If the slot exists in the prototype chain of the parent, a new slot is made in the parent frame at the same level at which it was found, and its value is set in that parent frame. Note that if you create a variable from within a function, it is created as a local variable that is restricted to the scope of the function. If you want to make sure the slot is made in the receiver, you must specify that by using self, in an expression like self.slotName := aValue; If you want to set the value of a slot explicitly in the parent of the current frame, you can use the expression self._parent.theSlot to force the slot to be created there. Note It is unsafe to reference the _parent slot directly as a simple expression. A few work arounds are available, however. You can use the view system message :Parent(), which returns the current receiver’s parent frame. Also, using frame._parent or self._parent avoids this problem. In summary: _parent is risky frame:Parent() is OK self._parent is OK (and should be the same as :Parent()) frame._parent is OK (and should be the same as frame:Parent()) See the Newton Programmer’s Guide for more information on :Parent() method. ◆ C H A P T E R 5 Inheritance and Lookup Inheritance 5-11 An Object-Oriented Example 5 You may understand inheritance better if you construct an inheritance structure on which to experiment. You can use the following code: frame1 := { slot1: "slot1 from frame1", slot6: 99}; frame2 := { _parent: frame1, slot1: "slot1 from frame2", slot2: "slot2 from frame2"}; frame3 := { slot3: "slot3 from frame3", slot5: 42}; frame4 := { _parent: frame2, _proto: frame3, msg1: func() begin //show slot from parent inheritance Print(slot1); //show slot from proto inheritance Print(slot3); //show slot from parent inheritance - again - //but doesn't work because // self.slot1 only searches proto chain Print(self.slot1); //show slot from proto inheritance - again Print(self.slot3); end } C H A P T E R 5 Inheritance and Lookup 5-12 Inheritance This produces the inheritance structure shown in Figure 5-5. When the message frame4:msg1() is sent, the following output is produced: "slot1 from frame2" "slot3 from frame3" NIL "slot3 from frame3" Figure 5-5 An inheritance structure frame1 { slot1:"slot1 from frame1" slot6:99 } frame3 { slot3."slot3 from frame3" slot5:42 } frame2 { _parent:frame1 slot1:"slot1 from frame2" slot2:"slot2 from frame2" } frame4 { _parent:frame2 _proto:frame3 msg1:func()... } Prototype frame Parent frame Parent frame 6-1 C H A P T E R 6 Built-In Functions 6 NewtonScript supports a number of built-in functions. The following groups of functions are included here: ■ Object system ■ String ■ Bitwise ■ Array and sorted array ■ Math ■ Floating point math ■ Control of floating point math ■ Financial ■ Exception Handling ■ Message sending ■ Data extraction ■ Data stuffing ■ Getting and Setting Global Variables and Functions ■ Miscellaneous Figure 6-0 Listing 6-0 Table 6-0 C H A P T E R 6 Built-In Functions 6-2 Compatibility Note The inspector examples used throughout this document often include a number after a pound sign; for example, #4945. This information can be ignored as it is an internal pointer to data in the system. ◆ Compatibility 6 This section describes the changes made to the built-in functions for Newton System Software 2.0. New Functions 6 The following new functions have been added for this release. New Object System Functions 6 The following new object system functions have been added. GetFunctionArgCount IsCharacter IsFunction IsInteger IsNumber IsReadOnly (existed in 1.0 but now documented) IsReal IsString IsSubclass (existed in 1.0 but now documented) IsSymbol MakeBinary SetVariable SymbolCompareLex C H A P T E R 6 Built-In Functions Compatibility 6-3 New String Functions 6 The following new string functions have been added. CharPos StrExactCompare StrTokenize StyledStrTruncate New Array Functions 6 The following new array functions have been added. ArrayInsert InsertionSort LFetch LSearch NewWeakArray StableSort New Sorted Array Functions 6 The following new functions have been added that operate on sorted arrays. These functions are based on binary search algorithms, hence the “B” prefix to the function names. BDelete BDifference BFetch BFetchRight BFind BFindRight BInsert BInsertRight BIntersect BMerge BSearchLeft BSearchRight C H A P T E R 6 Built-In Functions 6-4 Compatibility New Message Sending Functions 6 The following new utility functions for sending immediate messages have been added. PerformIfDefined ProtoPerform ProtoPerformIfDefined New Data Stuffing Functions 6 The following functions have been added to stuff data. StuffCString StuffPString New Functions to Get and Set Globals 6 The following new functions that get, set, and check for the existence of global variables and functions have been added. GetGlobalFn GetGlobalVar GlobalFnExists GlobalVarExists DefGlobalFn DefGlobalVar UnDefGlobalFn UnDefGlobalVar New Miscellaneous Functions 6 The following function has been added. BinEqual C H A P T E R 6 Built-In Functions Object System Functions 6-5 Obsolete Functions 6 Some built-in functions previously documented in the NewtonScript Programming Language are obsolete, but are still supported for compatibility with older applications. Do not use the following utility functions, as they may not be supported in future system software versions: ArrayPos (use LSearch instead) StrTruncate (use StyledStrTruncate instead) Object System Functions 6 The functions described in this section operate on NewtonScript objects. They perform operations such as removing slots, cloning frames, and so forth. ClassOf 6 ClassOf(object) Returns the class of an object. object The object whose class to return. The return value is a symbol. Some of the common object classes are: 'int, 'char, 'boolean, 'string, 'array, 'frame, 'function, and 'symbol. Note that this is not necessarily the same as the primitive class of an object. For binary, array, and frame objects, the class can be set differently from the primitive class. Frames or arrays without an explicitly assigned class are of the primitive class 'frame or 'array, respectively. If a frame has a class slot, the value of the class slot will be returned. Here are some examples: f:={multiply:func(x,y) x*y}; classof(f); #1294 Frame C H A P T E R 6 Built-In Functions 6-6 Object System Functions f:={multiply:func(x,y) x*y, class:'Arithmetic}; classof(f); #1294 Arithmetic s:="India Joze"; classof(s); #1237 String See also “PrimClassOf” on page 6-13. Clone 6 Clone(object) Makes and returns a “shallow” copy of an object; that is, references within the object are copied, but the data pointed to by the references is not. object The object to copy. Here is an example: SeaFrame := {Ocean: "Pacific", Size: "large" , Color: "blue"}; seaFrameCopy := clone(seaFrame); seaFrameCopy.Deep := true; seaFrame #441896D {Ocean: "Pacific", size: "large", Color: "blue"} seaFrameCopy #4418B0D {Ocean: "Pacific", size: "large", Color: "blue", Deep: TRUE} DeepClone 6 DeepClone(object) Makes and returns a “deep” copy of an object; that is, all of the data referenced within the object is copied, including that referenced by magic pointers (pointers to ROM objects). object The object to copy. C H A P T E R 6 Built-In Functions Object System Functions 6-7 It is not guaranteed that every part of the data structure is in RAM. (Certain information, such as the symbols naming frame slots, may be shared with the original object.) Contrast this function with Clone that only makes a “shallow” copy, and the EnsureInternal function that ensures that the object exists entirely in internal RAM. GetFunctionArgCount 6 GetFunctionArgCount(function) Returns the number of arguments expected by a function. function The function whose number of arguments you want to get. GetSlot 6 GetSlot(frame, slotSymbol) Returns the value of a slot in a frame. Only the frame specified is searched. frame A reference to the frame in which to look for the slot. slotSymbol A symbol naming the slot whose value you want to get. If the slot doesn’t exist, this function returns nil. Unlike GetVariable, GetSlot searches for a slot only in the indicated frame. Inheritance is not used to find the slot. The use of the NewtonScript dot operator is similar to the GetSlot function in that it also returns the value of a frame slot. For example, the expression frame.slot returns the value of the specified slot. However, when using the dot operator, if the slot is not found in the specified frame, proto frames are also searched for the slot (but not parent frames). C H A P T E R 6 Built-In Functions 6-8 Object System Functions GetVariable 6 GetVariable(frame, slotSymbol) Returns the value of a slot in a frame. If the slot is not found, nil is returned. frame A reference to the frame in which to begin the search for the slot. slotSymbol A symbol naming the slot whose value you want to get. This function begins its search for the slot in the specified frame and makes use of the full proto and parent inheritance. HasSlot 6 HasSlot(frame, slotSymbol) Returns non-nil if the slot exists in the frame, otherwise, returns nil. Inheritance is not used to find the slot. frame The name of the frame in which to look for the slot. slotSymbol A symbol naming the slot whose value you want to get. This function begins its search for the slot in the specified frame and makes use of the full proto and parent inheritance. HasVariable 6 HasVariable(frame, slotSymbol) Returns non-nil if the slot exists in the frame, otherwise, returns nil. This function searches proto and parent frames of the specified frame if the slot is not found there. frame The name of the frame in which to begin the search for the slot. slotSymbol A symbol naming the slot whose existence you want to check. You must use a single quote before the slot name because it is a symbol. C H A P T E R 6 Built-In Functions Object System Functions 6-9 Intern 6 Intern( string ) Creates and returns a symbol whose name is given as the string parameter string. If a symbol with that name already exists, the preexisting symbol is returned. string The name of the symbol. IsArray 6 IsArray(obj) Returns non-nil if obj is an array. obj The object to test. IsBinary 6 IsBinary(obj) Returns non-nil if obj is a binary object. obj The object to test. IsCharacter 6 IsCharacter(obj) Returns non-nil if obj is a character, and returns nil otherwise. obj The object to test. IsFrame 6 IsFrame(obj) Returns non-nil if obj is a frame. obj The object to test. C H A P T E R 6 Built-In Functions 6-10 Object System Functions IsFunction 6 IsFunction(obj) Returns non-nil if obj is a function, and returns nil otherwise. obj The object to test. IsImmediate 6 IsImmediate(obj) Returns non-nil if obj is an immediate. obj The object to test. IsInstance 6 IsInstance(obj, class) Returns non-nil if obj’s class symbol the same as class or a subclass of class. obj The object to test. class A class symbol. Note that this is equivalent to: IsSubclass(ClassOf(obj), class) IsInteger 6 IsInteger(obj) Returns non-nil if obj is an integer, and returns nil otherwise. obj The object to test. IsNumber 6 IsNumber(obj) Returns non-nil if obj is a number (integer or real), and returns nil otherwise. obj The object to test. C H A P T E R 6 Built-In Functions Object System Functions 6-11 IsReadOnly 6 IsReadOnly(obj) Returns non-nil if obj is read-only, and returns nil otherwise. You can use IsReadOnly to determine if an array, frame, or binary object is writable. obj An array, frame, or binary object to test. (Immediate objects such as integers are never read-only.) Here is an example: if IsReadOnly(viewBounds) then viewBounds := Clone(viewBounds); This function should not be used to determine the location of an object, that is, whether it is in the heap, in ROM, or in protected memory. The NewtonScript language could permit read-only objects in the NS heap, or writable objects that exist in other locations. IsReal 6 IsReal(obj) Returns non-nil if obj is a real number, and returns nil otherwise. obj The object to test. IsString 6 IsString(obj) Returns non-nil if obj is a string, and returns nil otherwise. obj The object to test. IsSubclass 6 IsSubclass(sub, super) Checks if a class is a subclass of another class. sub A class symbol you want to test. super A class symbol. C H A P T E R 6 Built-In Functions 6-12 Object System Functions This function returns non-nil if sub is a subclass of super, or is the same as super. Returns nil if sub is not a subclass of super. See also the related function IsInstance on page 6-10. IsSymbol 6 IsSymbol(obj) Returns non-nil if obj is a symbol, and returns nil otherwise. obj The object to test. MakeBinary 6 MakeBinary(length, class) Allocates a new binary object of the specified length and class. length The size of the binary object in bytes. class A symbol specifying the class Map 6 Map(obj, function) Applies a function to the slot name and value of each element of an array or frame. obj An array or frame. function Returns nil. A function to apply to the elements or slots in obj. The function is passed two parameters: slot and value. The slot parameter contains an integer array index if obj is an array, or it contains a symbol naming a slot, if obj is a frame. The value parameter contains the value of the array or frame slot referenced by the slot parameter. This is equivalent to: foreach slot,value in obj do call function with (slot,value) C H A P T E R 6 Built-In Functions Object System Functions 6-13 PrimClassOf 6 PrimClassOf(obj) Returns the primitive class of an object. obj The object whose primitive class to return. Returns a symbol identifying the primitive data structure type of the object, one of: 'immediate, 'binary, 'array, or 'frame. See also “ClassOf” on page 6-5. RemoveSlot 6 RemoveSlot(obj, slot) Removes a slot from a frame or array. obj The name of the frame or array from which to remove the slot. slot A symbol naming the frame slot you want to remove, or the index of the array slot to remove. Note that no inheritance look-up is used to find this slot in obj. This function returns the modified frame or array. If slot is not found, nothing is done and the unmodified frame or array is returned. Note that the system throws an exception if obj is read-only. ReplaceObject 6 ReplaceObject(originalObject, targetObject) Causes all references to an object to be redirected to another object. originalObject The original object. targetObject The object to which you want to redirect references to originalObject. This function always returns nil. Note that you cannot specify immediate objects as parameters to this function. C H A P T E R 6 Built-In Functions 6-14 Object System Functions Here is an example: x:={name:"Star"}; y:={name:"Moon"}; replaceobject(x,y); x; #469E69 {name: "Moon"} y; #46A1E9 {name: "Moon"} SetClass 6 SetClass(obj, classSymbol) Sets the class of an object. obj The object whose class to set. classSymbol A symbol naming the class to give to the object. This function returns the object whose class was set. You can set the class of the following kinds of objects: frames, arrays, and binary objects. Note that you cannot set the class of an immediate object. When setting the class of a frame, if a class slot doesn't exist, one is created in the frame. For example: x:={name: "Star"}; setclass(x, 'someClass); #46ACC9 {name: "Star", class: someClass} C H A P T E R 6 Built-In Functions Object System Functions 6-15 SetVariable 6 SetVariable(frame, slotSymbol, value) Sets the value of a slot in a frame. The value is returned. frame A reference to the frame in which to begin the search for the slot. slotSymbol A symbol naming the slot whose value you want to set. If the slot is not found, it is created in frame. value The new value of the slot. This function begins its search for the slot in the specified frame and makes use of the full proto and parent inheritance. Note that if the slot is found in the proto chain, it is not set there, but is created and set in frame, or in its parent chain, following the usual inheritance rules as they apply to setting a value. SymbolCompareLex 6 SymbolCompareLex(symbol1, symbol2) Compares symbols lexically. This function returns a negative number if symbol symbol1 is less than symbol symbol2. Returns zero if the two symbols are equal. Returns a positive number if symbol1 is greater than symbol2. Case is not significant (that is, 'Hello and 'hello are equal). symbol1 A symbol. symbol2 A symbol. TotalClone 6 TotalClone(obj) Makes and returns a “deep” copy of an object; that is, all of the data referenced within the object is copied. obj The object to copy. This function is similar to DeepClone, except that this function guarantees that the object returned exists entirely in internal RAM. Also, unlike C H A P T E R 6 Built-In Functions 6-16 String Functions DeepClone, TotalClone does not follow magic pointers, so that objects referenced through magic pointers are not copied. String Functions 6 These functions operate on and manipulate strings. BeginsWith 6 BeginsWith( string, substr ) Returns non-nil if string begins with substr, or returns nil otherwise. This function is case and diacritical-mark insensitive. An empty substr matches any string. string The string to test. substr A string. Capitalize 6 Capitalize( string ) Capitalizes the first character in string and returns the result. string is modified. string The string to modify. CapitalizeWords 6 CapitalizeWords( string ) Capitalizes the first character of each word in string and returns the result. string is modified. string The string to modify. C H A P T E R 6 Built-In Functions String Functions 6-17 CharPos 6 CharPos(str, char, startpos) Returns the position of the next occurrence of character in the specified string, starting from the startPos (or nil if it’s not found). str The specified string. char The specified character in the string. startpos The starting position of the character to return. Downcase 6 Downcase( string ) Changes each character in string to lowercase and returns the result. string is modified. string The string to modify. EndsWith 6 EndsWith( string, substr ) Returns non-nil if string ends with substr, or returns nil otherwise. This function is case and diacritical-mark insensitive. An empty substr matches any string. string The string to test. substr A string. IsAlphaNumeric 6 IsAlphaNumeric(char) Returns non-nil if char is a number or a letter; otherwise, this function returns nil. char A character to test. C H A P T E R 6 Built-In Functions 6-18 String Functions IsWhiteSpace 6 IsWhiteSpace(char) Returns non-nil if char is a space ($\20), tab ($\09), linefeed ($\0A), or carriage return ($\0D) character; otherwise, this function returns nil. char A character. SPrintObject 6 SPrintObject( obj ) Returns a string of the object passed in. Numbers, strings, characters, and symbols are converted to their natural string representation. For frames, arrays, and Booleans, this function returns an empty string. To convert a Boolean into a string, you must check for non-nil or nil and return the appropriate string. Note This function changes the number format depending on the current locale setting. Real numbers may be formatted unexpectedly. ◆ StrCompare 6 StrCompare( a, b ) Returns a negative number if string a is less than string b. Returns zero if string a and b are equal. Returns a positive number if string a is greater than string b. Case is not significant (that is, “Hello” and “hello” are equal). a A string. b A string. Note that this is a content comparison of the two strings, not a pointer comparison. Use StrExactCompare to do a case-sensitive comparison of strings. C H A P T E R 6 Built-In Functions String Functions 6-19 StrConcat 6 StrConcat( a, b ) Concatenates string b onto string a and returns the result as a new string. a A string. b A string. StrEqual 6 StrEqual( a, b ) Returns non-nil if the two strings, a and b, are equal. a A string. b A string. Case is not significant. Note that this is a content comparison of the two strings, not a pointer comparison. Use StrExactCompare to do a case-sensitive comparison of strings. StrExactCompare 6 StrExactCompare( a, b ) Returns a negative number if string a is less than string b. Returns zero if string a and b are equal. Returns a positive number if string a is greater than string b. Case and diacritical marks are significant (that is, “Hello” and “hello” are not equal). a A string. b A string. Note that this is a content comparison of the two strings, not a pointer comparison. Use StrCompare or StrEqual to do a case-insensitive comparison of strings. C H A P T E R 6 Built-In Functions 6-20 String Functions StrLen 6 StrLen( string ) Returns the number of characters in a string, excluding the null terminator (if one exists). string A string. StrMunger 6 StrMunger( dstString, dstStart, dstCount, srcString, srcStart, srcCount ) Replaces characters in dstString using characters from srcString and returns the destination string after munging is complete. This function is destructive to dstString. dstString The destination string. The string must be writable, you can’t specify a string literal, or an exception will be thrown. You’ll have to use Clone (page 6-6) or a similar function to make a writable copy from a string literal. dstStart The starting position within dstString. dstCount The number of characters to be replaced in dstString. You can specify nil for dstCount to go to the end of the string. srcString A string. This can be nil to simply delete the characters. srcStart The starting position in srcString from which to begin taking characters to place into dstString. srcCount The number of characters to use from srcString. You can specify nil to go to the end of srcString. Here is an example: StrMunger("abcdef", 2, 3, "ZYXWV", 0, nil) "abZYXWVf" StrMunger can also be used to concatenate large strings; for example: StrMunger(str1, StrLen(str1)+1, nil, str2, 0, nil); C H A P T E R 6 Built-In Functions String Functions 6-21 StrPos 6 StrPos( string, substr, start ) Returns the position of substr in string, or nil if substr is not found. The search begins at character position start. (The first character position in a string is zero.) This function is not case sensitive. string A string. substr A string. start An integer. Here is an example: StrPos("abcdef", "Bcd", 0) 1 StrTokenize 6 StrTokenize(str, delimiters) Breaks up a string into chunks for you as defined by the delimiters argument. Each time you call the closure (passing it no arguments) you will get back the next token, until there are no more tokens and it returns nil. str A string to be broken up into tokens delimiters Either a character or string (list of characters) that are the delimiters separating the pieces of the string. For example, to break up a sentence into space separated words you do something like the following: fn := StrTokenize("the quick green fox", $ ); #441BE8D while x := call fn with () do Print(x); "the" "quick" "green" "fox" #2 NIL C H A P T E R 6 Built-In Functions 6-22 String Functions StyledStrTruncate 6 StyledStrTruncate(string, length, font) Truncates a string to the indicated length, in pixels. (Of course, the length does not include the null terminator.) Returns the truncated string. string A string. length An integer specifying the length, in pixels, at which to truncate the string. font A font specification, which is used to determine how many characters of the string will fit in the specified length. For details on specifying a font, refer to the section “Specifying a Font” in the chapter “Text Input and Display,”of the Newton Programmer’s Guide. This function adds an ellipsis (...) to the end of the truncated string. SubStr 6 SubStr( string, start, count ) Returns a new string containing count characters from string, starting at position start. Character positions begin with zero for the first character. string A string. start An integer. count An integer. TrimString 6 TrimString( string ) Removes any white space (spaces, tabs, and new line characters) from the beginning and end of string and returns the result. string is modified. string A string. C H A P T E R 6 Built-In Functions Bitwise Functions 6-23 Upcase 6 Upcase( string ) Capitalizes each character in string and returns the result. string is modified. string A string. Bitwise Functions 6 These functions perform logical operations on bits. Band, Bor, Bxor, and Bnot 6 Band(a, b) Bor(a, b) Bxor(a, b) Bnot(a) These bitwise functions each return an integer result of their operation on one or two integer parameters. They perform bitwise AND, OR, XOR, and NOT, respectively. a An integer. b An integer. Array Functions 6 These functions operate on and manipulate arrays. C H A P T E R 6 Built-In Functions 6-24 Array Functions AddArraySlot 6 AddArraySlot (array, value) Appends a new element onto an array. array An array. value A value to be added as new element in the array. For example: myArray := [123, 456] #1634 myArray addArraySlot (myArray, "I want chopstix") #12 "I want chopstix" myArray #1634 [123, 456, "I want chopstix"] Array 6 Array( size, initialValue ) Returns a new array with size number of elements that each contain initialValue. size An integer. initialValue A value. ArrayInsert 6 ArrayInsert(array, element, position) Inserts an element into an array and returns the modified array. array The array to be modified. element The element to be inserted into the array. position The index where the new element is to be inserted. Specify zero to insert the element at the beginning of the array. Specify the result of Length(array) to insert the element at the end of the array. C H A P T E R 6 Built-In Functions Array Functions 6-25 The length of the array is increased by one. ArrayMunger 6 ArrayMunger( dstArray, dstStart, dstCount, srcArray, srcStart, srcCount ) Replaces elements in dstArray using elements from srcArray and returns the destination array after munging is complete. This function is destructive to dstArray. dstArray The destination array. dstStart The starting element in the destination array. dstCount The number of elements to be replaced in dstArray. You can specify nil for dstCount to go to the end of the array. srcArray An array. You can specify nil for srcArray to delete the elements. srcStart The starting position in the source array from which to begin taking elements to place into the destination array. srcCount The number of elements to use from the source array. You can specify nil to go to the end of the source array. Here is an example: ArrayMunger([10,20,30,40,50], 2, 3, [55,66,77,88,99], 0, nil) [10, 20, 55, 66, 77, 88, 99] Using ArrayMunger is the most efficient way to join two arrays. To put B at the front of A: ArrayMunger(A, 0, 0, B, 0, nil) To put B at the end of A: ArrayMunger(A, Length(A), 0, B, 0, nil) C H A P T E R 6 Built-In Functions 6-26 Array Functions You can also do this with SetUnion (page 6-34), which has the additional property that it eliminates duplicates, but ArrayMunger is much faster if you don’t need that property. ArrayRemoveCount 6 ArrayRemoveCount( array, startIndex, count ) Removes one or more elements from an array. array The array from which to remove elements.This parameter is modified by this function. startIndex An integer that is the index of the first element to remove. count An integer specifying the number of elements to remove. Any elements following those removed are shifted left so that no empty elements remain. InsertionSort 6 InsertionSort(array, test, key) Sorts an array, preserving the original relative ordering of equivalent elements. array The array to modify by sorting. test Indicates how the array is to be sorted. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. This sort performs very well on arrays that are nearly sorted already and on very small arrays. This sort is an O(n2 ) sort. To sort larger arrays, use Sort or StableSort. C H A P T E R 6 Built-In Functions Array Functions 6-27 Length 6 Length (array) Returns the number of elements in an array, the number of slots in a frame, or the size, in bytes, of a binary object. array An array or frame or binary object. For example: myArray := [123, 456, "I want chopstix"] length (myArray) #12 3 Note that arrays are indexed from 0, but length returns a count of the number of characters. Therefore, the last element of this example is element 2. Note If you pass a string to this function, you will get the number of bytes that a string occupies. To get the length of strings, use StrLen instead. ◆ LFetch 6 LFetch(array, item, start, test, key) Linearly searches an array for the specified element and returns the element, or nil if it is not found or if start is equal to or greater than the length of the array. array The array in which to search. item The key value for which to search. start The array index at which to begin searching. C H A P T E R 6 Built-In Functions 6-28 Array Functions test Indicates how to compare key values to test for a match. Specify one of the following symbols for test: '|=| If the objects being compared are immediates and reals, their values are compared for equivalency. For reference objects, their identity is compared. '|str=| For string objects, the contents of the strings are compared for equivalency. Alternatively, for nonstandard sorting situations, you can specify a function object that compares two key values and returns a Boolean or integer value indicating whether or not they are equivalent. This function will be called to test for matches. The function is passed two parameters, A and B, where A is the item parameter passed to LFetch and B is the array element being tested. The function must return a non-nil value (or zero) if the items are equivalent, or nil (or a non-zero integer) if the items are not equivalent. Note that specifying a function object for test results in much slower performance than using one of the predefined symbols. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. This function works just like LSearch, except that LSearch returns the index of the found item. If you know that the array you are working with is sorted, you can use the function BFetch to search for an element. This function, based on binary search algorithms, is much faster on large arrays than LFetch or LSearch, though it can be used only on sorted arrays. C H A P T E R 6 Built-In Functions Array Functions 6-29 LSearch 6 LSearch(array, item, start, test, key) Linearly searches an array for the specified element and returns the index of the element, or nil if it is not found or if start is equal to or greater than the length of the array. array The array in which to search. item The key value for which to search. start The array index at which to begin searching. test Indicates how to compare key values to test for a match. Specify one of the following symbols for test: '|=| If the objects being compared are immediates and reals, their values are compared for equivalency. For reference objects, their identity is compared. '|str=| For string objects, the contents of the strings are compared for equivalency. Alternatively, for non-standard sorting situations, you can specify a function object that compares two key values and returns a Boolean or integer value indicating whether or not they are equivalent. This function will be called to test for matches. The function is passed two parameters, A and B, where A is the item parameter passed to LSearch and B is the array element being tested. The function must return a non-nil value (or zero) if the items are equivalent, or nil (or a non-zero integer) if the items are not equivalent. Note that specifying a function object for test results in much slower performance than using one of the predefined symbols. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. C H A P T E R 6 Built-In Functions 6-30 Array Functions This function works just like LFetch, except that LFetch returns the found item instead of its index. If you know that the array you are working with is sorted, you can use the function BFind to search for an element. This function, based on binary search algorithms, is much faster than LSearch, though it can be used only on sorted arrays. NewWeakArray 6 NewWeakArray(length) Returns a new weak array with length number of elements, which are initialized to nil. length An integer specifying the size of the array to create. A weak array is an array that does not prevent the objects it refers to from being garbage-collected. That is, if the only references to an object are from weak arrays, the object is destroyed during the next garbage collection cycle. When that happens, the references in the weak arrays are replaced with nil. The purpose of weak arrays is to cache objects without preventing them from being garbage collected. For example, if you wanted to keep an array of all objects in existence of a certain type, you could add each object to an array as it’s created. If you use a regular array, those objects will never be garbage-collected, because there will always be references to them in your array, and the system will eventually run out of memory. However, if you use a weak array, its references don’t affect garbage collection, so the objects will be garbage-collected normally, freeing memory when it is needed. C H A P T E R 6 Built-In Functions Array Functions 6-31 SetAdd 6 SetAdd (array,value,uniqueOnly) Appends an element to the specified array and returns the modified array, or nil if the element was not added. array The array to which SetAdd appends the element in value. value The element to append to the array specified by array. uniqueOnly Whether only unique elements are to be added to the array; if the value of this parameter is non-nil, SetAdd appends value to the array only if it is not already present in the array. If the element specified by the value parameter is already present in the array, SetAdd returns nil and does not append the element. If uniqueOnly is nil, the item is appended to the array without checking whether it is unique. Note The type of comparison used in this function is pointer comparison, not content comparison. ◆ SetContains 6 SetContains( array, item ) array An array. item An item that may be in the array. Searches each element of an array to determine if item is equal to one of the array elements. If a match is found, this function returns the array index of the matching array element. If item is not found in the array, nil is returned. Note The type of comparison used in this function is pointer comparison, not content comparison. ◆ C H A P T E R 6 Built-In Functions 6-32 Array Functions SetDifference 6 SetDifference( array1, array2 ) Returns an array that contains all of the elements in array1 that do not exist in array2. array1 An array. array2 An array. If array1 is nil, nil is returned. Note The type of comparison used in this function is pointer comparison, not content comparison. ◆ SetLength 6 SetLength (array, length) Sets the length of an array. array An array. length An integer. This function is useful for increasing or decreasing the size of an array. If you increase the size of the array, new elements are filled with a nil value. For example: myArray := [123, 456, "I want chopstix"] #1634 myArray setLength (myArray, 4) #1634 [123, 456, "I want chopstix", NIL] myArray [3] := 789 #3156 789 myArray #1634 [123, 456, "I want chopstix", 789] C H A P T E R 6 Built-In Functions Array Functions 6-33 SetOverlaps 6 SetOverlaps( array1, array2 ) Compares each element in array1 to each element in array2, and returns the index of the first element in array1 that is equal to an element in array2. If no equivalent elements are found, nil is returned. array1 An array. array2 An array. Note The type of comparison used in this function is pointer comparison, not content comparison. ◆ SetRemove 6 SetRemove (array, value) SetRemove removes the specified element from the specified array and returns the modified array. The length of the array is shifted left by one and all of the elements after the deleted element are shifted by one to the next lowest numbered array position. If the item is not found in the array, this function returns nil. array The array from which SetRemove removes the specified element. value The element to remove from the array specified by array. Note The type of comparison used in this function is identity comparison, not pointer comparison. ◆ C H A P T E R 6 Built-In Functions 6-34 Array Functions SetUnion 6 SetUnion( array1, array2, uniqueFlag ) Returns an array that contains all of the elements in array1 and all of the elements in array2. array1 An array. array2 An array. uniqueFlag If any non-nil value, SetUnion will not include any duplicate items in the array it returns. If uniqueFlag is nil, all elements from both arrays are included, even if there are duplicates. If both of the arrays are nil, an empty array is returned. SetUnion can eliminate duplicates. If you do not need that property, you can combine two arrays more efficiently using ArrayMunger (page 6-25). Note The type of comparison used in this function is identity comparison, not pointer comparison. ◆ Sort 6 Sort( array, test, key ) Sorts an array and returns it after it is sorted. The sort is destructive; that is, the array you give it is modified. The sort also is not stable; that is, elements with equal keys won’t necessarily have the same relative order after the sort. array An array. test Defines the sort order. It can be a function object that takes two parameters A and B and returns a positive integer if A sorts after B, returns zero if A sorts equivalently to B, and returns a negative integer if A sorts before B. C H A P T E R 6 Built-In Functions Array Functions 6-35 For much greater speed, specify one of the following symbols for test: '|<| Sort in ascending numerical order '|>| Sort in descending numerical order '|str<| Sort in ascending string order '|str>| Sort in descending string order key Defines the sort key within each array element. Specify nil to use the array elements directly as they are. You can specify a path expression, in which case the array elements are assumed to be frames or arrays and the path is applied to each element to find the sort key. Or, you can specify a function that takes one parameter and returns the key. This example sorts myArray in ascending numerical order according to the timestamp slot of the entries: Sort(myArray, '|<|, 'timestamp) This example sorts myArray in descending string order according to the first and last names concatenated together: Sort(myArray, '|str>|, func (e) e.first && e.last) StableSort 6 StableSort(array, test, key) Sorts an array, preserving the original relative ordering of equivalent elements. array The array to modify by sorting. test Indicates how the array is to be sorted. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. C H A P T E R 6 Built-In Functions 6-36 Sorted Array Functions This sort requires working memory, so may not be suitable for extremely large arrays or in low memory conditions. Sorted Array Functions 6 This section describes new functions that operate on sorted arrays. These functions are based on binary search algorithms, hence the “B” prefix to the function names. IMPORTANT The arrays you pass to these functions must be ordered, otherwise the results are undefined. To sort an array, you can use the functions Sort, InsertionSort, or StableSort. ▲ These sorted array functions each use test and key parameters to allow them to be adapted to different data structures. Typically, these functions search, or iterate over several items in an array. As each element in an array is examined, the key argument is used to extract a value, called the key, from the element. Then that key is treated as specified by the test argument. Here’s an explanation of these parameters: test Indicates the sort order of the array. Specify one of the following symbols for test, to indicate how the array is sorted: '|<| Sorted in ascending numerical order '|>| Sorted in descending numerical order '|str<| Sorted in ascending string order '|str>| Sorted in descending string order '|sym<| Sorted in ascending symbol order, based on lexical comparison of symbol name '|sym>| Sorted in descending symbol order, based on lexical comparison of symbol name C H A P T E R 6 Built-In Functions Sorted Array Functions 6-37 Alternatively, for non-standard sorting situations, you can specify a function object that compares two key values and returns an integer that indicates how they are sorted relative to each other. This function will be called by any of the sorted array functions to determine sorting relationships between elements. The function is passed two parameters, A and B, and must return a positive integer if A sorts after B, must return zero if A sorts equivalently to B, and a must return a negative integer if A sorts before B. Note that specifying a function object for test results in much slower performance than using one of the predefined symbols. key Defines the key within each array element. Specify nil to use the array elements directly as they are. You can specify a path expression, in which case the array elements are assumed to be frames or arrays and the path is applied to each element to find the key. You can also specify a function that takes one parameter (the element) and returns the key. BDelete 6 BDelete(array, item, test, key, count) Deletes elements from an ordered array. This function returns the number of elements deleted. array The array to be modified. item The key value for which to search. Elements with this key are deleted. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. C H A P T E R 6 Built-In Functions 6-38 Sorted Array Functions count The maximum number of elements to delete. Specify nil to indicate that all matching elements are to be deleted. BDifference 6 BDifference(array1, array2, test, key) Returns a new sorted array containing those elements from array1 that do not have equivalent elements in array2. array1 The first array. This array is not modified. array2 The second array. This array is not modified. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. BFetch 6 BFetch(array, item, test, key) Uses a binary search to find an element in a sorted array. The leftmost found element is returned, or nil is returned if none are found. array The array to be searched. item The key value for which to search. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. This function works just like BFind, except that BFind returns the index of the found item. C H A P T E R 6 Built-In Functions Sorted Array Functions 6-39 BFetchRight 6 BFetchRight(array, item, test, key) Uses a binary search to find an element in a sorted array. The rightmost found element is returned, or nil is returned if none are found. array The array to be searched. item The key value for which to search. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. This function works just like BFindRight, except that BFindRight returns the index of the found item. BFind 6 BFind(array, item, test, key) Uses a binary search to find an element in a sorted array. The index of the leftmost found element is returned, or nil is returned if none are found. array The array to be searched. item The key value for which to search. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. This function works just like BFetch, except that BFetch returns the found item instead of its index. C H A P T E R 6 Built-In Functions 6-40 Sorted Array Functions BFindRight 6 BFindRight(array, item, test, key) Uses a binary search to find an element in a sorted array. The index of the rightmost found element is returned, or nil is returned if none are found. array The array to be searched. item The key value for which to search. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. This function works just like BFetchRight, except that BFetchRight returns the found item instead of its index. BInsert 6 BInsert(array, element, test, key, uniqueOnly) Inserts an element into the proper position in a sorted array. In the case of equivalent elements, the element is inserted to the left of its equivalent. array The array to be modified. element The new element to be inserted. Note that the key parameter is used to extract its key value. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. C H A P T E R 6 Built-In Functions Sorted Array Functions 6-41 uniqueOnly Specify non-nil to indicate that the element is not to be inserted if the array already contains an element with an equivalent key value. Specify 'returnElt to indicate the same thing, and also that this function should return an array element. It returns either the element that was inserted, or if a matching element is found in the array, that element is returned. This is useful when you want to reuse existing objects in order to conserve space or ensure pointer equality. Specify nil to indicate that the element is to be inserted even if the array already contains an element with an equivalent key. In this case, the new element is inserted to the left of the existing equivalent elements. This function has three possible return values, as follows: ■ It can return nil, signaling that the element was not inserted. ■ It can return an integer, which is the index at which the element was inserted. ■ It can return an array element—either the element that was inserted (if it was unique), or an element that already exists in the array, whose key value matches the key value of the element you wanted to insert. This type of return value can occur only if you specify 'returnElt for uniqueOnly. Here is an example of how you might use this function with uniqueOnly set to 'returnElt to ensure pointer equality: // :GetStr() returns a string input by the user bodyColor := BInsert(colorList,:GetStr(),'|str<|,nil,'returnElt); interiorColor:= BInsert(colorList,:GetStr(),'|str<|,nil,'returnElt); if bodyColor = interiorColor then Print("bad idea"); If GetString returns a string already in colorList, this code makes sure that the original string is reused. This is why using the = operator to test for equality works. It also allows the duplicate string to be garbage collected, provided there are no remaining references to it. C H A P T E R 6 Built-In Functions 6-42 Sorted Array Functions BInsertRight 6 BInsertRight(array, element, test, key, uniqueOnly) Inserts an element into the proper position in a sorted array. In the case of equivalent elements, the element is inserted to the right of its equivalent. The index at which it was inserted is returned, or nil is returned if it was not inserted. array The array to be modified. element The new element to be inserted. Note that the key parameter is used to extract its key value. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. uniqueOnly A Boolean value. Specify a non-nil value to indicate that the element is not to be inserted if the array already contains an element with an equivalent key value. Specify nil to indicate that the element is to be inserted even if the array already contains an element with an equivalent key. In the later case, the new element is inserted to the right of the existing equivalent elements. BIntersect 6 BIntersect(array1, array2, test, key, uniqueOnly) Returns a new sorted array consisting of the equivalent elements from the two specified arrays. array1 The first array. This array is not modified. array2 The second array. This array is not modified. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. C H A P T E R 6 Built-In Functions Sorted Array Functions 6-43 key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. uniqueOnly A Boolean value. Specify a non-nil value to indicate that elements with duplicate key values are not allowed in the resulting array. Note that this works only if array1 and array2 are both free of equivalent elements. Specify nil to indicate that elements with duplicate key values are allowed in the resulting array. Note that this guarantees that the resulting array has at least two equivalent elements for every intersecting value, since intersection finds equivalent elements. If equivalent elements are found in the resulting array, they are ordered as follows: equivalent elements from the same source array retain their original ordering, and equivalent elements from array1 come before those in array2. BMerge 6 BMerge(array1, array2, test, key, uniqueOnly) Merges two ordered arrays into one new ordered array, which is returned. array1 The first array. This array is not modified. array2 The second array. This array is not modified. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. C H A P T E R 6 Built-In Functions 6-44 Sorted Array Functions uniqueOnly A Boolean value. Specify a non-nil value to indicate that elements with duplicate key values are not allowed in the resulting array. Note that this works only if array1 and array2 are both free of equivalent elements. Specify nil to indicate that elements with duplicate key values are allowed in the resulting array. If equivalent elements are found in the resulting array, they are ordered as follows: equivalent elements from the same source array retain their original ordering, and equivalent elements from array1 come before those in array2. BSearchLeft 6 BSearchLeft(array, item, test, key) Uses binary search to find an element in a sorted array. The index of the smallest and leftmost element that is greater than or equal to item is returned. The value Length(array) is returned if item is larger than all elements. array The array to be searched. item The key value for which to search. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. Here is an example of how this function might be used: // Extract all elements between "F" and "Na" array := ["Ag","C","F","Fe","Hg","K","N","Na","Ni","Pu","Zn"]; pos1 := Min(Length(array)-1,BSearchLeft(array,"F",'|str<|,nil)); pos2 := Max(0,BSearchRight(array,"Na",'|str<|,nil)); ArrayMunger([],0,nil,array, pos1, pos2-pos1+1); C H A P T E R 6 Built-In Functions Integer Math Functions 6-45 BSearchRight 6 BSearchRight(array, item, test, key) Uses binary search to find an element in a sorted array. The index of the largest and rightmost element that is less than or equal to item is returned. The value –1 is returned if all elements are larger than item. array The array to be searched. item The key value for which to search. test Indicates the sort order of the array. See the description of the test parameter on page 6-36. key Defines the key within each array element. Specify nil, a path expression, or a function that takes one parameter. See the description of the key parameter on page 6-37. For an example of how this function might be used, see BSearchLeft. Integer Math Functions 6 These math functions operate on or return integers. (Some of the floating point functions can also operate on integers.) Abs 6 Abs(x) Returns the absolute value of an integer or real number. x An integer or real number. C H A P T E R 6 Built-In Functions 6-46 Integer Math Functions Ceiling 6 Ceiling(x) Returns the smallest integer not less than the specified real number. (Rounds up the real number to an integer.) x A real number. Floor 6 Floor(x) Returns the largest integer not greater than the specified real number. (Rounds down the real number to an integer.) x A real number. Max 6 Max( a, b ) Returns the maximum value of the two integers a and b. a An integer. b An integer. Min 6 Min( a, b ) Returns the minimum value of the two integers a and b. a An integer. b An integer. C H A P T E R 6 Built-In Functions Integer Math Functions 6-47 Random 6 Random (low, high) Returns a random integer in the range between the two integers low and high. The range is inclusive of the numbers low and high. low An integer. high An integer. For example: random (0, 100) #120 72 Real 6 Real(x) Converts the specified integer to a real number. x An integer. SetRandomSeed 6 SetRandomSeed (seedNumber) Seeds the random number generator with the number you specify. seedNumber An integer. When seeded with the same number, the random number generator (Random function) will return the same sequence of random numbers each time you reseed it. Do not use 0 to seed the generator as it will return 0 instead of a random number. Note There is only one random number generator on the Newton, so calls by other functions may interfere with your function getting a consistent sequence of values. ◆ C H A P T E R 6 Built-In Functions 6-48 Floating Point Math Functions Floating Point Math Functions 6 NewtonScript provides the floating point math functions documented in this section. The NewtonScript floating point number system is based on standards 754 and 854 adopted by the Institute of Electrical and Electronics Engineers (IEEE). For more details on IEEE-standard arithmetic than are given here, refer to the PowerPC Numerics volume of Inside Macintosh or to the Apple Numerics Manual, Second Edition. These books describe SANE, the standard Apple numeric environment. The NewtonScript environment supports many features of SANE. NewtonScript floating point numbers (also called real numbers) correspond to the double format of the IEEE standards. The number system supports representations for the following values: ■ Normal numbers—numbers with approximately 16 decimal digits of precision, ranging from down to . ■ Subnormal numbers—numbers ranging from down to , whose precision diminishes from approximately 16 decimal digits down to less than one digit. ■ Signed zeros—the values +0 and –0, which compare equal, but whose behavior differs when, for example, divided into nonzero values. ■ Signed infinities—the values +INF and -INF, which represent results too large to represent or the result of dividing a nonzero numerator by a zero denominator. ■ Not-a-Number symbols, or NaNs—values used to represent missing or uninitialized data, or the results of operations, such as , which have no meaning in the real number system. In some application areas, you may find it useful to think of signed zeros and infinities in terms of mathematical limits. For example, although +0 and –0 compare equal, it may be the case for a function f that , 1.8 308 ×10 2.2 –308 ×10 2.2 –308 ×10 4.9 –324 ×10 –3 f (x) x → 0- lim f (x) x → 0+ ≠ lim C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-49 and you may find it useful to exploit that fact. Similarly, you may find it useful to interpret g(+INF) as . The functions in this section follow the model of the arithmetic operations set forth in the IEEE standards, namely, they produce results that are exact when the results are exactly representable in the number system, and otherwise they deliver the nearest (or nearly so) representable number to the mathematically correct result. The IEEE standards specify that one or more exceptions be raised when the result of an operation is different from the mathematical result, or when the result is not defined in the real number system. The possible exceptions are ■ Inexact—the result is rounded or otherwise altered from the mathematical result. ■ Underflow—the nonzero result is too tiny to represent except as zero or a subnormal number, and is rounded to less precision than a normal number. ■ Overflow—the result is too huge to represent as a normal number. ■ Divide by Zero—the quotient of a nonzero value divided by zero produces +INF or -INF, according to the arguments’ signs. ■ Invalid—the result is not mathematically defined, as is the case with 0/0. See “Managing the Floating Point Environment” on page 6-65 for further discussion of the handling of floating point exceptions. One feature of the IEEE standards and SANE is the choice of rounding direction for results not exactly representable. In NewtonScript systems, rounding is always to the nearest representable number (with ties going to the value whose least significant bit is zero). The IEEE standards also specify rounding to the nearest value toward 0, toward +INF, or toward -INF. But the standards are written as though rounding direction is determined by a state variable in the floating point environment (see “Managing the Floating Point Environment”), while on the ARM family of processors used by NewtonScript systems, rounding direction is determined on an instructionby- instruction basis. g(y) y → ∞ lim C H A P T E R 6 Built-In Functions 6-50 Floating Point Math Functions Acos 6 Acos(x) Returns the inverse cosine in radians of x. Acos raises invalid for x < –1 or x > 1. It raises inexact for all values except 1. Acos returns values between zero and π. x An integer or real number. Acosh 6 Acosh(x) Returns the inverse hyperbolic cosine of x. Acosh raises invalid for x < 1. It raises inexact for all values except 1. Acosh(+INF) returns +INF, but Acosh never overflows. Its value at the largest finite real number is approximately 710. x An integer or real number. Asin 6 Asin(x) Returns the inverse sine in radians of x. Asin raises invalid for x < –1 or x > 1. It raises inexact for all values except zero and raises underflow for all finite x near zero. Asin returns values between –π/2 and π/2. x An integer or real number. Asinh 6 Asinh(x) Returns the inverse hyperbolic sine of x. Asinh raises inexact for all values except zero. Asinh(-INF) returns -INF and Asinh(+INF) returns +INF. Asinh raises underflow for x near zero. x An integer or real number. C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-51 Atan 6 Atan(x) Returns the inverse tangent in radians of x. It raises inexact for all values except zero. Atan(-INF) returns –π/2 and Atan(+INF) returns π/2. Atan returns values between –π/2 and π/2. It raises inexact for all nonzero x. x An integer or real number. Atan2 6 Atan2(x,y) Returns the inverse tangent in radians of x/y. Atan2 uses the algebraic signs of x and y to determine the quadrant of the result. It returns values between –π and π. Its special cases are those of Atan. x An integer or real number. y An integer or real number. Atanh 6 Atanh(x) Returns the inverse hyperbolic of x. Atanh raises invalid for x < –1 or x > 1. It raises inexact for all valid arguments except zero and raises underflow near zero.and raises underflow for all finite x near zero. Atanh(-1.0) returns -INF and Atan(+1.0)returns +INF. x An integer or real number. CopySign 6 CopySign(x,y) Returns the value with the magnitude of x and sign of y. x An integer or real number. y An integer or real number. C H A P T E R 6 Built-In Functions 6-52 Floating Point Math Functions Note The order of the parameters for CopySign matches the recommendation of the IEEE 754 floating point standard, which is opposite from the SANE copysign function. ◆ Cos 6 Cos(x) Returns the cosine of the radian value x. Cos raises inexact for all finite arguments except zero. It is periodic with period 2π. Cos raises invalid when x is infinite. x An integer or real number. Cosh 6 Cosh(x) Returns the hyperbolic cosine of x. Cosh raises inexact for all finite arguments except zero. Cosh(-INF) and Cosh(+INF) return +INF. Cosh raises overflow for finite values of large magnitude. x An integer or real number. Erf 6 Erf(x) Returns , the error function of x. Erf raises inexact for all arguments except zero. It raises underflow for arguments near zero. Erf(-INF) returns –1 and Erf(+INF) returns 1. x An integer or real number. Mathematically, the sum of Erf(x) and Erfc(x) should be 1, though the relationship may not hold when roundoff or underflow affect the results significantly. erf(x) 2 π ------- e t2 – dt 0 x = ∫ C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-53 Erfc 6 Erfc(x) Returns , the complementary error function of x. Erfc raises inexact for all arguments except zero. Erfc(-INF) returns 2 and Erfc(+INF) returns +0. x An integer or real number. Exp 6 Exp(x) Returns ex, the exponential of the x. Exp is inexact for all nonzero finite arguments. Exp(-INF) returns +0 and Exp(+INF) returns +INF. Exp raises overflow for large, positive, finite x, and raises underflow for negative, finite x of large magnitude. x An integer or real number. Expm1 6 Expm1(x) Returns ex – 1, one less than the exponential of x. Expm1 avoids loss of accuracy when x is nearly zero, and the difference is nearly zero. Expm1 is inexact for all nonzero finite arguments. Expm1(-INF) returns –1 and Expm1(+INF) returns +INF. Expm1 raises overflow for large, positive, finite x, and raises underflow for x near zero. x An integer or real number. Fabs 6 Fabs(x) Returns the absolute value of x. It never raises an exception. x An integer or real number. erfc(x) 2 π ------- e t2 – dt x ∞ = ∫ C H A P T E R 6 Built-In Functions 6-54 Floating Point Math Functions FDim 6 FDim(x,y) Returns the positive difference between its parameters: If x > y, FDim returns x – y ■ Otherwise, if x <= y, FDim returns +0 ■ Otherwise, if x is a NaN, FDim returns x. ■ Otherwise (y is a NaN), FDim returns y. x An integer or real number. y An integer or real number. FMax 6 FMax(x,y) Returns the maximum of its two parameters. NaN parameters are treated as missing data: ■ If one parameter is a NaN and the other is a number, then the number is returned. ■ Otherwise, if both are NaNs, then the first parameter is returned. (This corresponds to the max function in FORTRAN.) x An integer or real number. y An integer or real number. FMin 6 FMin(x,y) Returns the minimum of its two parameters. NaN parameters are treated as missing data: ■ If one parameter is a NaN and the other is a number, then the number is returned. ■ Otherwise, if both are NaNs, then the first parameter is returned. (This corresponds to the min function in FORTRAN.) C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-55 x An integer or real number. y An integer or real number. Fmod 6 Fmod(x,y) Returns the remainder when x is divided by y to produce a truncated integral quotient. That is, Fmod returns the value x - y*Trunc(x/y). x An integer or real number. y An integer or real number. Gamma 6 Gamma(x) Returns Γ(x), the gamma function applied to x. Gamma raises inexact for all non-integral x. It raises invalid for non-positive integral arguments z. Gamma(p) returns (p-1)! for positive, integral p, with 0! defined to be 1. Gamma(+INF) returns +INF. Gamma can raise overflow. x An integer or real number. Hypot 6 Hypot(x,y) Returns the square root of the sum of the squares of x and y, avoiding the hazards of overflow and underflow when the arguments are large or tiny in magnitude but the result is within range. x An integer or real number. y An integer or real number. IsFinite 6 IsFinite(x) Returns true if x is finite; returns nil if x is infinite. x An integer or real number. C H A P T E R 6 Built-In Functions 6-56 Floating Point Math Functions IsNaN 6 IsNaN(x) Returns true if x is a NaN; returns nil if x is a number. x An integer or real number. Note Saying that x “is a NaN” and “is not a number” are not the same thing. A NaN is a non-numerical value in a numerical format; on the other hand, a string such as "foo" is not a number because it is not a numerical object. ◆ IsNormal 6 IsNormal(x) Returns true if x is a normal number; returns nil if x is zero, subnormal, infinite, or a NaN. x An integer or real number. LessEqualOrGreater 6 LessEqualOrGreater(x, y) Returns true if neither x nor y is a NaN, and therefore the two arguments are ordered; otherwise, returns nil. x An integer or real number. y An integer or real number. LessOrGreater 6 LessOrGreater(x, y) Returns true if either x < y or x > y; otherwise, returns nil. x An integer or real number. y An integer or real number. C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-57 LGamma 6 LGamma(x) Returns the natural logarithm of Γ(x), the gamma function applied to x. LGamma raises inexact for all positive x. It raises invalid for negative or zero x. LGamma(+INF) returns +INF. x An integer or real number. Log 6 Log(x) Returns the natural logarithm of x. Log raises inexact for positive, finite arguments except 1. Log(0.0) returns -INF and raises divide by zero. Log(+INF) returns +INF. Log raises invalid for x < 0. x An integer or real number. Logb 6 Logb(x) Returns the integral value k such that 1 ≤ |x|*2–k < 2, when x is finite and nonzero. Logb(0.0) returns -INF and raises divide by zero. Logb(-INF) and Logb(+INF) return +INF. Log1p 6 Log1p(x) Returns the natural logarithm of 1+x. While accurate for all arguments no less than –1, Log1p preserves accuracy when x is nearly zero—when computing Log(1.0 + x)would suffer from the mere addition of x to 1. Log1p raises inexact for all finite arguments greater than –1 except 0. It raises invalid for all x less than –1 and raises underflow for x near zero. Log1p(-1.0) returns -INF and raises divide by zero. Log1p(+INF) returns +INF. x An integer or real number. C H A P T E R 6 Built-In Functions 6-58 Floating Point Math Functions Log10 6 Log10(x) Returns the logarithm base 10 of x. Because of the mathematical relationship , Log10 shares the computational properties of Log. x An integer or real number. NearbyInt 6 NearbyInt(x) Returns x rounded to the nearest integral value. NearbyInt differs from Rint only in that it does not raise the inexact exception. x An integer or real number. Note NearbyInt always rounds to nearest. ◆ NextAfterD 6 NextAfterD(x,y) Returns the next representable number after x in the direction of y. If x and y are equal, then the result is x. If either argument is a NaN, NextAfterD returns one of the NaN arguments. When x is finite but the result is infinite, NextAfterD raises overflow. When the result is zero or subnormal, NextAfterD raises underflow. x An integer or real number. y An integer or real number. log10(x) = log(x) Ú log(10) C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-59 Pow 6 Pow(x,y) Returns xy. When x < 0, Pow raises invalid unless y is an integral value. It can raise inexact, overflow, underflow, and invalid. x An integer or real number. y An integer or real number. RandomX 6 RandomX(x) Returns a two-element array, based on the random seed x. The first element of the result is a pseudo-random number that is the result of the SANE randomx function. The second element is the new seed returned by the randomx function. The result is an integral value between 0 and 231 – 1. x An integer or real number. Remainder 6 Remainder(x,y) Returns the exact difference x – n*y, where n is a mathematical integer (as opposed to a NewtonScript integer—n may be thousands of bits wide) to x/y in the sense of rounding to nearest. The magnitude of the result is no greater than half the magnitude of y. When the result is zero, it has the sign of x. Remainder raises invalid when y is zero or x is infinite. It never raises overflow, underflow, or inexact. x An integer or real number. y An integer or real number. C H A P T E R 6 Built-In Functions 6-60 Floating Point Math Functions RemQuo 6 RemQuo(x,y) Returns a two-element array. The first element is Remainder(x, y). The second element is the seven low-order bits of the quotient x / y rounded to the nearest integer and given the sign of the quotient. x An integer or real number. y An integer or real number. Rint 6 Rint(x) Is identical to Nearbyint except that it raises inexact when its result differs from x. x An integer or real number. RintToL 6 RintToL(x) Returns an integer obtained by rounding x to an integral (real) value and then converting that value to an integer. RintToL raises inexact when its result differs in value from x. It raises invalid and returns an unspecified value when the rounded value of x cannot be represented exactly as an integer object. x An integer or real number. Note RintToL always rounds to nearest. ◆ C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-61 Round 6 Round(x) Returns the integral real number obtained from x by adding 1/2 to x and truncating the result to the nearest integer toward 0. It raises inexact when the result differs from x. x An integer or real number. Scalb 6 Scalb(x, k) Returns x * 2k. Scalb avoids explicit computation of 2k and so avoids the complications of overflow or underflow when 2k is out of range but the result isn’t. Scalb can raise overflow, underflow, and inexact. Scalb and Logb are related by the formula 1 ≤ Scalb(x, RintToL(-Logb(x))) < 2 for finite, nonzero x. x An integer or real number. y An integer. SignBit 6 SignBit(x) Returns a nonzero integer if the sign of x is negative; otherwise (the sign of x is positive), returns the integer 0. x An integer or real number. Signum 6 Signum(x) Returns the integer value –1 if x < 0, 0 if x = 0, or 1 if x > 0. If x is an integer, Signum returns an integer; otherwise, if x is a real, Signum returns a real. If x is neither an integer nor a real, Signum throws the exception kFramesErrNotANumber. x An integer or real number. C H A P T E R 6 Built-In Functions 6-62 Floating Point Math Functions Sin 6 Sin(x) Returns the sine of the radian value x. Sin raises inexact for all finite values except zero. It is periodic with period 2π. Sin raises invalid for infinite x and raises underflow for x near zero. x An integer or real number. Sinh 6 Sinh(x) Returns the hyperbolic sine of x. Sinh raises inexact for all finite arguments except zero. Sinh(-INF) returns -INF and Sinh(+INF) returns +INF. Sinh raises overflow for large finite values and raises underflow near zero. x An integer or real number. Sqrt 6 Sqrt(x) Returns the square root of x. It raises invalid for x < 0, and can raise inexact for positive x. x An integer or real number. Tan 6 Tan(x) Returns the tangent of the radian value x. Tan raises inexact for all finite values except zero. It is periodic with period π. Tan raises invalid for infinite x and raises underflow for x near zero. x An integer or real number. C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-63 Tanh 6 Tanh(x) Returns the hyperbolic tangent of x. Tanh raises inexact for all finite arguments except zero. Tanh(-INF) returns –1 and Tanh(+INF) returns +1. Tanh raises overflow for large finite values and raises underflow near zero. x An integer or real number. Trunc 6 Trunc(x) Returns the integral real number nearest to but no larger in magnitude than x. x An integer or real number. Unordered 6 Unordered(x, y) Returns true if x and y satisfy none of x < y, x = y, or x > y (because one or both of x and y are NaNs); if neither x nor y is a NaN, they satisfy one of the three order relations and Unordered returns nil. x An integer or real number. y An integer or real number. UnorderedGreaterOrEqual 6 UnorderedGreaterOrEqual(x, y) Returns true if x and y satisfy x ≥ y or are unordered (because one or both of x and y are NaNs); otherwise, returns nil. x An integer or real number. y An integer or real number. C H A P T E R 6 Built-In Functions 6-64 Floating Point Math Functions UnorderedLessOrEqual 6 UnorderedLessOrEqual(x, y) Returns true if x and y satisfy x ≤ y or are unordered (because one or both of x and y are NaNs); otherwise, returns nil. x An integer or real number. y An integer or real number. UnorderedOrEqual 6 UnorderedOrEqual(x, y) Returns true if x and y satisfy x = y or are unordered (because one or both of x and y are NaNs); otherwise, returns nil. x An integer or real number. y An integer or real number. UnorderedOrGreater 6 UnorderedOrGreater(x, y) Returns true if x and y satisfy x > y or are unordered (because one or both of x and y are NaNs); otherwise, returns nil. x An integer or real number. y An integer or real number. UnorderedOrLess 6 UnorderedOrLess(x, y) Returns true if x and y satisfy x < y or are unordered (because one or both of x and y are NaNs); otherwise, returns nil. x An integer or real number. y An integer or real number. C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-65 Managing the Floating Point Environment 6 The floating point environment is a set of state variables maintained by the Newton system and the underlying processor. The environment contains information about which floating point exceptions have occurred. Floating point exceptions are distinct from NewtonScript exceptions. When floating point exceptions arise (for example, overflow arises when the sum of two huge numbers is too large to represent in the number system), the system raises an exception flag in the environment. Exception flags can be tested, cleared, or raised by functions in this section. Once raised, an exception flag remains raised until you clear it using calls from this section. The predefined constants used to select the floating point exception flags are shown in Table 6-1. You can refer to multiple exceptions in a single function invocation by forming the bitwise-OR of the predefined constants, using expressions like Bor(Bor(fe_Invalid, fe_DivByZero), fe_Overflow). Table 6-1 Floating point exceptions Constant Value Meaning fe_Inexact 0x010 inexact fe_DivByZero 0x002 divide-by-zero fe_Underflow 0x008 underflow fe_Overflow 0x004 overflow fe_Invalid 0x001 invalid fe_All_Except 0x01F all exceptions C H A P T E R 6 Built-In Functions 6-66 Floating Point Math Functions Note The representation of the floating point environment is implementation-dependent. Functions that manipulate the environment and its components do so without exposing their implementation. In particular, the floating point exception flags may or may not be implemented as single bits. ◆ The functions that manage the floating point environment are based on recommended numerical extensions to the ANSI C language. The recommendations for C include functions to test and alter the direction of rounding. Although the direction of rounding is determined by the environment on most systems, Newton systems based on the ARM family of processors determine the rounding direction on an instruction-byinstruction basis, so rounding is not determined by the environment. You can pass the predefined constant fe_Dfl_Env to the functions FeSetEnv and FeUpdateEnv, which take an environment object as a parameter. Fe_Dfl_Env indicates the default environment, in which all exception flags are clear. FeClearExcept 6 FeClearExcept(excepts) Clears the floating point exception flags indicated by excepts. excepts The integer bitwise-OR of one or more floating point exceptions. FeGetEnv 6 FeGetEnv() Returns a data object representing the current floating point environment. C H A P T E R 6 Built-In Functions Floating Point Math Functions 6-67 FeGetExcept 6 FeGetExcept(excepts) Returns a data object representing the current state of the exception flags indicated by excepts. excepts The integer bitwise-OR of one or more floating point exceptions. Note The representation of the exception flags is unspecified. ◆ FeHoldExcept 6 FeHoldExcept() Returns a data object representing the current floating point environment, and clears the exception flags. FeRaiseExcept 6 FeRaiseExcept(excepts) Raises the floating point exception flags indicated by excepts. excepts The integer bitwise-OR of one or more floating point exceptions. Note Because floating point exceptions are not tied to the general NewtonScript exception-handling mechanism, raising a flag merely sets an internal variable; raising a flag will not alter the flow of control. ◆ C H A P T E R 6 Built-In Functions 6-68 Floating Point Math Functions FeSetEnv 6 FeSetEnv(envObj) Installs the floating point environment represented by the object envObj. envObj Either the predefined constant fe_Dfl_Env or an object returned by a call to FeGetEnv or FeHoldExcept. FeSetExcept 6 FeSetExcept(flagObj, excepts) The parameter flagObj is an object containing an implementation-dependent representation of one or more floating point exception flags; flagObj must have been set by a previous call to FeGetExcept. FeSetExcept alters the current environment so that those floating point exception flags indicated by excepts match the corresponding values in flagObj. flagObj An object (returned by a previous call to FeGetExcept) containing a representation of one or more floating point exception flags. excepts The integer bitwise-OR of one or more floating point exceptions. This function does not raise exceptions; it just alters the state of the flags. FeTestExcept 6 FeTestExcept(excepts) Returns the bitwise-OR of the floating point exceptions indicated by excepts whose flags are rasied in the current environment. excepts The integer bitwise-OR of one or more floating point exceptions. C H A P T E R 6 Built-In Functions Financial Function 6-69 FeUpdateEnv 6 FeUpdateEnv(envObj) Saves the state of the current exception flags, installs the environment represented by envObj, and then re-raises the saved exceptions. envObj Either the predefined constant fe_Dfl_Env or an object returned by a call to FeGetEnv or FeHoldExcept. You can use FeUpdateEnv in conjunction with FeHoldExcept to write functions which hide spurious exceptions from their callers: func() begin savedEnv := FeHoldExcept(); // clears flags result := ...; // ecomputation in which underflow and // divide by zero are benign FeClearExcept(BOR(fe_Underflow, fe_DivByZero)); FeUpdateEnv(savedEnv); // merge old flags with new return result end Financial Function 6 These functions perform financial calculations. Annuity 6 Annuity(r, n) Returns the value of the financial formula . When r is the periodic interest rate and n the number of periods, p*Annuity(r, n) is the present value of a series of n periodic payments of size p. Annuity is robust over the entire range of r and n, whether financially meaningful or not. 1 (1 + r) –n – r ------------------------------ C H A P T E R 6 Built-In Functions 6-70 Financial Function Annuity raises invalid for r < –1. When r = –1: ■ Annuity(-1, n) returns –1 for n < 0. ■ Annuity(-1, 0) returns 0. ■ Annuity(-1, n) returns +INF and raises divide by zero for n > 0. Otherwise, r > –1. When r is nonzero, Annuity(r, 0) returns r; otherwise, Annuity(0, n) returns n. Annuity raises inexact in all other cases, and can raise overflow or underflow. r An integer or real number. n An integer or real number. Compound 6 Compound(r, n) Returns the value of the financial formula . When r is the periodic interest rate and n the number of periods, P*Compound(r, n) is the future value of a principal amount P. Compound is robust over the entire range of r and n, whether financially meaningful or not. Compound raises invalid for r < –1. When r = –1: ■ Compound(-1, n) returns +INF and raises divide by zero for n < 0. ■ Compound(-1, 0) returns 1. ■ Compound(-1, n) returns +0 for n > 0. Otherwise, r > 0. Compound(r, 0) returns 1; Compound(0, n) raises invalid when n is infinite. Compound can raise inexact, overflow or underflow. r An integer or real number. n An integer or real number. (1 + r) n C H A P T E R 6 Built-In Functions Exception Functions 6-71 Exception Functions 6 These functions are used to raise and handle NewtonScript exceptions in an application. For more information about exception handling and how to use these functions, refer to the second half of Chapter 3, “Flow of Control,” “Exception Handling” on page 3-13. For a list of system exceptions, see the appendix “Errors” in the Newton Programmer’s Guide. The section “Managing the Floating Point Environment” beginning on page 6-65 describes some functions that deal with floating-point exceptions, which are not related to NewtonScript exceptions. Throw 6 Throw(name, data) Raises an exception and creates an exception frame with the specified name and data. name An exception symbol that names the exception being raised. data The data for the exception. The possible values for this parameter depend on the composition of name and are shown inTable 6-2. See “Exception Handling” beginning on page 3-13 for more information on Throw. C H A P T E R 6 Built-In Functions 6-72 Exception Functions Rethrow 6 Rethrow() Reraises the current exception to allow the next enclosing Try statement an opportunity to handle it. Rethrow throws the current exception again, passing along the same parameters are were passed with the original call to the Throw function. This allows you to pass control from within an exception handler to the next enclosing Try statement. IMPORTANT You can call the Rethrow function only from within the dynamic extent of an onexception clause. ▲ CurrentException 6 CurrentException() During exception processing (that is, inside the dynamic extent of an onexception block), returns the frame that is associated with the current exception. You can examine the frame returned by CurrentException to determine what kind of exception you are handling. For example, you can call the HasSlot function to determine if the frame contains a slot named error, and take appropriate action thereafter. (The format of the frame depends on the exception, but it always contains a name slot with the exception symbol.) Table 6-2 Exception frame data slot name and contents Exception symbol Slot name Slot contents contains part with prefix type.ref data a data object, which can be any NewtonScript object contains part with prefix evt.ex.msg message a message string any other error an integer error code C H A P T E R 6 Built-In Functions Message Sending Functions 6-73 CurrentException gives a meaningful response only from within the dynamic extent of an onexception clause. Outside the extent of onexception, it returns nil. Message Sending Functions 6 These functions send messages or execute functions. Apply 6 Apply(function, parameterArray) Calls a function, passing the supplied parameters. The Apply function returns the return value of the function it called. function The function to call. parameterArray An array of parameters to be passed to the function. You can specify nil if there are no parameters to be passed (this saves allocating an empty array). Apply respects the environment of the function object it is passed. Using Apply is similar to using the NewtonScript call statement. Apply is useful when you want to call a function, but don’t know until run time the number of parameters it takes. If you do know ahead of time the number of parameters the function takes, then you can use the NewtonScript call statement to call the function. Here’s an example of using this function in the Inspector: f:=func(x,y) x*y; Apply(f,[10,2]); #50 20 The Apply call is equivalent to: f(10,2); C H A P T E R 6 Built-In Functions 6-74 Message Sending Functions Perform 6 Perform(frame, message, parameterArray) Sends a message to a frame; that is, a method with the name of the message is executed in the frame. Both parent and proto inheritance are used to search for the method if it does not exist in the frame. If the method is not found, an exception is thrown. frame The frame to which to send the message. message A symbol naming the message to send. parameterArray An array of parameters to be passed along with the message. You can specify nil if there are no parameters to be passed (this saves allocating an empty array). The Perform function returns the return value of the message it sent. Note that the method named by message is executed in the context of frame, not in the context of the frame from within which Perform is called. The Perform function is useful when you want to send a message, but you don’t know until run time the name of the message or the number of parameters it takes. If you do know these things ahead of time, then you can just use the standard NewtonScript message sending syntax. For variations of the Perform function, see PerformIfDefined, ProtoPerform, and ProtoPerformIfDefined. Here’s an example of using this function in the Inspector: f:={multiply: func(x,y) x*y}; perform(f, 'multiply, [10,2]); #50 20 Note that f:multiply(10,2) is equivalent to Perform(f, 'multiply,[10,2]) C H A P T E R 6 Built-In Functions Message Sending Functions 6-75 PerformIfDefined 6 PerformIfDefined(receiver,message,paramArray) Sends a message to a frame; that is, a method with the name of the message is executed in the frame. Both parent and proto inheritance are used to search for the method if it does not exist in the frame. If the method is not found, an exception is not thrown. receiver The frame to which you want the message sent. message A symbol that is the name of the message to send to receiver. paramArray An array of parameters to be passed with the message. You can specify nil if there are no parameters to be passed (this saves allocating an empty array). This function returns the return value of the message it sent. If the method is not found, this function returns nil. Contrast this function with Perform (page 6-74), which is exactly the same, except that Perform throws an exception if the method is not found. Also, contrast this function with ProtoPerform and ProtoPerformIfDefined (page 6-75), which search only the proto chain for the method. ProtoPerform 6 ProtoPerform(receiver,message,paramArray) Sends a message to a frame; that is, a method with the name of the message is executed in the frame. Only proto inheritance is used to search for the method if it does not exist in the frame. If the method is not found, an exception is thrown. receiver The frame to which you want the message sent. message A symbol that is the name of the message to send to receiver. C H A P T E R 6 Built-In Functions 6-76 Message Sending Functions paramArray An array of parameters to be passed with the message. You can specify nil if there are no parameters to be passed (this saves allocating an empty array). This function returns the return value of the message it sent. Contrast this function with Perform (page 6-74), which is exactly the same, except that Perform searches both the parent and proto chains for the method. Also, contrast this function with PerformIfDefined (page 6-75) and ProtoPerformIfDefined , which do not throw exceptions if the method is not found. ProtoPerformIfDefined 6 ProtoPerformIfDefined(receiver,message,paramArray) Sends a message to a frame; that is, a method with the name of the message is executed in the frame. Only proto inheritance is used to search for the method if it does not exist in the frame. If the method is not found, an exception is not thrown. receiver The frame to which you want the message sent. message A symbol that is the name of the message to send to receiver. paramArray An array of parameters to be passed with the message. You can specify nil if there are no parameters to be passed (this saves allocating an empty array). This function returns the return value of the message it sent. If the method is not found, this function returns nil. Contrast this function with PerformIfDefined (page 6-75), which is exactly the same, except that PerformIfDefined searches both the parent and proto chains for the method. Also, contrast this function with Perform (page 6-74) and ProtoPerform (page 6-75), which search both the parent and proto chains for the method. C H A P T E R 6 Built-In Functions Data Extraction Functions 6-77 Data Extraction Functions 6 These functions are used to extract chunks of data out of other objects of various types. All integers are stuffed and extracted in two’s-complement big-endian form. In this form, byte 0 is the most significant byte, as found on the Newton and Macintosh. The opposite of this is little-endian, where byte 0 is least significant byte, as found on Intel-based computers. For example, the number 0x12345678 is stored as: big-endian 12 34 56 78 little-endian 78 56 34 12 All Unicode conversions use the Macintosh extended character set for codes greater than or equal to 128. ExtractByte 6 ExtractByte(data, offset) Returns one signed byte from the given offset. data The data from which the return value is to be extracted. offset An integer giving the position in data from which the return value is to be extracted. For example: ExtractByte("\u12345678",0); #3FC 255 C H A P T E R 6 Built-In Functions 6-78 Data Extraction Functions ExtractBytes 6 ExtractBytes(data, offset, length, class) Returns a binary object of class class containing length bytes of data starting at offset within data. data The data from which the return value is to be extracted. offset An integer giving the position in data from which the return value is to be extracted. length An integer giving the number of bytes to extract. class A symbol specifying the class of the return value. ExtractChar 6 ExtractChar(data, offset) Returns a character object of the character at the given offset in the data. data The data from which the return value is to be extracted. offset An integer giving the position in data from which the return value is to be extracted. Gets one byte at the specified offset, converts it to Unicode and returns the character it makes from it. For example: ExtractChar("\uFFFFFFFF",0); //$\u02C results from a ASCII to UNICODE conversion. #2C76 $\u02C7 //Note $a is at offset 1 in a Unicode string ExtractChar("abc",0); #6 $\00 ExtractChar("abc",1); #616 $a C H A P T E R 6 Built-In Functions Data Extraction Functions 6-79 ExtractLong 6 ExtractLong(data, offset) Returns an integer object of the low 29 bits of an unsigned long at the given offset, right-justified (that is, the low 29 bits of a four-byte value). data The data from which the return value is to be extracted. offset An integer giving the position in data from which the return value is to be extracted. Reads four bytes at the specified offset, but ignores the high-order bits (first two). Returns a 30 bit signed value ExtractLong("\uFFFFFFFF",0); #FFFFFFFC -1 ExtractLong("\uC0000007",0); #1C 7 ExtractXLong 6 ExtractXLong(data, offset) Returns an integer object of the high 29 bits of an unsigned long at the given offset, right-justified (that is, the high 29 bits of a four-byte value). data The data from which the return value is to be extracted. offset An integer giving the position in data from which the return value is to be extracted. For example: ExtractXLong("\u0000000F",0); #4 1 C H A P T E R 6 Built-In Functions 6-80 Data Extraction Functions ExtractWord 6 ExtractWord(data, offset) Returns an two-byte signed integer object from the given offset. data The data from which the return value is to be extracted. offset An integer giving the position in data from which the return value is to be extracted. For example: ExtractWord("\uFFFFFFFF",0); #FFFFFFFC -1 //if you want unsigned use: band(ExtractWord(-),0xFFFF); #40004 65535 ExtractCString 6 ExtractCString(data, offset) Returns a Unicode string object derived from the null-terminated C-style string at the given offset. data The data from which the return value is to be extracted. offset An integer giving the position in data from which the return value is to be extracted. ExtractPString 6 ExtractPString(data, offset) Returns a Unicode string object derived from the Pascal-style string (a length byte followed by text) at the given offset. data The data from which the return value is to be extracted. offset An integer giving the position in data from which the return value is to be extracted. C H A P T E R 6 Built-In Functions Data Stuffing Functions 6-81 ExtractUniChar 6 ExtractUniChar(data, offset) Gets two bytes at the specified offset and returns the Unicode character represented by those bytes. data The data from which the return value is to be extracted. offset An integer giving the position in data from which the return value is to be extracted. For example: ExtractUniChar("abc",0); #616 $a Data Stuffing Functions 6 These functions are used to stuff chunks of data into objects of various types. All integers are stuffed in two’s-complement big-endian form. For a discussion of this, see “Data Extraction Functions” on page 6-77. ▲ WA R N I N G It is important that the destination for the data stuffing functions is large enough to hold the data being stuffed. If the destination is not large enough, the NewtonScript heap may become corrupted. Be sure to take into account the offset. Here is a formula you can use: Length(destObj) – offset >= size of stuffed data In this formula, destObj is the destination object and offset is the position within the destination object where the data is to be stuffed. ▲ C H A P T E R 6 Built-In Functions 6-82 Data Stuffing Functions StuffByte 6 StuffByte(obj, offset, toInsert) Writes the low order byte of toInsert, at the specified offset in obj. obj A binary object into which data is to be stuffed. offset The position in obj at which stuffing is to begin. toInsert The data to be stuffed in obj. For example: x := "\u00000000"; StuffByte(x,0,-1); x[0] #FF006 $\uFF00 x := "\u00000000"; StuffByte(x,0,0xFF); x[0] #FF006 $\uFF00 StuffChar 6 StuffChar(obj, offset, toInsert) Stuffs one byte into obj at the specified offset. obj A binary object into which data is to be stuffed. offset The position in obj at which stuffing is to begin. toInsert A character or integer to be stuffed in obj. You pass it a two byte Unicode value as toInsert. The function makes a one-byte character from that value and stuffs the one-byte character. This accepts a character or integer as its third parameter, toInsert: ■ If toInsert: is an integer: writes the low byte of toInsert. ■ If toInsert: is a character: converts from Unicode and writes a byte. C H A P T E R 6 Built-In Functions Data Stuffing Functions 6-83 For example: x := "\u00000000"; StuffChar(x,1,Ord($Z)); x[0] #5A6 $Z x := "\u00000000"; StuffChar(x,1,-1); x[0] #1A6 $\1A ExtractByte(x,1) #68 26 ExtractByte(x,0) #0 0 StuffCString 6 StuffCString(obj, offset, aString) Converts a Newton Unicode string into a null-terminated C-style string and stuffs it at the given offset into a binary object. obj A binary object into which data is to be stuffed. offset The position in obj at which stuffing is to begin. aString A Unicode string to be stuffed into obj. The string aString is converted into ASCII format using Macintosh roman string encoding. It is then stuffed into obj, beginning at the byte offset offset. It is followed by a null byte terminator. This function throws an exception if aString will not fit into obj beginning at the given offest, or if the offset is negative. The length of obj will not be altered. C H A P T E R 6 Built-In Functions 6-84 Data Stuffing Functions StuffLong 6 StuffLong(obj, offset, toInsert) Writes four bytes at the specified offset using the 30 bit signed value you pass it as the third parameter, and sign extends it to 32 bytes. obj A binary object into which data is to be stuffed. offset The position in obj at which stuffing is to begin. toInsert The data to be stuffed in obj. For example: x := "\u00000000"; StuffLong(x,0,-1); x[0] #FFFF6 $\uFFFF x[1] #FFFF6 $\uFFFF x := "\u00000000"; StuffLong(x,0,0x3FFFFFFA); x[0] #FFFF6 $\uFFFF x[1] #FFFA6 $\uFFFA StuffPString 6 StuffPString(obj, offset, aString) Converts a Newton Unicode string into a Pascal-style string (a length byte followed by text) and stuffs it at the given offset into a binary object. object A binary object into which data is to be stuffed. offset The position in obj at which stuffing is to begin. aString A Unicode string to be stuffed into obj. This string must be no longer than 255 characters. C H A P T E R 6 Built-In Functions Data Stuffing Functions 6-85 The string aString is converted into ASCII format using Macintosh roman string encoding. Then a length byte followed by the string is stuffed into obj, beginning at the byte offset offset. The length byte indicates the number of characters in the string. This function throws an exception if aString will not fit into obj beginning at the given offest, or if the offset is negative. The length of obj will not be altered. StuffUniChar 6 StuffUniChar(obj, offset, toInsert) Stuffs the two-byte Unicode encoding for the character indicated by toInsert into obj at the specified offset. obj A binary object into which data is to be stuffed. offset The position in obj at which stuffing is to begin. toInsert A character or integer to be stuffed in obj. For example: x := "\u00000000"; StuffUniChar(x,0,"\uF00F"[0]); x[0] #F00F6 $\uF00F x := "\u00000000"; StuffUniChar(x,0,0x0AA0); x[0] #AA06 $\u0AA0 C H A P T E R 6 Built-In Functions 6-86 Getting and Setting Global Variables and Functions StuffWord 6 StuffWord(obj, offset, toInsert) Writes the low order two bytes of toInsert at the specified offset. obj A binary object into which data is to be stuffed. offset The position in obj at which stuffing is to begin. toInsert The data to be stuffed in obj. For example: x := "\u00000000"; StuffWord(x,0,0x3FFF1234); x[0] #12346 $\u1234 x := "\u00000000"; StuffWord(x,0,-1); x[0] #FFFF6 $\uFFFF Getting and Setting Global Variables and Functions 6 These functions get, set and test for the existence of global variables and functions. GetGlobalFn 6 GetGlobalFn(symbol) Returns a global function. If the function is not found, nil is returned. symbol A symbol naming the global function you want to get. C H A P T E R 6 Built-In Functions Getting and Setting Global Variables and Functions 6-87 GetGlobalVar 6 GetGlobalVar(symbol) Returns the value of a slot in the system globals frame. If the slot is not found, nil is returned. symbol A symbol naming the global variable whose value you want to get. GlobalFnExists 6 GlobalFnExists(symbol) Returns non-nil if the global function identified by symbol exists, otherwise returns nil. symbol A symbol naming the global function whose existence you want to check. GlobalVarExists 6 GlobalVarExists(symbol) Returns non-nil if the global variable identified by symbol exists, otherwise returns nil. symbol A symbol naming the global variable whose existence you want to check. DefGlobalFn 6 DefGlobalFn(symbol, function) Defines a global function. The symbol identifying the function is returned. symbol A symbol naming the global function you want to define. To avoid naming conflicts with other global functions, you should choose a name that includes your appSymbol, which includes the developer signature you have registered with Newton DTS. function A function object. C H A P T E R 6 Built-In Functions 6-88 Getting and Setting Global Variables and Functions Note that the global function is destroyed if the system is reset. It is very important to remove any global functions created by your application when your application is removed. You can do this with UnDefGlobalFn in the application RemoveScript function. IMPORTANT Do not create global functions unless it is absolutely necessary. Global functions occupy NewtonScript heap space. They can conflict with system global functions and other applications’ global functions. In most cases, you can use methods in your application base view instead of global functions. ▲ DefGlobalVar 6 DefGlobalVar(symbol, value) Defines a global variable—that is, a slot in the system globals frame. The value of the variable is returned. symbol A symbol naming the global variable you want to define. To avoid naming conflicts with other globals, you should choose a name that includes your appSymbol, which includes the developer signature you have registered with Newton DTS. value The value you want to assign to the global variable. The system ensures that the object created exists entirely in internal RAM (it calls EnsureInternal on the object identified by symbol. Note that the global variable is destroyed if the system is reset. It is very important to remove any globals created by your application when your application is removed. You can do this with UnDefGlobalVar in the application RemoveScript function. C H A P T E R 6 Built-In Functions Miscellaneous Functions 6-89 IMPORTANT Do not create global variables unless it is absolutely necessary. Global variables occupy NewtonScript heap space. They can conflict with system globals and other applications’ globals. In most cases, you can put any global data that you need in your application base view or in a soup. ▲ UnDefGlobalFn 6 UnDefGlobalFn(symbol) Removes a global function you previously defined. This function returns nil. symbol A symbol naming the global function you want to remove. UnDefGlobalVar 6 UnDefGlobalVar(symbol) Removes a global variable you previously defined. This function returns nil. symbol A symbol naming the global variable you want to remove. Miscellaneous Functions 6 These are other miscellaneous functions. BinEqual 6 BinEqual(a, b) a A binary object b A binary object Compares two binary objects’ data as raw bytes. Returns non-nil if they are identical. C H A P T E R 6 Built-In Functions 6-90 Miscellaneous Functions BinaryMunger 6 BinaryMunger( dst, dstStart, dstCount, src, srcStart, srcCount ) Replaces bytes in dst using bytes from src and returns dst after munging is complete. This function is destructive to dst. dst A value to be changed. dstStart The starting position in dst. dstCount The number of bytes to be replaced in dst. You can specify nil for dstCount to go to the end of dst. src A value. Can be nil to simply delete the contents of dst. srcStart The starting position in the source binary from which to begin taking elements to place into the destination binary. srcCount The number of bytes to use from the source binary. You can specify nil to go to the end of the source binary. Bytes are numbered counting from zero. Chr 6 Chr(integer) Converts a decimal integer to its Unicode character equivalent. integer An integer. Here is an example: chr(65) $A Compile 6 Compile(string) Compiles an expression sequence and returns a function that evaluates it. string The expression to compile. C H A P T E R 6 Built-In Functions Miscellaneous Functions 6-91 Here are two examples. Note that, in the first example, x is a local variable. compile("x:= {a:self.b, b:1234}") #440F711 f:=compile("2+2") f(); #440F712 4 Note All characters used in NewtonScript code must be 7-bit ASCII. This usually is no problem, but can create problems with Compile in certain situations. Suppose you tried this call: Compile ("blah, blah, blah, \u0F0F\u") The Unicode character is not a 7-bit character, it is 16 bits. Therefore, you get an error. (The \u switch turns on Unicode character mode.) You should do this instead: Compile ("blah, blah, blah, \\u0F0F\\u") The backslash escape character preceding the \u prevents Unicode mode from being turned on for the compile. (The \u is read simply as the string "\u" instead of the Unicode switch.) Note, also, that: compile("func()...") returns a function that constructs the function. The environment is captured when the function constructor is executed: f := compile("func()b"); x := {a:f, b:0}; g:=x:a(); #440F713 C H A P T E R 6 Built-In Functions 6-92 Summary of Functions and Methods Executing the function construction captures the message environment with x as receiver. g(); #440F714 0 So now it can find b. ◆ Ord 6 Ord (char) Converts a character to its Unicode decimal integer equivalent. char A character. Here is an example: ord($A) 65 Summary of Functions and Methods 6 This section contains a summary of the functions and methods described in this chapter. Object System Functions 6 ClassOf(object) Clone(object) DeepClone(object) GetFunctionArgCount(function) GetSlot(frame, slotSymbol) GetVariable(frame, slotSymbol) HasSlot(frame, slotSymbol) HasVariable(frame, slotSymbol) Intern( string ) C H A P T E R 6 Built-In Functions Summary of Functions and Methods 6-93 IsArray(obj) IsBinary(obj) IsCharacter(obj) IsFrame(obj) IsFunction(obj) IsImmediate(obj) IsInstance(obj, class) IsInteger(obj) IsNumber(obj) IsReadOnly(obj) IsReal(obj) IsString(obj) IsSubclass(class1, class2) IsSymbol(obj) MakeBinary(length, class) Map(obj, function) PrimClassOf(object) RemoveSlot(object, slot) ReplaceObject(originalObject, targetObject) SetClass(object, classSymbol) SetVariable(frame, slotSymbol, value) SymbolCompareLex(symbol1, symbol2) TotalClone(object) String Functions 6 BeginsWith(string, substr ) Capitalize(string) CapitalizeWords(string) CharPos(str, char, startpos) Downcase(string) EndsWith(string, substr) IsAlphaNumeric(char) IsWhiteSpace(char) SPrintObject( obj ) StrCompare(a, b) C H A P T E R 6 Built-In Functions 6-94 Summary of Functions and Methods StrConcat(a, b) StrEqual(a, b) StrExactCompare( a, b ) StrLen(string) StrMunger(dstString, dstStart, dstCount, srcString, srcStart, srcCount ) StrPos(string, substr, start) StrReplace(string, substr, replacement, count) StrTokenize(str, delimiters) StyledStrTruncate(string, length, font) SubStr(string, substr, start) TrimString( string ) Upcase(string) Bitwise Functions 6 Band(a, b) Bor(a, b) Bxor(a, b) Bnot(a) Array Functions 6 AddArraySlot(array, value) Array(size, initialValue) ArrayInsert(array, element, position) ArrayMunger(dstArray, dstStart, dstCount, srcArray, srcStart, srcCount) ArrayRemoveCount( array, startIndex, count ) InsertionSort(array, test, key) Length(array) LFetch(array, item, start, test, key) LSearch(array, item, start, test, key) NewWeakArray(length) SetAdd(array, value, uniqueOnly) SetContains(array, item) SetDifference(array1, array2) C H A P T E R 6 Built-In Functions Summary of Functions and Methods 6-95 SetLength(array, length) SetOverlaps( array1, array2 ) SetRemove(array, value) SetUnion(array1, array2, uniqueFlag) Sort(array, test, key) StableSort(array, test, key) Sorted Array Functions 6 BDelete(array, item, test, key, count) BDifference(array1, array2, test, key) BFetch(array, item, test, key) BFetchRight(array, item, test, key) BFind(array, item, test, key) BFindRight(array, item, test, key) BInsert(array, element, test, key, uniqueOnly) BInsertRight(array, element, test, key, uniqueOnly) BIntersect(array1, array2, test, key, uniqueOnly) BMerge(array1, array2, test, key, uniqueOnly) BSearchLeft(array, item, test, key) BSearchRight(array, item, test, key) Integer Math Functions 6 Abs(x) Ceiling(x) Floor(x) Max( a, b ) Min( a, b ) Real(x) Random(low, high) SetRandomSeed (seedNumber) C H A P T E R 6 Built-In Functions 6-96 Summary of Functions and Methods Floating Point Math Functions 6 Acos(x) Logb(x) Acosh(x) Log1p(x) Asin(x) Log10(x) Asinh(x) NearbyInt(x) Atan(x) NextAfterD(x,y) Atan2(x,y) Pow(x,y) Atanh(x) RandomX(x) CopySign(x,y) Remainder(x,y) Cos(x) RemQuo(x,y) Cosh(x) Rint(x) Erf(x) RintToL(x) Erfc(x) Round(x) Exp(x) Scalb(x,y) Expm1(x) SignBit(x) Fabs(x) Signum(x) FDim(x,y) Sin(x) FMax(x,y) Sinh(x) FMin(x,y) Sqrt(x) Fmod(x,y) Tan(x) Gamma(x) Tanh(x) Hypot(x,y) Trunc(x) IsFinite(x) Unordered(a, b) IsNaN(x) UnorderedGreaterOrEqual(a, b) IsNormal(x) UnorderedLessOrEqual(a, b) LessEqualOrGreater(a, b) UnorderedOrEqual(a, b) LessOrGreater(a, b) UnorderedOrGreater(a, b) LGamma(x) UnorderedOrLess(a, b) Log(x) C H A P T E R 6 Built-In Functions Summary of Functions and Methods 6-97 Managing the Floating Point Environment 6 FeClearExcept(excepts) FeGetEnv() FeGetExcept(excepts) FeHoldExcept() FeRaiseExcept(excepts) FeSetEnv(envObj) FeSetExcept(flagObj, excepts) FeTestExcept(excepts) FeUpdateEnv(flagObj) Financial Functions 6 Annuity(rate, periods) Compound(rate, periods) Exception Functions 6 Throw(name, data) Rethrow() CurrentException() Message Sending Functions 6 Apply(function, parameterArray) Perform(frame, message, parameterArray) PerformIfDefined(receiver,message,paramArray) ProtoPerform(receiver,message,paramArray) ProtoPerformIfDefined(receiver,message,paramArray) Data Extraction Functions 6 ExtractByte(data, offset) ExtractBytes(data, offset, length, class) ExtractChar(data, offset) ExtractLong(data, offset) ExtractXLong(data, offset) C H A P T E R 6 Built-In Functions 6-98 Summary of Functions and Methods ExtractWord(data, offset) ExtractCString(data, offset) ExtractPString(data, offset) ExtractUniChar(data, offset) Data Stuffing Functions 6 StuffByte(aString, offset, toInsert) StuffChar(aString, offset, toInsert) StuffCString(obj, offset, aString) StuffLong(aString, offset, toInsert) StuffPString(obj, offset, aString) StuffUniChar(aString, offset, toInsert) StuffWord(aString, offset, toInsert) Getting and Setting Global Variables and Functions 6 GetGlobalFn(symbol) GetGlobalVar(symbol) GlobalFnExists(symbol) GlobalVarExists(symbol) DefGlobalFn(symbol, function) DefGlobalVar(symbol, value) UnDefGlobalFn(symbol) UnDefGlobalVar(symbol) Miscellaneous Functions 6 BinEqual(a, b) BinaryMunger(dst, dstStart, dstCount, src, srcStart, srcCount) Chr(integer) Compile(string) Ord(char) A-1 A P P E N D I X A Reserved Words A The following words are reserved in NewtonScript. You may not use any of these words as symbols unless you enclose the word in vertical bars, like this: |self|. and end local self begin exists loop then break for mod to by foreach native try call func not until constant global onexception while div if or with do in repeat else inherited return Figure A-0 Listing 7-0 Table A-0 B-1 A P P E N D I X B Special Character Codes B This appendix contains a character code table that has both Macintosh and Unicode (16-bit) character codes for the high 128 characters in the Newton character set (characters 128 through 254). When specifying character constants or strings that contain characters from the high 128 characters, you must use unicode character codes. The Macintosh character codes are provided for convenience if you are used to using them. Table B-1 Character codes sorted by Macintosh character code Mac Unicode Char 80 00C4 Ä 81 00C5 Å 82 00C7 Ç 83 00C9 É 84 00D1 Ñ 85 00D6 Ö 86 00DC Ü 87 00E1 á 88 00E0 à 89 00E2 â 8A 00E4 ä 8B 00E3 ã 8C 00E5 å continued Figure B-0 Listing 8-0 Table B-0 A P P E N D I X B Special Character Codes B-2 8D 00E7 ç 8E 00E9 é 8F 00E8 è 90 00EA ê 91 00EB ë 92 00ED í 93 00EC ì 94 00EE î 95 00EF ï 96 00F1 ñ 97 00F3 ó 98 00F2 ò 99 00F4 ô 9A 00F6 ö 9B 00F5 õ 9C 00FA ú 9D 00F9 ù 9E 00FB û 9F 00FC ü A0 2020 † A1 00B0 ° A2 00A2 ¢ A3 00A3 £ continued Table B-1 Character codes sorted by Macintosh character code (continued) Mac Unicode Char A P P E N D I X B Special Character Codes B-3 A4 00A7 § A5 2022 A6 00B6 ¶ A7 00DF ß A8 00AE ® A9 00A9 © AA 2122 ™ AB 00B4 ´ AC 00A8 ¨ AD 2260 ≠ AE 00C6 Æ AF 00D8 Ø B0 221E ∞ B1 00B1 ± B2 2264 ≤ B3 2265 ≥ B4 00A5 ¥ B5 00B5 µ B6 2202 ∂ B7 2211 Σ B8 220F Π B9 03C0 π BA 222B ∫ continued Table B-1 Character codes sorted by Macintosh character code (continued) Mac Unicode Char A P P E N D I X B Special Character Codes B-4 BB 00AA ª BC 00BA º BD 2126 Ω BE 00E6 æ BF 00F8 ø C0 00BF ¿ C1 00A1 ¡ C2 00AC ¬ C3 221A √ C4 0192 ƒ C5 2248 ≈ C6 2206 Δ C7 00AB « C8 00BB » C9 2026 … CA 00A0 CB 00C0 À CC 00C3 Ã CD 00D5 Õ CE 0152 OE CF 0153 oe D0 2013 D1 2014 continued Table B-1 Character codes sorted by Macintosh character code (continued) Mac Unicode Char A P P E N D I X B Special Character Codes B-5 D2 201C D3 201D D4 2018 D5 2019 D6 00F7 ÷ D7 25CA ◊ D8 00FF ÿ D9 0178 Ÿ DA 2044 ⁄ DB 00A4 ¤ DC 2039 ‹ DD 203A › DE FB01 fi DF FB02 fl E0 2021 ‡ E1 00B7 · E2 201A ‚ E3 201E „ E4 2030 ‰ E5 00C2 Â E6 00CA Ê E7 00C1 Á E8 00CB Ë continued Table B-1 Character codes sorted by Macintosh character code (continued) Mac Unicode Char A P P E N D I X B Special Character Codes B-6 E9 00C8 È EA 00CD Í EB 00CE Î EC 00CF Ï ED 00CC Ì EE 00D3 Ó EF 00D4 Ô F0 F7FF F1 00D2 Ò F2 00DA Ú F3 00DB Û F4 00D9 Ù F5 0131 ı F6 02C6 ˆ F7 02DC ˜ F8 00AF ¯ F9 02D8 ˘ FA 02D9 ˙ FB 02DA ˚ FC 00B8 ¸ FD 02DD ˝ FE 02DB ˛ FF 02C7 ˇ Table B-1 Character codes sorted by Macintosh character code (continued) Mac Unicode Char A P P E N D I X B Special Character Codes B-7 Table B-2 Character codes sorted by Unicode Mac Unicode Char CA 00A0 C1 00A1 ¡ A2 00A2 ¢ A3 00A3 £ DB 00A4 ¤ B4 00A5 ¥ A4 00A7 § AC 00A8 ¨ A9 00A9 © BB 00AA ª C7 00AB « C2 00AC ¬ A8 00AE ® F8 00AF ¯ A1 00B0 ° B1 00B1 ± AB 00B4 ´ B5 00B5 µ A6 00B6 ¶ E1 00B7 · FC 00B8 ¸ BC 00BA º continued A P P E N D I X B Special Character Codes B-8 C8 00BB » C0 00BF ¿ CB 00C0 À E7 00C1 Á E5 00C2 Â CC 00C3 Ã 80 00C4 Ä 81 00C5 Å AE 00C6 Æ 82 00C7 Ç E9 00C8 È 83 00C9 É E6 00CA Ê E8 00CB Ë ED 00CC Ì EA 00CD Í EB 00CE Î EC 00CF Ï 84 00D1 Ñ F1 00D2 Ò EE 00D3 Ó EF 00D4 Ô CD 00D5 Õ continued Table B-2 Character codes sorted by Unicode (continued) Mac Unicode Char A P P E N D I X B Special Character Codes B-9 85 00D6 Ö AF 00D8 Ø F4 00D9 Ù F2 00DA Ú F3 00DB Û 86 00DC Ü A7 00DF ß 88 00E0 à 87 00E1 á 89 00E2 â 8B 00E3 ã 8A 00E4 ä 8C 00E5 å BE 00E6 æ 8D 00E7 ç 8F 00E8 è 8E 00E9 é 90 00EA ê 91 00EB ë 93 00EC ì 92 00ED í 94 00EE î 95 00EF ï continued Table B-2 Character codes sorted by Unicode (continued) Mac Unicode Char A P P E N D I X B Special Character Codes B-10 96 00F1 ñ 98 00F2 ò 97 00F3 ó 99 00F4 ô 9B 00F5 õ 9A 00F6 ö D6 00F7 ÷ BF 00F8 ø 9D 00F9 ù 9C 00FA ú 9E 00FB û 9F 00FC ü D8 00FF ÿ F5 0131 ı CE 0152 OE CF 0153 oe D9 0178 Ÿ C4 0192 ƒ F6 02C6 ˆ FF 02C7 ˇ F9 02D8 ˘ FA 02D9 ˙ FB 02DA ˚ continued Table B-2 Character codes sorted by Unicode (continued) Mac Unicode Char A P P E N D I X B Special Character Codes B-11 FE 02DB ˛ F7 02DC ˜ FD 02DD ˝ B9 03C0 π D0 2013 D1 2014 D4 2018 D5 2019 E2 201A ‚ D2 201C D3 201D E3 201E „ A0 2020 † E0 2021 ‡ A5 2022 C9 2026 … E4 2030 ‰ DC 2039 ‹ DD 203A › DA 2044 ⁄ AA 2122 ™ BD 2126 Ω B6 2202 ∂ continued Table B-2 Character codes sorted by Unicode (continued) Mac Unicode Char A P P E N D I X B Special Character Codes B-12 C6 2206 Δ B8 220F Π B7 2211 Σ C3 221A √ B0 221E ∞ BA 222B ∫ C5 2248 ≈ AD 2260 ≠ B2 2264 ≤ B3 2265 ≥ D7 25CA ◊ F0 F7FF DE FB01 fi DF FB02 fl Table B-2 Character codes sorted by Unicode (continued) Mac Unicode Char What Are Classes Good For? C-1 A P P E N D I X C Class-Based Programming C *NewtonScript is often described as an “object-oriented” language. However, even if (or especially if) you have some experience with other object-oriented languages, such as Smalltalk or C++, you may be a bit confused by it. NewtonScript does have many features that will be familiar to you, but it has one important difference: NewtonScript is prototype-based, rather than class-based. That is, rather than dividing the world into classes and instances for the purposes of inheritance, NewtonScript objects inherit directly from other objects. Don’t forget everything you know about class-based programming, though. It is possible, and even desirable, to simulate classes in NewtonScript. Even though the language contains no explicit features to support classes, you can use a simple set of stylistic conventions to gain the familiar advantages of classes when you need them, without losing the flexibility of prototypes. What Are Classes Good For? C Newton programming puts great emphasis on the view system. The structure of your application is based around the views that make up the user interface. Newton Toolkit reflects this strong view orientation, making it very easy to create views with attached data and methods. However, it’s not necessarily appropriate to use the view system alone to organize your program. Most applications of any complexity use various independent, fairly complicated data structures. A standard programming technique is to implement these structures as abstract data types that encapsulate the functionality. In an object-oriented program, these take the form of classes. * Copyright © 1993, 1994 Walter R. Smith. All Rights Reserved. This article is reprinted by permission of the author. Figure C-0 Listing 9-0 Table C-0 A P P E N D I X C Class-Based Programming C-2 Classes: A Brief Reminder Classes let you divide your program’s functionality into manageable pieces. By combining a data structure with the functions that operate on it, classes make the program more understandable and maintainable. A well-written class can be reused in other applications, which saves you effort. There are plenty of reasons why classes are a good idea; you can look in any book on object-oriented programming for more. You should use the view structure of your application to divide it into parts according to the user interface. It’s a good idea to implement some or all of the internal data structures as classes. Classes: A Brief Reminder C Let’s start by reviewing the traditional class-based model of object programming. I use Smalltalk concepts and terminology in this article; C++ folks will need to translate the discussion slightly to fit their frame of reference. The principal concept in the class-based model is, not surprisingly, the class. A class defines the structure and behavior of a set of objects called the instances of the class. Each instance contains a set of instance variables, which are specified in the class. Instances can respond to messages by executing the methods defined in the class. Every instance has the same instance variables and methods. In addition, the class can define class variables and class methods, which are available to all the instances of the class. Inheritance is also determined by classes. Each class can have a superclass, from which it inherits variable and method definitions. In some languages, a class can have multiple superclasses, but there’s no easy way to simulate that in NewtonScript, so I won’t consider that here. An object is created by sending a message, usually called New or something similar, to its class. It may also be created by sending a Clone message to an instance of the class. When a message is sent to an instance, the corresponding method is located in the class (or superclasses) and executed. The method can refer directly to instance variables from that particular instance, and to class variables. A P P E N D I X C Class-Based Programming Inheritance in NewtonScript C-3 Inheritance in NewtonScript C The NewtonScript object model is prototype-based. Frames inherit directly from other frames; there are no classes. A frame may be linked to other frames through its _proto and _parent slots. These slots define the inheritance path for the frame. When you send a message to a frame, the method that