Ted franska har över femton års erfarenhet av att lära och skriva om kalkylprogram som Excel, Google Spreadsheets och Lotus 1-2-3. Läs mer Uppdaterad 5 mars 2016. Definition: Det korta svaret: En funktion är en förinställd formel i Excel och Google Spreadsheets som är avsedd att utföra specifika beräkningar i cellen där den ligger. Funktionssyntax och argument En funktions syntax avser funktionslayouten och innehåller funktionens namn, parentes, komma-separatorer och argument. I likhet med alla formler börjar funktionerna med likatexten (61) följt av funktionens namn och dess argument: Fortsätt läsa nedan Funktionsnamnet berättar Excel vilka beräkningar som ska utföras. Argumenten finns i parenteser eller runda parenteser och berättar vilken funktion använd i dessa beräkningar. Exempelvis är en av de mest använda funktionerna i Excel och Google Spreadsheets SUM-funktionen: I det här exemplet berättar namnet Excel för att lägga till data i valda celler. Funktionen argument (D1: D6) lägger till innehållet i cellintervall D1 till D6. Nödvändiga funktioner i formler Nyttan av Excel39s inbyggda funktioner kan utökas genom att nesta en eller flera funktioner i en annan funktion i en formel. Effekten av nestningsfunktioner är att tillåta flera beräkningar att äga rum i en enda arbetsarkcell. För att göra detta fungerar den nestade funktionen som en av argumenten för huvud - eller yttersta funktionen. Detta uppnås genom att använda SUM-funktionen som RUND-funktionens nummer-argument. 61 ROUND (SUM (D1, D6), 2) Vid utvärdering av kapslade funktioner, exekverar Excel den djupaste eller innersta funktionen först och arbetar sedan utåt. Fortsätt läsa nedan. Följaktligen kommer formeln ovan att nå: hitta summan av värdena i cellerna D1 till D6 runt detta resultat med två decimaler. Sedan Excel 2007 är upp till 64 nivåer av kapslade funktioner tillåtna. I versioner före detta tillåts 7 nivåer av kapslade funktioner. Arbetsblad kontra anpassade funktioner Det finns två klasser av funktioner i Excel och Google Kalkylark: Arbetsblad Funktioner Egen eller Användardefinierad Funktioner Arbetsbladsfunktioner är de som är inbyggda i programmet, som de ovan beskrivna SUM och ROUND-funktionerna. Anpassade funktioner, å andra sidan, är funktioner skrivna eller definierade. av användaren. I Excel skrivs anpassade funktioner i det inbyggda programmeringsspråket: Visual Basic for Applications - eller VBA för korta. Funktionerna skapas med hjälp av Visual Basic-redigeraren som finns på fliken Utvecklare i bandet. Google Spreadsheets39 anpassade funktioner skrivs i Apps Script - en form av JavaScript - och skapas med hjälp av manusredigeraren som finns under Verktyg-menyn. Anpassade funktioner accepterar vanligtvis, men inte alltid, någon form av dataingång och returnerar ett resultat i cellen där den befinner sig. Nedan är ett exempel på en användardefinierad funktion som beräknar köparrabatter skrivna i VBA-kod. De ursprungliga användardefinierade funktionerna eller UDF publiceras på Microsoft39s hemsida: Begränsningar I Excel kan användardefinierade funktioner bara returnera värden till den eller de celler i vilka de finns. Då kan de inte utföra kommandon som på något sätt ändrar operativmiljön i Excel - som att ändra innehållet eller formateringen av en cell. Microsofts kunskapsbas. listar följande begränsningar för användardefinierade funktioner: Infoga, ta bort eller formatera celler i ett arbetsblad Ändra värdet av data i en annan cell Flytta, byta namn på, radera eller lägga till ark i en arbetsbok Ändra eventuella miljöalternativ - som beräkningsläge eller skärmvyer Inställning av egenskaper eller exekvering av de flesta metoder. Användardefinierade funktioner vs. Makroer i Excel Medan Google Spreadsheets för närvarande inte stöder dem, är ett makro i Excel en serie inspelade steg som automatiserar repetitiva arbetsbladsuppgifter - till exempel formatera data eller kopiera och klistra in operationer - genom att imitera tangenttryckningar eller mushandlingar . Även om båda använder sig av Microsofts VBA-programmeringsspråk, skiljer de sig i två avseenden: UDF39s utför beräkningar medan makron utför åtgärder. Som nämnts ovan kan UDF39s inte utföra operationer som påverkar programmets miljö medan makron kan. I Visual Basic-redigeringsfönstret kan de två differentieras eftersom: UDF39s börjar med ett funktionsdeklaration och slutar med slutfunktionsmakroner börjar med ett Sub-uttalande och slutar med End Sub. 10 Kalkylark Villkor Varje Excel-användare Ska KnowLets föreställa sig att vi har en rad heltal så här: Medlet erhålls med följande formel A (1n) xi (med i 1 till n). Så: x1n x2n. xnn Vi delar nuvärdet med antalet värden och lägger till det föregående resultatet till det returnerade värdet. Reduktionsmetodsignaturen är Reduced callback-funktionen har följande parametrar: s. Resultat från föregående beräkning c. Nuvarande värde (från nuvarande index) i. Aktuella arrayelement indexvärde a. Den nuvarande reducerade Array Den andra reduktionsparametern är standardvärdet. (Används om arrayen är tom). Så den genomsnittliga reduceringsmetoden kommer att vara: Om du föredrar kan du skapa en separat funktion. Då hänvisar du bara till callbackmetods signaturen eller Öka direkt Array-prototypen. Det är möjligt att dela upp värdet varje gång reduceringsmetoden heter. Eller ännu bättre. Använd den tidigare definierade Array. protoype. sum () - metoden, optimera processen min kallar divisionen enbart en gång :) Sedan på något Array-objekt av räckvidden: OBS: en tom array med retur en NaN-önskan är mer korrekt än 0 i min synvinkel och kan vara användbar i specifika användningsfall. Läser och kopierar vald text till Urklipp med hjälp av JavaScript Uppdaterad: 6 november 2015 Fråga de flesta utvecklare hur man kopierar innehållet i ett användarval till Urklipp, och de kommer att nämna behovet av Flash ( därmed populariteten av skript som Zeroclipboard). En justering i det tänkandet beror dock på senare förbättringar av webbläsarsupport för den viktigaste tekniken i JavaScript som gör det möjligt att kopiera till urklippet på egen hand - document. execCommand (). Stöds i IE9, Firefox 41 och Chrome 42. den här JavaScript-metoden ger slutligen inbyggt cutcopy-stöd till webbläsare själva. I den här handledningen ser du hur du läser textinnehållet i ett användarval, väljer dynamiskt lite text på sidan, och sist men inte minst, kopiera det som valts till urklippet, allt med bara JavaScript. Kommer in i en Flash-frizon nu Hämta textinnehållet i användarvalet Låt starta högst upp och hämta vad användaren har valt på sidan så långt som något textinnehåll. För detta använder vi window. getSelection (). En metod som stöds i alla moderna webbläsare och IE9: window. getSelection () returnerar den aktuella valda texten på sidan och returnerar ett valobjekt som innehåller den data. För att hämta den faktiska texten använder vi toString () för att göra den till en sträng. I det följande exemplet kallas vår funktion getSelectionText () när användaren musar upp över dokumentet så ser vad (om något) användaren har valt: Vi kontrollerar först att det finns någon text markerad, som om användaren helt enkelt klickade på sidan, kommer det att vara ingen. Välja och läsa textinnehållet i icke-formade element på sidan Förflyttning, istället för att bara hämta det som användaren har valt, kan vi också ta ansvaret och dynamiskt välja sedan hämta vad vi vill ha på sidan istället, till exempel innehållet i en specifika DIV. Det här skiljer sig väldigt annorlunda från att bara använda en element innerHTML eller innerText-egenskap för att få innehållet. Vi vill faktiskt välja det innehållet via JavaScript, vilket öppnar andra möjliga funktioner som att kopiera den till användarens utklippstavla. För att välja textinnehållet i ett icke-formfältelement börjar vi genom att skapa ett nytt Range-objekt och ställa in det för att omfatta det önskade elementet. Lägg sedan till intervallet i urvalet objektet för att faktiskt markera det. Låt oss se exakt hur det här fungerar med en funktion som dynamiskt väljer ett element textinnehåll baserat på elementet som skickats in i det: För att skapa ett valobjekt med vilket du vill lägga till ett intervall till använder vi window. getSelection () eftersom den här metoden som standard returnerar Användarens valda text (om någon), vi kallar dess removeAllRanges () - metod omedelbart efteråt för att rensa skiffer. Därefter går vi om att skapa ett tomt intervall, nollställer på elementets innehåll för att välja med intervallet. selectNodeContents (). innan du lägger till det här intervallet i urvalsobjektet för att välja det. När vi väl valt den text vi vill läsa, vänder vi oss till vår tidigare getSelectionText () - metod för att läsa innehållet i de valda elementen, till exempel: "Mamma sa alltid, livet var som en låda choklad. Du vet aldrig vad du kommer att få. quot - Forrest Välj och hämta text Välja och läsa innehållet i formulärelement som INPUT-text eller TEXTAREA För att välja och läsa formulärrelaterade fältvärden som INPUT-text och TEXTAREA, skiljer processen sig från att välja regelbunden text. De flesta av oss vet redan att välja hela värdet av ett formulärfält, vi kan bara använda inputElement. select (). och för att hämta det värdet, sonden inputElement. value. Emellertid väljer Theres också programmatiskt en del av fältvärdet och får det värdet tillbaka. Låt oss se hur du gör det. - Programmatiskt välja en del av ett fältvärde För att dynamiskt välja en del av en INPUT-text eller TEXTAREA-element, använd formElement. setSelectionRange () för att ange start - och slutindex för det önskade urvalet i fältet: Observera att den andra parametern för formElement. setSelectionRange () ska vara indexet för det slutliga tecknet för att välja plus 1. så att du väljer de första 5 tecknen i ett formulärfält bör slutindexindexvärdet vara 5 eller 4 (indexet för 5: e tecknet) plus 1. Obs! I iOS-enheter (enligt iOS9) använder du inputElement. select () för att snabbt välja alla innehållsformat innehåll verkar inte fungera. Använd dock inputElement. setSelectionRange (). Så här väljer du alla formulärfälttext över webbläsare och enheter: - Läser den valda delen av ett fältvärde Oavsett hur en del av formfältvärdet väljs, oavsett om du använder setSelectionRange () för att dynamiskt välja den delen, eller användaren drar hisher-musen för att göra ett användardefinierat val, sättet att hämta urvalet är att få indexen för valen start och slut karaktär och sedan extrahera den delen från formfältvärdet med dem. Vi kan få index för det aktiva valet med: formElement. selectionStart. Indexet för de valda texterna första tecknet. Om ingen text väljs innehåller den indexet för tecknet som följer inmatningsmarkören. formElement. selectionEnd. Indexet för de valda texterna sista tecknet. Om ingen text väljs innehåller den indexet för tecknet som följer inmatningsmarkören. Ovanstående egenskaper är särskilt användbara för att få någon användarens valda text från ett formulärfält där indexen i urvalet inte är kända. Följande demo echoes vad användaren har valt från en TEXTAREA med dessa egenskaper: Demo (välj lite text inuti textarea): Vi bifogar en quot mouseup-händelse till målet TEXTAREA för att lyssna på när användaren mumlar inuti den. Inne i händelsehanteringsfunktionen, för att upptäcka vad användaren har valt, kontrollerar vi först om TEXTAREAs selectionStart och selectionEnd egenskaper innehåller olika värden. Om de är samma betyder det att inget har valts, i vilket fall de båda pekar på index för tecknet som följer ingångsmarkören. Om deras värden är olika fortsätter vi med att kartlägga de valda textindexen till värdet av formulärfältvärdet för att härleda den aktuella valda texten med formElement. value. substring (). Kopiering av den valda texten till användarklippskortet Ok, nu när det är nitty gritty om hur man läser vad som valdes på sidan tas hand om, oavsett om den är på sidan generellt eller inom ett visst DIV eller formelement, kan vi gå vidare till Nästa pressningsproblem kopierar faktiskt innehållet till urklippet. Som påpekat i början av handledningen kommer det ner till att använda metoden document. execCommand () för att utföra ett kommando att quotcopyquot (eller quotcutquot) texten till urklippet: Nyckeln här är raden document. execCommand (quotcopyquot). som faktiskt utför åtgärden för att kopiera det som just nu är valt på sidan till Urklipp. För att upptäcka om webbläsaren stöder metoden execCommand () korrekt lägger vi operationen in i ett trycatch () - block om samtalet till execCommand () misslyckas, vi vet att webbläsaren inte stöder denna metod. Vi kan använda vår nyskapade copySelectionText () - funktion med någon av de tidigare metoderna för att välja att hämta lite text och sedan kopiera den till urklippet. Exempelvis skulle utgåvan nedan kopiera det som användaren har valt på sidan när användaren musar upp över dokumentet: Vi kan förfina denna process för att bara utföra en quotcopyquot-åtgärd om användarvalet faktiskt innehåller några data om användaren helt enkelt klickar På sidan utan att markera något till exempel, är ingen data vald, i vilket fall kopieringsåtgärden ska avbrytas. Detta kan göras helt enkelt genom att titta på vad som valdes av användaren i förväg: Tid för en live demo nu. Försök välja någon text i följande stycke för att se innehållet kopierat till Urklipp (tryck på quotCtrl Vquot efteråt för att klistra in och bekräfta). Ive har också lagt till ett verktygstips som visar sig tillfälligt för att indikera framgång varje gång: Demo (välj vilken text som helst i stycket nedan för att kopiera den till urklippet): Att njuta av god hälsa, för att ge verklig lycka till familjen, för att få fred till alla, man måste först disciplinera och styra sitt eget sinne. Om en man kan styra sitt sinne kan han hitta vägen till Upplysning, och all visdom och dygd kommer naturligtvis att komma till honom. quot - Buddha Obs! Klicka här för källan till verktygstipsfunktionen. Kopiering av det valda formulärfältet till användarklipbordet Vidare kan vi enkelt utföra samma hattrick på formfältvärden. I nästa exempel lägger vi till en kontroll bredvid ett INPUT-textfält för att låta användarna snabbt kopiera sitt värde: Dela den här handledningen Kopiera Kopiera en DIV-innehåll till Urklipp Och äntligen, bara för bra mått, kan vi också se ett exempel på automatisk val och kopiering en DIVs innehåll till klippbordet genom att klicka på det: Demos (klicka på någon av citat nedan för att välja innehållet): Just när caterpillar trodde att världen slutade blev han en fjäril. - Proverb Stora tankar diskutera idéer medeltänkande diskutera händelser små sinnen diskutera människor. --Eleanor Roosevelt Ingen kan få dig att känna sig underlägsen utan ditt samtycke. --Eleanor Roosevelt Inget nytt här - vi övervakar helt enkelt quot mouseup citationstecken för citaten DIVs delad förälderbehållare för att upptäcka när användaren har klickat på en av de inre DIV. När det händer väljer vi DIVquots innehåll innan du kopierar det till Urklipp med de funktioner som skapades tidigare. I konklusion Som du kan se, läser och ännu viktigare kan kopiering av text till urklippet nu vara en fullständig JavaScript-affär. Med Flash faller ut av favör snabbt med webbläsare och användare, är det verkligen bra nyheter. Alla exemplen ovan fungerar i IE9, Firefox 41 och Chrome 42. Slut på handledning
No comments:
Post a Comment