ABS function
Math and trigonometry: Returns the absolute value of a number
ACCRINT function
Financial: Returns the accrued interest for a security that pays periodic interest
ACCRINTM function
Financial: Returns the accrued interest for a security that pays interest at maturity
ACOS function
Math and trigonometry: Returns the arccosine of a number
ACOSH function
Math and trigonometry: Returns the inverse hyperbolic cosine of a number
ACOT function
Math and trigonometry: Returns the arccotangent of a number
ACOTH function
Math and trigonometry: Returns the hyperbolic arccotangent of a number
AGGREGATE function
Math and trigonometry: Returns an aggregate in a list or database
ADDRESS function
Lookup and reference: Returns a reference as text to a single cell in a worksheet
AMORDEGRC function
Financial: Returns the depreciation for each accounting period by using a depreciation coefficient
AMORLINC function
Financial: Returns the depreciation for each accounting period
AND function
Logical: Returns TRUE if all of its arguments are TRUE
ARABIC function
Math and trigonometry: Converts a Roman number to Arabic, as a number
AREAS function
Lookup and reference: Returns the number of areas in a reference
ARRAYTOTEXT function
Text: Returns an array of text values from any specified range
ASC function
Text: Changes full-width (double-byte) English letters or katakana within a character string to half-width (single-byte) characters
ASIN function
Math and trigonometry: Returns the arcsine of a number
ASINH function
Math and trigonometry: Returns the inverse hyperbolic sine of a number
ATAN function
Math and trigonometry: Returns the arctangent of a number
ATAN2 function
Math and trigonometry: Returns the arctangent from x- and y-coordinates
ATANH function
Math and trigonometry: Returns the inverse hyperbolic tangent of a number
AVEDEV function
Statistical: Returns the average of the absolute deviations of data points from their mean
AVERAGE function
Statistical: Returns the average of its arguments
AVERAGEA function
Statistical: Returns the average of its arguments, including numbers, text, and logical values
AVERAGEIF function
Statistical: Returns the average (arithmetic mean) of all the cells in a range that meet a given criteria
AVERAGEIFS function
Statistical: Returns the average (arithmetic mean) of all cells that meet multiple criteria.
BAHTTEXT function
Text: Converts a number to text, using the ß (baht) currency format
BASE function
Math and trigonometry: Converts a number into a text representation with the given radix (base)
BESSELI function
Engineering: Returns the modified Bessel function In(x)
BESSELJ function
Engineering: Returns the Bessel function Jn(x)
BESSELK function
Engineering: Returns the modified Bessel function Kn(x)
BESSELY function
Engineering: Returns the Bessel function Yn(x)
BETADIST function
Compatibility: Returns the beta cumulative distribution function
In Excel 2007, this is a Statistical function.
BETA.DIST function
Statistical: Returns the beta cumulative distribution function
BETAINV function
Compatibility: Returns the inverse of the cumulative distribution function for a specified beta distribution
In Excel 2007, this is a Statistical function.
BETA.INV function
Statistical: Returns the inverse of the cumulative distribution function for a specified beta distribution
BIN2DEC function
Engineering: Converts a binary number to decimal
BIN2HEX function
Engineering: Converts a binary number to hexadecimal
BIN2OCT function
Engineering: Converts a binary number to octal
BINOMDIST function
Compatibility: Returns the individual term binomial distribution probability
In Excel 2007, this is a Statistical function.
BINOM.DIST function
Statistical: Returns the individual term binomial distribution probability
BINOM.DIST.RANGE function
Statistical: Returns the probability of a trial result using a binomial distribution
BINOM.INV function
Statistical: Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value
BITAND function
Engineering: Returns a ‘Bitwise And’ of two numbers
BITLSHIFT function
Engineering: Returns a value number shifted left by shift_amount bits
BITOR function
Engineering: Returns a bitwise OR of 2 numbers
BITRSHIFT function
Engineering: Returns a value number shifted right by shift_amount bits
BITXOR function
Engineering: Returns a bitwise ‘Exclusive Or’ of two numbers
BYCOL
Logical: Applies a LAMBDA to each column and returns an array of the results
BYROW
Logical: Applies a LAMBDA to each row and returns an array of the results
CALL function
Add-in and Automation: Calls a procedure in a dynamic link library or code resource
CEILING function
Compatibility: Rounds a number to the nearest integer or to the nearest multiple of significance
CEILING.MATH function
Math and trigonometry: Rounds a number up, to the nearest integer or to the nearest multiple of significance
CEILING.PRECISE function
Math and trigonometry: Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up.
CELL function
Information: Returns information about the formatting, location, or contents of a cell
This function is not available in Excel for the web.
CHAR function
Text: Returns the character specified by the code number
CHIDIST function
Compatibility: Returns the one-tailed probability of the chi-squared distribution
Note: In Excel 2007, this is a Statistical function.
CHIINV function
Compatibility: Returns the inverse of the one-tailed probability of the chi-squared distribution
Note: In Excel 2007, this is a Statistical function.
CHITEST function
Compatibility: Returns the test for independence
Note: In Excel 2007, this is a Statistical function.
CHISQ.DIST function
Statistical: Returns the cumulative beta probability density function
CHISQ.DIST.RT function
Statistical: Returns the one-tailed probability of the chi-squared distribution
CHISQ.INV function
Statistical: Returns the cumulative beta probability density function
CHISQ.INV.RT function
Statistical: Returns the inverse of the one-tailed probability of the chi-squared distribution
CHISQ.TEST function
Statistical: Returns the test for independence
CHOOSE function
Lookup and reference: Chooses a value from a list of values
CHOOSECOLS
Lookup and reference: Returns the specified columns from an array
CHOOSEROWS
Lookup and reference: Returns the specified rows from an array
CLEAN function
Text: Removes all nonprintable characters from text
CODE function
Text: Returns a numeric code for the first character in a text string
COLUMN function
Lookup and reference: Returns the column number of a reference
COLUMNS function
Lookup and reference: Returns the number of columns in a reference
COMBIN function
Math and trigonometry: Returns the number of combinations for a given number of objects
COMBINA function
Math and trigonometry:
Returns the number of combinations with repetitions for a given number of items
COMPLEX function
Engineering: Converts real and imaginary coefficients into a complex number
CONCAT function
Text: Combines the text from multiple ranges and/or strings, but it doesn’t provide the delimiter or IgnoreEmpty arguments.
CONCATENATE function
Text: Joins several text items into one text item
CONFIDENCE function
Compatibility: Returns the confidence interval for a population mean
In Excel 2007, this is a Statistical function.
CONFIDENCE.NORM function
Statistical: Returns the confidence interval for a population mean
CONFIDENCE.T function
Statistical: Returns the confidence interval for a population mean, using a Student’s t distribution
CONVERT function
Engineering: Converts a number from one measurement system to another
CORREL function
Statistical: Returns the correlation coefficient between two data sets
COS function
Math and trigonometry: Returns the cosine of a number
COSH function
Math and trigonometry: Returns the hyperbolic cosine of a number
COT function
Math and trigonometry: Returns the hyperbolic cosine of a number
COTH function
Math and trigonometry: Returns the cotangent of an angle
COUNT function
Statistical: Counts how many numbers are in the list of arguments
COUNTA function
Statistical: Counts how many values are in the list of arguments
COUNTBLANK function
Statistical: Counts the number of blank cells within a range
COUNTIF function
Statistical: Counts the number of cells within a range that meet the given criteria
COUNTIFS function
Statistical: Counts the number of cells within a range that meet multiple criteria
COUPDAYBS function
Financial: Returns the number of days from the beginning of the coupon period to the settlement date
COUPDAYS function
Financial: Returns the number of days in the coupon period that contains the settlement date
COUPDAYSNC function
Financial: Returns the number of days from the settlement date to the next coupon date
COUPNCD function
Financial: Returns the next coupon date after the settlement date
COUPNUM function
Financial: Returns the number of coupons payable between the settlement date and maturity date
COUPPCD function
Financial: Returns the previous coupon date before the settlement date
COVAR function
Compatibility: Returns covariance, the average of the products of paired deviations
In Excel 2007, this is a Statistical function.
COVARIANCE.P function
Statistical: Returns covariance, the average of the products of paired deviations
COVARIANCE.S function
Statistical: Returns the sample covariance, the average of the products deviations for each data point pair in two data sets
CRITBINOM function
Compatibility: Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value
In Excel 2007, this is a Statistical function.
CSC function
Math and trigonometry: Returns the cosecant of an angle
CSCH function
Math and trigonometry: Returns the hyperbolic cosecant of an angle
CUBEKPIMEMBER function
Cube: Returns a key performance indicator (KPI) name, property, and measure, and displays the name and property in the cell. A KPI is a quantifiable measurement, such as monthly gross profit or quarterly employee turnover, used to monitor an organization’s performance.
CUBEMEMBER function
Cube: Returns a member or tuple in a cube hierarchy. Use to validate that the member or tuple exists in the cube.
CUBEMEMBERPROPERTY function
Cube: Returns the value of a member property in the cube. Use to validate that a member name exists within the cube and to return the specified property for this member.
CUBERANKEDMEMBER function
Cube: Returns the nth, or ranked, member in a set. Use to return one or more elements in a set, such as the top sales performer or top 10 students.
CUBESET function
Cube: Defines a calculated set of members or tuples by sending a set expression to the cube on the server, which creates the set, and then returns that set to Microsoft Office Excel.
CUBESETCOUNT function
Cube: Returns the number of items in a set.
CUBEVALUE function
Cube: Returns an aggregated value from a cube.
CUMIPMT function
Financial: Returns the cumulative interest paid between two periods
CUMPRINC function
Financial: Returns the cumulative principal paid on a loan between two periods
DATE function
Date and time: Returns the serial number of a particular date
DATEDIF function
Date and time: Calculates the number of days, months, or years between two dates. This function is useful in formulas where you need to calculate an age.
DATEVALUE function
Date and time: Converts a date in the form of text to a serial number
DAVERAGE function
Database: Returns the average of selected database entries
DAY function
Date and time: Converts a serial number to a day of the month
DAYS function
Date and time: Returns the number of days between two dates
DAYS360 function
Date and time: Calculates the number of days between two dates based on a 360-day year
DB function
Financial: Returns the depreciation of an asset for a specified period by using the fixed-declining balance method
DBCS function
Text: Changes half-width (single-byte) English letters or katakana within a character string to full-width (double-byte) characters
DCOUNT function
Database: Counts the cells that contain numbers in a database
DCOUNTA function
Database: Counts nonblank cells in a database
DDB function
Financial: Returns the depreciation of an asset for a specified period by using the double-declining balance method or some other method that you specify
DEC2BIN function
Engineering: Converts a decimal number to binary
DEC2HEX function
Engineering: Converts a decimal number to hexadecimal
DEC2OCT function
Engineering: Converts a decimal number to octal
DECIMAL function
Math and trigonometry: Converts a text representation of a number in a given base into a decimal number
DEGREES function
Math and trigonometry: Converts radians to degrees
DELTA function
Engineering: Tests whether two values are equal
DEVSQ function
Statistical: Returns the sum of squares of deviations
DGET function
Database: Extracts from a database a single record that matches the specified criteria
DISC function
Financial: Returns the discount rate for a security
DMAX function
Database: Returns the maximum value from selected database entries
DMIN function
Database: Returns the minimum value from selected database entries
DOLLAR function
Text: Converts a number to text, using the $ (dollar) currency format
DOLLARDE function
Financial: Converts a dollar price, expressed as a fraction, into a dollar price, expressed as a decimal number
DOLLARFR function
Financial: Converts a dollar price, expressed as a decimal number, into a dollar price, expressed as a fraction
DPRODUCT function
Database: Multiplies the values in a particular field of records that match the criteria in a database
DROP
Lookup and reference: Excludes a specified number of rows or columns from the start or end of an array
DSTDEV function
Database: Estimates the standard deviation based on a sample of selected database entries
DSTDEVP function
Database: Calculates the standard deviation based on the entire population of selected database entries
DSUM function
Database: Adds the numbers in the field column of records in the database that match the criteria
DURATION function
Financial: Returns the annual duration of a security with periodic interest payments
DVAR function
Database: Estimates variance based on a sample from selected database entries
DVARP function
Database: Calculates variance based on the entire population of selected database entries
EDATE function
Date and time: Returns the serial number of the date that is the indicated number of months before or after the start date
EFFECT function
Financial: Returns the effective annual interest rate
ENCODEURL function
Web: Returns a URL-encoded string
This function is not available in Excel for the web.
EOMONTH function
Date and time: Returns the serial number of the last day of the month before or after a specified number of months
ERF function
Engineering: Returns the error function
ERF.PRECISE function
Engineering: Returns the error function
ERFC function
Engineering: Returns the complementary error function
ERFC.PRECISE function
Engineering: Returns the complementary ERF function integrated between x and infinity
ERROR.TYPE function
Information: Returns a number corresponding to an error type
EUROCONVERT function
Add-in and Automation: Converts a number to euros, converts a number from euros to a euro member currency, or converts a number from one euro member currency to another by using the euro as an intermediary (triangulation).
EVEN function
Math and trigonometry: Rounds a number up to the nearest even integer
EXACT function
Text: Checks to see if two text values are identical
EXP function
Math and trigonometry: Returns e raised to the power of a given number
EXPAND
Lookup and reference: Expands or pads an array to specified row and column dimensions
EXPON.DIST function
Statistical: Returns the exponential distribution
EXPONDIST function
Compatibility: Returns the exponential distribution
In Excel 2007, this is a Statistical function.
FACT function
Math and trigonometry: Returns the factorial of a number
FACTDOUBLE function
Math and trigonometry: Returns the double factorial of a number
FALSE function
Logical: Returns the logical value FALSE
F.DIST function
Statistical: Returns the F probability distribution
FDIST function
Compatibility: Returns the F probability distribution
In Excel 2007, this is a Statistical function.
F.DIST.RT function
Statistical: Returns the F probability distribution
FILTER function
Lookup and reference: Filters a range of data based on criteria you define
FILTERXML function
Web: Returns specific data from the XML content by using the specified XPath
This function is not available in Excel for the web.
FIND, FINDB functions
Text: Finds one text value within another (case-sensitive)
F.INV function
Statistical: Returns the inverse of the F probability distribution
F.INV.RT function
Statistical: Returns the inverse of the F probability distribution
FINV function
Compatibility: Returns the inverse of the F probability distribution
In Excel 2007this is a Statistical function.
FISHER function
Statistical: Returns the Fisher transformation
FISHERINV function
Statistical: Returns the inverse of the Fisher transformation
FIXED function
Text: Formats a number as text with a fixed number of decimals
FLOOR function
Compatibility: Rounds a number down, toward zero
In Excel 2007 and Excel 2010, this is a Math and trigonometry function.
FLOOR.MATH function
Math and trigonometry: Rounds a number down, to the nearest integer or to the nearest multiple of significance
FLOOR.PRECISE function
Math and trigonometry: Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up.
FORECAST function
Statistical: Returns a value along a linear trend
In Excel 2016, this function is replaced with FORECAST.LINEAR as part of the new Forecasting functions, but it’s still available for compatibility with earlier versions.
FORECAST.ETS function
Statistical: Returns a future value based on existing (historical) values by using the AAA version of the Exponential Smoothing (ETS) algorithm
FORECAST.ETS.CONFINT function
Statistical: Returns a confidence interval for the forecast value at the specified target date
FORECAST.ETS.SEASONALITY function
Statistical: Returns the length of the repetitive pattern Excel detects for the specified time series
FORECAST.ETS.STAT function
Statistical: Returns a statistical value as a result of time series forecasting
FORECAST.LINEAR function
Statistical: Returns a future value based on existing values
FORMULATEXT function
Lookup and reference: Returns the formula at the given reference as text
FREQUENCY function
Statistical: Returns a frequency distribution as a vertical array
F.TEST function
Statistical: Returns the result of an F-test
FTEST function
Compatibility: Returns the result of an F-test
In Excel 2007, this is a Statistical function.
FV function
Financial: Returns the future value of an investment
FVSCHEDULE function
Financial: Returns the future value of an initial principal after applying a series of compound interest rates
GAMMA function
Statistical: Returns the Gamma function value
GAMMA.DIST function
Statistical: Returns the gamma distribution
GAMMADIST function
Compatibility: Returns the gamma distribution
In Excel 2007, this is a Statistical function.
GAMMA.INV function
Statistical: Returns the inverse of the gamma cumulative distribution
GAMMAINV function
Compatibility: Returns the inverse of the gamma cumulative distribution
In Excel 2007, this is a Statistical function.
GAMMALN function
Statistical: Returns the natural logarithm of the gamma function, Γ(x)
GAMMALN.PRECISE function
Statistical: Returns the natural logarithm of the gamma function, Γ(x)
GAUSS function
Statistical: Returns 0.5 less than the standard normal cumulative distribution
GCD function
Math and trigonometry: Returns the greatest common divisor
GEOMEAN function
Statistical: Returns the geometric mean
GESTEP function
Engineering: Tests whether a number is greater than a threshold value
GETPIVOTDATA function
Lookup and reference: Returns data stored in a PivotTable report
GROWTH function
Statistical: Returns values along an exponential trend
HARMEAN function
Statistical: Returns the harmonic mean
HEX2BIN function
Engineering: Converts a hexadecimal number to binary
HEX2DEC function
Engineering: Converts a hexadecimal number to decimal
HEX2OCT function
Engineering: Converts a hexadecimal number to octal
HLOOKUP function
Lookup and reference: Looks in the top row of an array and returns the value of the indicated cell
HOUR function
Date and time: Converts a serial number to an hour
HSTACK
Lookup and reference: Appends arrays horizontally and in sequence to return a larger array
HYPERLINK function
Lookup and reference: Creates a shortcut or jump that opens a document stored on a network server, an intranet, or the Internet
HYPGEOM.DIST function
Statistical: Returns the hypergeometric distribution
HYPGEOMDIST function
Compatibility: Returns the hypergeometric distribution
In Excel 2007, this is a Statistical function.
IF function
Logical: Specifies a logical test to perform
IFERROR function
Logical: Returns a value you specify if a formula evaluates to an error; otherwise, returns the result of the formula
IFNA function
Logical: Returns the value you specify if the expression resolves to #N/A, otherwise returns the result of the expression
IFS function
Logical: Checks whether one or more conditions are met and returns a value that corresponds to the first TRUE condition.
IMABS function
Engineering: Returns the absolute value (modulus) of a complex number
IMAGINARY function
Engineering: Returns the imaginary coefficient of a complex number
IMARGUMENT function
Engineering: Returns the argument theta, an angle expressed in radians
IMCONJUGATE function
Engineering: Returns the complex conjugate of a complex number
IMCOS function
Engineering: Returns the cosine of a complex number
IMCOSH function
Engineering: Returns the hyperbolic cosine of a complex number
IMCOT function
Engineering: Returns the cotangent of a complex number
IMCSC function
Engineering: Returns the cosecant of a complex number
IMCSCH function
Engineering: Returns the hyperbolic cosecant of a complex number
IMDIV function
Engineering: Returns the quotient of two complex numbers
IMEXP function
Engineering: Returns the exponential of a complex number
IMLN function
Engineering: Returns the natural logarithm of a complex number
IMLOG10 function
Engineering: Returns the base-10 logarithm of a complex number
IMLOG2 function
Engineering: Returns the base-2 logarithm of a complex number
IMPOWER function
Engineering: Returns a complex number raised to an integer power
IMPRODUCT function
Engineering: Returns the product of complex numbers
IMREAL function
Engineering: Returns the real coefficient of a complex number
IMSEC function
Engineering: Returns the secant of a complex number
IMSECH function
Engineering: Returns the hyperbolic secant of a complex number
IMSIN function
Engineering: Returns the sine of a complex number
IMSINH function
Engineering: Returns the hyperbolic sine of a complex number
IMSQRT function
Engineering: Returns the square root of a complex number
IMSUB function
Engineering: Returns the difference between two complex numbers
IMSUM function
Engineering: Returns the sum of complex numbers
IMTAN function
Engineering: Returns the tangent of a complex number
INDEX function
Lookup and reference: Uses an index to choose a value from a reference or array
INDIRECT function
Lookup and reference: Returns a reference indicated by a text value
INFO function
Information: Returns information about the current operating environment
This function is not available in Excel for the web.
INT function
Math and trigonometry: Rounds a number down to the nearest integer
INTERCEPT function
Statistical: Returns the intercept of the linear regression line
INTRATE function
Financial: Returns the interest rate for a fully invested security
IPMT function
Financial: Returns the interest payment for an investment for a given period
IRR function
Financial: Returns the internal rate of return for a series of cash flows
ISBLANK function
Information: Returns TRUE if the value is blank
ISERR function
Information: Returns TRUE if the value is any error value except #N/A
ISERROR function
Information: Returns TRUE if the value is any error value
ISEVEN function
Information: Returns TRUE if the number is even
ISFORMULA function
Information: Returns TRUE if there is a reference to a cell that contains a formula
ISLOGICAL function
Information: Returns TRUE if the value is a logical value
ISNA function
Information: Returns TRUE if the value is the #N/A error value
ISNONTEXT function
Information: Returns TRUE if the value is not text
ISNUMBER function
Information: Returns TRUE if the value is a number
ISODD function
Information: Returns TRUE if the number is odd
ISOMITTED
Information: Checks whether the value in a LAMBDA is missing and returns TRUE or FALSE
ISREF function
Information: Returns TRUE if the value is a reference
ISTEXT function
Information: Returns TRUE if the value is text
ISO.CEILING function
Math and trigonometry: Returns a number that is rounded up to the nearest integer or to the nearest multiple of significance
ISOWEEKNUM function
Date and time: Returns the number of the ISO week number of the year for a given date
ISPMT function
Financial: Calculates the interest paid during a specific period of an investment
JIS function
Text: Changes half-width (single-byte) characters within a string to full-width (double-byte) characters
KURT function
Statistical: Returns the kurtosis of a data set
LAMBDA
Logical: Create custom, reusable functions and call them by a friendly name
LARGE function
Statistical: Returns the k-th largest value in a data set
LCM function
Math and trigonometry: Returns the least common multiple
LEFT, LEFTB functions
Text: Returns the leftmost characters from a text value
LEN, LENB functions
Text: Returns the number of characters in a text string
LET
Logical: Assigns names to calculation results
LINEST function
Statistical: Returns the parameters of a linear trend
LN function
Math and trigonometry: Returns the natural logarithm of a number
LOG function
Math and trigonometry: Returns the logarithm of a number to a specified base
LOG10 function
Math and trigonometry: Returns the base-10 logarithm of a number
LOGEST function
Statistical: Returns the parameters of an exponential trend
LOGINV function
Compatibility: Returns the inverse of the lognormal cumulative distribution
LOGNORM.DIST function
Statistical: Returns the cumulative lognormal distribution
LOGNORMDIST function
Compatibility: Returns the cumulative lognormal distribution
LOGNORM.INV function
Statistical: Returns the inverse of the lognormal cumulative distribution
LOOKUP function
Lookup and reference: Looks up values in a vector or array
LOWER function
Text: Converts text to lowercase
MAKEARRAY
Logical: Returns a calculated array of a specified row and column size, by applying a LAMBDA
MAP
Logical: Returns an array formed by mapping each value in the array(s) to a new value by applying a LAMBDA to create a new value
MATCH function
Lookup and reference: Looks up values in a reference or array
MAX function
Statistical: Returns the maximum value in a list of arguments
MAXA function
Statistical: Returns the maximum value in a list of arguments, including numbers, text, and logical values
MAXIFS function
Statistical: Returns the maximum value among cells specified by a given set of conditions or criteria
MDETERM function
Math and trigonometry: Returns the matrix determinant of an array
MDURATION function
Financial: Returns the Macauley modified duration for a security with an assumed par value of $100
MEDIAN function
Statistical: Returns the median of the given numbers
MID, MIDB functions
Text: Returns a specific number of characters from a text string starting at the position you specify
MIN function
Statistical: Returns the minimum value in a list of arguments
MINIFS function
Statistical: Returns the minimum value among cells specified by a given set of conditions or criteria.
MINA function
Statistical: Returns the smallest value in a list of arguments, including numbers, text, and logical values
MINUTE function
Date and time: Converts a serial number to a minute
MINVERSE function
Math and trigonometry: Returns the matrix inverse of an array
MIRR function
Financial: Returns the internal rate of return where positive and negative cash flows are financed at different rates
MMULT function
Math and trigonometry: Returns the matrix product of two arrays
MOD function
Math and trigonometry: Returns the remainder from division
MODE function
Compatibility: Returns the most common value in a data set
In Excel 2007, this is a Statistical function.
MODE.MULT function
Statistical: Returns a vertical array of the most frequently occurring, or repetitive values in an array or range of data
MODE.SNGL function
Statistical: Returns the most common value in a data set
MONTH function
Date and time: Converts a serial number to a month
MROUND function
Math and trigonometry: Returns a number rounded to the desired multiple
MULTINOMIAL function
Math and trigonometry: Returns the multinomial of a set of numbers
MUNIT function
Math and trigonometry: Returns the unit matrix or the specified dimension
N function
Information: Returns a value converted to a number
NA function
Information: Returns the error value #N/A
NEGBINOM.DIST function
Statistical: Returns the negative binomial distribution
NEGBINOMDIST function
Compatibility: Returns the negative binomial distribution
In Excel 2007, this is a Statistical function.
NETWORKDAYS function
Date and time: Returns the number of whole workdays between two dates
NETWORKDAYS.INTL function
Date and time: Returns the number of whole workdays between two dates using parameters to indicate which and how many days are weekend days
NOMINAL function
Financial: Returns the annual nominal interest rate
NORM.DIST function
Statistical: Returns the normal cumulative distribution
NORMDIST function
Compatibility: Returns the normal cumulative distribution
In Excel 2007, this is a Statistical function.
NORMINV function
Statistical: Returns the inverse of the normal cumulative distribution
NORM.INV function
Compatibility: Returns the inverse of the normal cumulative distribution
Note: In Excel 2007, this is a Statistical function.
NORM.S.DIST function
Statistical: Returns the standard normal cumulative distribution
NORMSDIST function
Compatibility: Returns the standard normal cumulative distribution
In Excel 2007, this is a Statistical function.
NORM.S.INV function
Statistical: Returns the inverse of the standard normal cumulative distribution
NORMSINV function
Compatibility: Returns the inverse of the standard normal cumulative distribution
In Excel 2007, this is a Statistical function.
NOT function
Logical: Reverses the logic of its argument
NOW function
Date and time: Returns the serial number of the current date and time
NPER function
Financial: Returns the number of periods for an investment
NPV function
Financial: Returns the net present value of an investment based on a series of periodic cash flows and a discount rate
NUMBERVALUE function
Text: Converts text to number in a locale-independent manner
OCT2BIN function
Engineering: Converts an octal number to binary
OCT2DEC function
Engineering: Converts an octal number to decimal
OCT2HEX function
Engineering: Converts an octal number to hexadecimal
ODD function
Math and trigonometry: Rounds a number up to the nearest odd integer
ODDFPRICE function
Financial: Returns the price per $100 face value of a security with an odd first period
ODDFYIELD function
Financial: Returns the yield of a security with an odd first period
ODDLPRICE function
Financial: Returns the price per $100 face value of a security with an odd last period
ODDLYIELD function
Financial: Returns the yield of a security with an odd last period
OFFSET function
Lookup and reference: Returns a reference offset from a given reference
OR function
Logical: Returns TRUE if any argument is TRUE
PDURATION function
Financial: Returns the number of periods required by an investment to reach a specified value
PEARSON function
Statistical: Returns the Pearson product moment correlation coefficient
PERCENTILE.EXC function
Statistical: Returns the k-th percentile of values in a range, where k is in the range 0..1, exclusive
PERCENTILE.INC function
Statistical: Returns the k-th percentile of values in a range
PERCENTILE function
Compatibility: Returns the k-th percentile of values in a range
In Excel 2007, this is a Statistical function.
PERCENTRANK.EXC function
Statistical: Returns the rank of a value in a data set as a percentage (0..1, exclusive) of the data set
PERCENTRANK.INC function
Statistical: Returns the percentage rank of a value in a data set
PERCENTRANK function
Compatibility: Returns the percentage rank of a value in a data set
In Excel 2007, this is a Statistical function.
PERMUT function
Statistical: Returns the number of permutations for a given number of objects
PERMUTATIONA function
Statistical: Returns the number of permutations for a given number of objects (with repetitions) that can be selected from the total objects
PHI function
Statistical: Returns the value of the density function for a standard normal distribution
PHONETIC function
Text: Extracts the phonetic (furigana) characters from a text string
PI function
Math and trigonometry: Returns the value of pi
PMT function
Financial: Returns the periodic payment for an annuity
POISSON.DIST function
Statistical: Returns the Poisson distribution
POISSON function
Compatibility: Returns the Poisson distribution
In Excel 2007, this is a Statistical function.
POWER function
Math and trigonometry: Returns the result of a number raised to a power
PPMT function
Financial: Returns the payment on the principal for an investment for a given period
PRICE function
Financial: Returns the price per $100 face value of a security that pays periodic interest
PRICEDISC function
Financial: Returns the price per $100 face value of a discounted security
PRICEMAT function
Financial: Returns the price per $100 face value of a security that pays interest at maturity
PROB function
Statistical: Returns the probability that values in a range are between two limits
PRODUCT function
Math and trigonometry: Multiplies its arguments
PROPER function
Text: Capitalizes the first letter in each word of a text value
PV function
Financial: Returns the present value of an investment
QUARTILE function
Compatibility: Returns the quartile of a data set
In Excel 2007, this is a Statistical function.
QUARTILE.EXC function
Statistical: Returns the quartile of the data set, based on percentile values from 0..1, exclusive
QUARTILE.INC function
Statistical: Returns the quartile of a data set
QUOTIENT function
Math and trigonometry: Returns the integer portion of a division
RADIANS function
Math and trigonometry: Converts degrees to radians
RAND function
Math and trigonometry: Returns a random number between 0 and 1
RANDARRAY function
Math and trigonometry: Returns an array of random numbers between 0 and 1. However, you can specify the number of rows and columns to fill, minimum and maximum values, and whether to return whole numbers or decimal values.
RANDBETWEEN function
Math and trigonometry: Returns a random number between the numbers you specify
RANK.AVG function
Statistical: Returns the rank of a number in a list of numbers
RANK.EQ function
Statistical: Returns the rank of a number in a list of numbers
RANK function
Compatibility: Returns the rank of a number in a list of numbers
In Excel 2007, this is a Statistical function.
RATE function
Financial: Returns the interest rate per period of an annuity
RECEIVED function
Financial: Returns the amount received at maturity for a fully invested security
REDUCE
Logical: Reduces an array to an accumulated value by applying a LAMBDA to each value and returning the total value in the accumulator
REGISTER.ID function
Add-in and Automation: Returns the register ID of the specified dynamic link library (DLL) or code resource that has been previously registered
REPLACE, REPLACEB functions
Text: Replaces characters within text
REPT function
Text: Repeats text a given number of times
RIGHT, RIGHTB functions
Text: Returns the rightmost characters from a text value
ROMAN function
Math and trigonometry: Converts an arabic numeral to roman, as text
ROUND function
Math and trigonometry: Rounds a number to a specified number of digits
ROUNDDOWN function
Math and trigonometry: Rounds a number down, toward zero
ROUNDUP function
Math and trigonometry: Rounds a number up, away from zero
ROW function
Lookup and reference: Returns the row number of a reference
ROWS function
Lookup and reference: Returns the number of rows in a reference
RRI function
Financial: Returns an equivalent interest rate for the growth of an investment
RSQ function
Statistical: Returns the square of the Pearson product moment correlation coefficient
RTD function
Lookup and reference: Retrieves real-time data from a program that supports COM automation
SCAN
Logical: Scans an array by applying a LAMBDA to each value and returns an array that has each intermediate value
SEARCH, SEARCHB functions
Text: Finds one text value within another (not case-sensitive)
SEC function
Math and trigonometry: Returns the secant of an angle
SECH function
Math and trigonometry: Returns the hyperbolic secant of an angle
SECOND function
Date and time: Converts a serial number to a second
SEQUENCE function
Math and trigonometry: Generates a list of sequential numbers in an array, such as 1, 2, 3, 4
SERIESSUM function
Math and trigonometry: Returns the sum of a power series based on the formula
SHEET function
Information: Returns the sheet number of the referenced sheet
SHEETS function
Information: Returns the number of sheets in a reference
SIGN function
Math and trigonometry: Returns the sign of a number
SIN function
Math and trigonometry: Returns the sine of the given angle
SINH function
Math and trigonometry: Returns the hyperbolic sine of a number
SKEW function
Statistical: Returns the skewness of a distribution
SKEW.P function
Statistical: Returns the skewness of a distribution based on a population: a characterization of the degree of asymmetry of a distribution around its mean
SLN function
Financial: Returns the straight-line depreciation of an asset for one period
SLOPE function
Statistical: Returns the slope of the linear regression line
SMALL function
Statistical: Returns the k-th smallest value in a data set
SORT function
Lookup and reference: Sorts the contents of a range or array
SORTBY function
Lookup and reference: Sorts the contents of a range or array based on the values in a corresponding range or array
SQRT function
Math and trigonometry: Returns a positive square root
SQRTPI function
Math and trigonometry: Returns the square root of (number * pi)
STANDARDIZE function
Statistical: Returns a normalized value
STOCKHISTORY function
Financial: Retrieves historical data about a financial instrument
STDEV function
Compatibility: Estimates standard deviation based on a sample
STDEV.P function
Statistical: Calculates standard deviation based on the entire population
STDEV.S function
Statistical: Estimates standard deviation based on a sample
STDEVA function
Statistical: Estimates standard deviation based on a sample, including numbers, text, and logical values
STDEVP function
Compatibility: Calculates standard deviation based on the entire population
In Excel 2007, this is a Statistical function.
STDEVPA function
Statistical: Calculates standard deviation based on the entire population, including numbers, text, and logical values
STEYX function
Statistical: Returns the standard error of the predicted y-value for each x in the regression
SUBSTITUTE function
Text: Substitutes new text for old text in a text string
SUBTOTAL function
Math and trigonometry: Returns a subtotal in a list or database
SUM function
Math and trigonometry: Adds its arguments
SUMIF function
Math and trigonometry: Adds the cells specified by a given criteria
SUMIFS function
Math and trigonometry: Adds the cells in a range that meet multiple criteria
SUMPRODUCT function
Math and trigonometry: Returns the sum of the products of corresponding array components
SUMSQ function
Math and trigonometry: Returns the sum of the squares of the arguments
SUMX2MY2 function
Math and trigonometry: Returns the sum of the difference of squares of corresponding values in two arrays
SUMX2PY2 function
Math and trigonometry: Returns the sum of the sum of squares of corresponding values in two arrays
SUMXMY2 function
Math and trigonometry: Returns the sum of squares of differences of corresponding values in two arrays
SWITCH function
Logical: Evaluates an expression against a list of values and returns the result corresponding to the first matching value. If there is no match, an optional default value may be returned.
SYD function
Financial: Returns the sum-of-years’ digits depreciation of an asset for a specified period
T function
Text: Converts its arguments to text
TAN function
Math and trigonometry: Returns the tangent of a number
TANH function
Math and trigonometry: Returns the hyperbolic tangent of a number
TAKE
Lookup and reference: Returns a specified number of contiguous rows or columns from the start or end of an array
TBILLEQ function
Financial: Returns the bond-equivalent yield for a Treasury bill
TBILLPRICE function
Financial: Returns the price per $100 face value for a Treasury bill
TBILLYIELD function
Financial: Returns the yield for a Treasury bill
T.DIST function
Statistical: Returns the Percentage Points (probability) for the Student t-distribution
T.DIST.2T function
Statistical: Returns the Percentage Points (probability) for the Student t-distribution
T.DIST.RT function
Statistical: Returns the Student’s t-distribution
TDIST function
Compatibility: Returns the Student’s t-distribution
TEXT function
Text: Formats a number and converts it to text
TEXTAFTER
Text: Returns text that occurs after given character or string
TEXTBEFORE
Text: Returns text that occurs before a given character or string
TEXTJOIN
Text: Combines the text from multiple ranges and/or strings
TEXTSPLIT
Text: Splits text strings by using column and row delimiters
TIME function
Date and time: Returns the serial number of a particular time
TIMEVALUE function
Date and time: Converts a time in the form of text to a serial number
T.INV function
Statistical: Returns the t-value of the Student’s t-distribution as a function of the probability and the degrees of freedom
T.INV.2T function
Statistical: Returns the inverse of the Student’s t-distribution
TINV function
Compatibility: Returns the inverse of the Student’s t-distribution
TOCOL
Lookup and reference: Returns the array in a single column
TOROW
Lookup and reference: Returns the array in a single row
TODAY function
Date and time: Returns the serial number of today’s date
TRANSPOSE function
Lookup and reference: Returns the transpose of an array
TREND function
Statistical: Returns values along a linear trend
TRIM function
Text: Removes spaces from text
TRIMMEAN function
Statistical: Returns the mean of the interior of a data set
TRUE function
Logical: Returns the logical value TRUE
TRUNC function
Math and trigonometry: Truncates a number to an integer
T.TEST function
Statistical: Returns the probability associated with a Student’s t-test
TTEST function
Compatibility: Returns the probability associated with a Student’s t-test
In Excel 2007, this is a Statistical function.
TYPE function
Information: Returns a number indicating the data type of a value
UNICHAR function
Text: Returns the Unicode character that is references by the given numeric value
UNICODE function
Text: Returns the number (code point) that corresponds to the first character of the text
UNIQUE function
Lookup and reference: Returns a list of unique values in a list or range
UPPER function
Text: Converts text to uppercase
VALUE function
Text: Converts a text argument to a number
VALUETOTEXT
Text: Returns text from any specified value
VAR function
Compatibility: Estimates variance based on a sample
In Excel 2007, this is a Statistical function.
VAR.P function
Statistical: Calculates variance based on the entire population
VAR.S function
Statistical: Estimates variance based on a sample
VARA function
Statistical: Estimates variance based on a sample, including numbers, text, and logical values
VARP function
Compatibility: Calculates variance based on the entire population
In Excel 2007, this is a Statistical function.
VARPA function
Statistical: Calculates variance based on the entire population, including numbers, text, and logical values
VDB function
Financial: Returns the depreciation of an asset for a specified or partial period by using a declining balance method
VLOOKUP function
Lookup and reference: Looks in the first column of an array and moves across the row to return the value of a cell
VSTACK
Look and reference: Appends arrays vertically and in sequence to return a larger array
WEBSERVICE function
Web: Returns data from a web service.
This function is not available in Excel for the web.
WEEKDAY function
Date and time: Converts a serial number to a day of the week
WEEKNUM function
Date and time: Converts a serial number to a number representing where the week falls numerically with a year
WEIBULL function
Compatibility: Calculates variance based on the entire population, including numbers, text, and logical values
In Excel 2007, this is a Statistical function.
WEIBULL.DIST function
Statistical: Returns the Weibull distribution
WORKDAY function
Date and time: Returns the serial number of the date before or after a specified number of workdays
WORKDAY.INTL function
Date and time: Returns the serial number of the date before or after a specified number of workdays using parameters to indicate which and how many days are weekend days
WRAPCOLS
Look and reference: Wraps the provided row or column of values by columns after a specified number of elements
WRAPROWS
Look and reference: Wraps the provided row or column of values by rows after a specified number of elements
XIRR function
Financial: Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic
XLOOKUP function
Lookup and reference: Searches a range or an array, and returns an item corresponding to the first match it finds. If a match doesn’t exist, then XLOOKUP can return the closest (approximate) match.
XMATCH function
Lookup and reference: Returns the relative position of an item in an array or range of cells.
XNPV function
Financial: Returns the net present value for a schedule of cash flows that is not necessarily periodic
XOR function
Logical: Returns a logical exclusive OR of all arguments
YEAR function
Date and time: Converts a serial number to a year
YEARFRAC function
Date and time: Returns the year fraction representing the number of whole days between start_date and end_date
YIELD function
Financial: Returns the yield on a security that pays periodic interest
YIELDDISC function
Financial: Returns the annual yield for a discounted security; for example, a Treasury bill
YIELDMAT function
Financial: Returns the annual yield of a security that pays interest at maturity
Z.TEST function
Statistical: Returns the one-tailed probability-value of a z-test
ZTEST function
Compatibility: Returns the one-tailed probability-value of a z-test
In Excel 2007, this is a Statistical function.
Содержание
- Excel 2007 —
- Working with Basic Functions
- Excel 2007: Working with Basic Functions
- Lesson 9: Working with Basic Functions
- Introduction
- Basic functions
- The parts of a function:
- Excel’s different functions
- Statistical functions:
- Financial functions:
- Date and time functions:
- To calculate the sum of a range of data using AutoSum:
- To edit a function:
- To calculate the sum of two arguments:
- To calculate the average of a range of data:
- Accessing Excel 2007 functions
- To access other functions in Excel:
- Challenge!
- Формулы и функции в Excel 2007
Excel 2007 —
Working with Basic Functions
Excel 2007: Working with Basic Functions
Lesson 9: Working with Basic Functions
Introduction
A function is a predefined formula that performs calculations using specific values in a particular order. While you may think of formulas as being short mathematical equations, like 2+2 or F2*C2, they can actually be very lengthy and involve complex mathematical calculations.
One of the key benefits of functions is that they can save you time because you do not have to write the formula yourself. For example, you could use an Excel function called Average to quickly find the average of a range of numbers or the Sum function to find the sum of a cell range.
In this lesson, you will learn how to use basic functions such as SUM and AVERAGE, use functions with more than one argument, and access other Excel 2007 functions.
Basic functions
Download the example to work along with the video.
The parts of a function:
Each function has a specific order, called syntax, which must be strictly followed for the function to work correctly.
- All functions begin with the = sign.
- After the = sign, define the function name (e.g., Sum).
- Then there will be an argument. An argument is the cell range or cell references that are enclosed by parentheses. If there is more than one argument, separate each by a comma.
An example of a function with one argument that adds a range of cells, A3 through A9:
An example of a function with more than one argument that calculates the sum of two cell ranges:
Excel literally has hundreds of different functions to assist with your calculations. Building formulas can be difficult and time consuming. Excel’s functions can save you a lot of time and headaches.
Excel’s different functions
There are many different functions in Excel 2007. Some of the more common functions include:
Statistical functions:
- SUM: Adds a range of cells together
- AVERAGE: Calculates the average of a range of cells
- COUNT: Counts the number of chosen data in a range of cells
- MAX: Identifies the largest number in a range of cells
- MIN: Identifies the smallest number in a range of cells
Financial functions:
- Interest rates
- Loan payments
- Depreciation amounts
Date and time functions:
- DATE: Converts a serial number to a day of the month
- Day of Week
- DAYS360: Calculates the number of days between two dates based on a 360-day year
- TIME: Returns the serial number of a particular time
- HOUR: Converts a serial number to an hour
- MINUTE: Converts a serial number to a minute
- TODAY: Returns the serial number of today’s date
- MONTH: Converts a serial number to a month
- YEAR: Converts a serial number to a year
You don’t have to memorize the functions, but you should have an idea of what each can do for you.
To calculate the sum of a range of data using AutoSum:
- Select the Formulas tab.
- Locate the Function Library group. From here, you can access all available functions.
- Select the cell where you want the function to appear. In this example, select G42.
- Select the drop-down arrow next to the AutoSum command.
- Select Sum. A formula will appear in the selected cell, G42.
- This formula, =SUM(G2:G41), is called a function. The AutoSum command automatically selects the range of cells from G2 to G41, based on where you inserted the function. You can alter the cell range if necessary.
- Press the Enter key or Enter button on the formula bar. The total will appear.
Excel will not always tell you if your formula contains an error, so it’s up to you to check all of your formulas. To learn how to do this, read the Double-Check Your Formulas lesson from our Excel Formulas tutorial.
To edit a function:
- Select the cell where the function is defined.
- Insert the cursor in the formula bar.
- Edit the range by deleting and changing necessary cell numbers.
- Click the Enter icon.
To calculate the sum of two arguments:
- Select the cell where you want the function to appear—in this example, G44.
- Click the Insert Function command on the Formulas tab. A dialog box appears.
- SUM is selected by default.
- Click OK, and the Function Arguments dialog box appears so you can enter the range of cells for the function.
- Insert the cursor in the Number 1 field.
- In the spreadsheet, select the first range of cells—in this example, G21 through G26. The argument appears in the Number 1 field.
- To select the cells, left-click cell G21 and drag the cursor to G26, then release the mouse button.
- Insert the cursor in the Number 2 field.
- In the spreadsheet, select the second range of cells—in this example, G40 through G41. The argument appears in the Number 2 field.
- Notice that both arguments appear in the function in cell G44 and the formula bar when G44 is selected.
- Click OK in the dialog box, and the sum of the two ranges is calculated.
To calculate the average of a range of data:
- Select the cell where you want the function to appear.
- Click the drop-down arrow next to the AutoSum command.
- Select Average.
- Click on the first cell (in this example, C8) to be included in the formula.
- Left-click and drag the mouse to define a cell range (C8 through cell C20, in this example).
- Click the Enter icon to calculate the average.
Accessing Excel 2007 functions
To access other functions in Excel:
- Using the point-click-drag method, select a cell range to be included in the formula.
- On the Formulas tab, click the drop-down part of the AutoSum button.
- If you don’t see the function you want to use (Sum, Average, Count, Max, Min), display additional functions by selecting More Functions.
- The Insert Function dialog box opens.
- There are three ways to locate a function in the Insert Function dialog box:
- You can type a question in the Search for a function box and click GO.
- You can scroll through the alphabetical list of functions in the Select a function field.
- You can select a function category in the Select a category drop-down list and review the corresponding function names in the Select a function field.
- Select the function you want to use, then click the OK button.
If you’re comfortable with basic functions, you may want to try a more advanced one like VLOOKUP. You can check out our article on How to Use Excel’s VLOOKUP Function for more information. If you want to learn even more about functions, check out our Excel Formulas tutorial.
Challenge!
Use the Inventory workbook or any workbook you choose to complete this challenge.
- Use a SUM function to calculate the sum of one argument.
- Use the AVERAGE function to calculate the sum of a range of cells.
- Explore other Excel 2007 functions covered in this lesson.
Источник
Формулы и функции в Excel 2007
Одним из основных достоинств электронной таблицы Excel является наличие мощного аппарата формул и функций. Любая обработка данных в Excel осуществляется при помощи этого аппарата. Можно складывать, умножать, делить числа, извлекать квадратные корни, вычислять синусы и косинусы, логарифмы и экспоненты. Помимо чисто вычислительных действий с отдельными числами в Excel имеется возможность обрабатывать отдельные строки или столбцы таблицы, а также целые блоки ячеек, в частности находить среднее арифметическое, максимальное и минимальное значения, среднеквадратичное отклонение, наиболее вероятное значение, доверительный интервал и др.
Формулой в Excel называется последовательность символов, начинающаяся со знака равенства «=», в которую могут входить постоянные значения, ссылки на ячейки, имена, функции или операторы. Без этого знака все введенные символы рассматриваются как текст или число, если они образуют правильное числовое значение.
Формула может содержать не более 1024 символов. Структуру и порядок элементов в формуле определяет ее синтаксис.
Результатом работы формулы является новое значение, получаемое по уже имеющимся данным. Если значения в ячейках, на которые есть ссылки в формулах, меняются, то результат изменяется автоматически.
Формулы содержат вычисляемые элементы (операнды) и операторы. Операндами могут быть константы, ссылки или диапазоны ссылок, заголовки, имена, функции.
В Excel 2007 включено четыре вида операторов: арифметические, текстовые, операторы сравнения, адресные операторы.
К арифметическим операторам относятся: +, -, *, /, %, ^.
Операторы сравнения используются для обозначения операций сравнения двух чисел. К операторам сравнения относятся: =, >, =, . Логические формулы могут содержать указанные операторы сравнения, а также специальные логические операторы:
#NOT# — логическое отрицание «НЕ»
#AND#- логическое «И»
#OR# — логическое «ИЛИ».
Логические формулы определяют истинно или ложно выражение.
Адресные операторы объединяют диапазоны ячеек для осуществления вычислений.
Приоритет выполнения операций:
1) операторы ссылок (адресные) «:», «,», « »;
2) знаковый минус «-»;
3) вычисление процента %;
5) текстовые операторы &;
6) операторы сравнений =, , =, <>.
После ввода формулы в ячейку рабочего листа на экране в окне рабочего листа в ячейку выводится результат вычисления.
Ссылка является идентификатором ячейки или группы ячеек в книге. При создании формул, содержащих ссылки на ячейки, формула связывается с ячейками книги. Значение формулы зависит от содержимого ячеек, которые указывают ссылки, и оно изменятся при измении содержимого этих ячеек. С помощью ссылок в формулах можно ссылаться на те же ячейки, находящиеся на других листах книги, или в другой книге, и даже на данные другого приложения. Ссылки на ячейки других книг называются внешними. Ссылки на данные других приложений называются удаленными.
В Excel 2007 существуют три типа ссылок; относительные, абсолютные, смешанные.
Относительная ссылка указывает на ячейку, основываясь на ее положении относительно ячейки, в которой находится формула. При перемещении формулы относительная ссылка изменяется, ориентируясь на ту позицию, в которую переносится формула. Например, если в клетке С1 записана формула =А1+В1,то при копировании ее в клетку С1 формула будет иметь следующие относительные ссылки =А2+В2; при копировании в D1 — =В1+С1.
Абсолютными являются ссылки на ячейки, имеющие фиксированное расположение на листе. Эти ссылки не изменяются при копировании формул. Абсолютная ссылка содержит знак $ перед именем столбца и именем строки.
Смешанные ссылки — это ссылки, являющиеся комбинацией относительных и абсолютных ссылок. Например, фиксированный столбец и относительная строка 5D7.
Ссылки на ячейки других листов книги имеют следующий формат: [имя книги] !ссылка на ячейку, например:[книга2]Лист 3!Е5:Е15.
Вычисление — это процесс расчета формул с последующим выводом результатов в виде значений в ячейках, содержащих формулы. При изменении значений в ячейках, на которые ссылаются формулы, значения формул обновляются (т.е. происходит повторное вычисление). Этот процесс называется перерасчетом. Он затрагивает только те ячейки, которые содержат ссылки на изменившиеся ячейки.
Циклическая ссылка — это формула, которая зависит от своего собственного значения. При обнаружении циклической ссылки Еxcel 2007 выдает сообщение об ошибке.
Трехмерные ссылки используются для анализа данных из одной и той же ячейки или диапазона ячеек на нескольких листах одной книги. Трехмерная ссылка включает в себя ссылку на ячейку или диапазон, перед которой ставятся имена листов. В Microsoft Excel 2007 используют все листы, помещенные между начальным и конечным именами, указанные в ссылке.
Функция — это специальная, заранее подготовленная формула, которая заполняет операции над заданными значениями и возвращает результат. Значения, над которыми функция выполняет операции, используются аргументами. В качестве аргументов могут выступать числа, текст, логические значения, ссылки. Аргументы могут быть представлены константами или формулами. Формулы в свою очередь могут содержать другие функции, т.е. аргументы могут быть представлены функциями. Функция, которая используется в качестве аргумента, является вложенной функцией. Excel 2007 допускает до семи уровней вложения функций в одной формуле.
В общем виде любая функция может быть записана в виде: = (аргументы).
Для ввода функций модно использовать Мастер функций, вызываемый нажатием на кнопку Вставка функции fx (в строке формул), либо нажатием клавиши SHIFT+F3, либо перейти на вкладку Формулы, выбрать нужную категорию. Мастер функций позволяет выбрать нужную функцию из списка и выводит для нее панель формул. На панели формул отображаются имя и описание функций, количество и тип аргументов, возвращаемое значение. Далее выбрать необходимую функцию в поле Поиск функции.
Можно ввести запрос с описанием операции, которую требуется выполнить, (например, по словам «сложение чисел» будет найдена функция СУММ). Кроме того, можно выбрать категорию в поле Категория. После этого надо ввести аргументы. Для ввода в качестве аргументов ссылок на ячейки надо нажать кнопку свертывания диалогового окна (которая временно скрывает диалоговое окно), выделить ячейки на листе и нажать кнопку Развертывание диалогового окна. По завершении ввода формулы надо нажать клавишу ВВОД.
Excel 2007 содержит широкий набор функций, позволяющих выполнять стандартные вычисления. Виды функций перечислены ниже:
1) арифметические и тригонометрические;
2) инженерные, предназначенные для выполнения инженерного анализа (функции для работы с комплексными переменными; преобразования чисел из одной системы счисления в другую; преобразование величин из одной системы мер в другую);
3) информационные, предназначенные для определения типа данных, хранимых в ячейках;
4) логические, предназначенные для проверки выполнения условия или нескольких условий (ЕСЛИ, И, ИЛИ, ИСТИНА, ЛОЖЬ);
5) статистические, предназначенные для выполнения статистического анализа данных;
6) финансовые, предназначенные для осуществления типичных финансовых расчетов, таких как вычисление суммы платежа по ссуде, объема периодической выплаты по вложению или ссуде, стоимости вложения или ссуды по завершении всех платежей;
7) функции без данных, предназначенные для анализа данных из списков или базы данных;
текстовые функции, предназначенные для обработки текста (преобразование, сравнение, сцепление строк текста и т.д.);
9) функции работы с датой и временем. Они позволяют анализировать и работать со значениями даты и времени в формулах;
10) нестандартные функции. Это функции, созданные пользователем для собственных нужд.
Создание функций осуществляется с помощью языка Visual Basik.
Если при наборе формулы были допущены ошибки, то в ячейку будет выведено значение ошибки. В Excel 2007 определено семь ошибочных значений:
1. #ДЕЛ/0! — попытка деления на ноль. Эта ошибка обычно возникает, если в формуле делитель ссылается на пустую ячейку.
2. #ИМЯ? — в формуле используется имя, отсутствующее в списке имен диалога Присвоение имени. Excel 2007 также вводит это ошибочное значение в том случае, когда строка символов не заключена в двойные кавычки.
3. #ЗНАЧ! — выводится при указании аргумента или операнда недопустимого типа, например, введена математическая формула, которая ссылается на текстовое значение, а также в том случае, когда Excel 2007 не может исправить формулу средствами автоисправления.
4. #ССЫЛКА! — отсутствует диапазон ячеек, на который ссылается формула (возможно, он удален).
5. #Н/Д — нет данных для вычислений. Аргумент функции или операнд формулы является ссылкой на ячейку, не содержащую данных. Любая формула, которая ссылается на ячейки, содержащие #Н/Д, возвращает значение #Н/Д.
6. #ЧИСЛО! — задан неправильный аргумент функции, например, v(-5). #ЧИСЛО!, может также указывать на то, что значение формулы слишком велико или слишком мало и не может быть представлено на листе.
7. #ПУСТО! — в формуле указано перечисление диапазонов, но эти диапазоны не имеют общих ячеек.
Вложенные функции — это функции, в качестве одного из аргументов которых заданы другие функции. В формулу можно вложить до 64 функций.
Одну и ту же формулу можно быстро ввести в диапазон ячеек. Надо выделить нужный диапазон, ввести формулу, а затем нажать сочетание клавиш CTRL-ВВОД.
Для упрощения создания и изменения формул, а также для снижения необходимости ввода формул вручную и возникновения синтаксических ошибок рекомендуется использовать возможность автозавершения формул.
После ввода знака равенства (=) и начальных букв (начальные буквы играют роль триггеров отображения) приложение Excel 2007 снизу ячейки выводит динамический список допустимых функций и имен. После ввода в формулу функции или имени с помощью триггера вставки (нажатие клавиши ТАВ или двойного щелчка элемента в списке) Excel 2007 выводит соответствующие аргументы.
Списки в Excel 2007
Списком в Excel является таблица, строки которой содержат однородную информацию. Список состоит из трех структурных элементов:
1) заглавная строка — это первая строка списка, состоящая из заголовков столбцов. Заголовки столбцов — это метки (названия)соответствующих полей;
2) запись — совокупность компонентов, составляющих описание конкретного элемента (строка таблицы)
3) поля — отдельные компоненты данных в записи (ячейки в столбце).
Существуют правила создания списка, которых необходимо придерживаться при его формировании, чтобы иметь возможность использовать так называемые функции списка.
1. Рабочий лист должен содержать только один список, т.к. некоторые операции, например, фильтрование, могут работать только с одним списком.
2. Если на рабочем листе кроме списка необходимо хранить и другие данные, список необходимо отделить пустой строкой и пустым столбцом. Причем лучше не размещать другие данные слева и справа от списка, иначе они могут быть скрыты во время фильтрации списка.
3. Заглавную строку лучше дополнительно отформатировать, чтобы выделить среди строк списка (использовать форматы, отличные от тех, которые применены к данным списка).
4. Метки столбцов могут содержать до 255 символов.
5. Не следует отделять заглавную строку от записи пустыми строками или строкой, содержащей линию из символов «дефис».
6. Список должен быть составлен так, чтобы столбец содержал во всех строках однотипные значения.
7. При вводе значения поля нельзя вставлять ведущие пробелы, это может привести к проблемам при поиске и сортировке.
8. В списках можно использовать формулы. Списки могут обрабатываться, как обычные таблицы.
Значительно упростить работу с записями списка позволяет Форма. Использование формы данных позволяет:
1. Добавить записи в список.
2. Организовать поиск записей в списке.
3. Редактировать данные записи.
4. Удалять записи из списка.
Сортировка списков — это переупорядочивание одного или более столбцов. Для того, чтобы выполнить сортировку надо выбрать столбец с данными в диапазоне ячеек или убедиться, что активная ячейка находится в столбце таблицы, который содержит алфавитно-цифровые данные. На вкладке Главная в группе Редактирование надо выбрать пункт Сортировка и Фильтр.
Для сортировки в определенном пользователем порядке можно использовать пользовательские списки. В Excel 2007 предоставляются встроенные пользовательские списки дней недели и месяцев года, однако также могут создаваться собственные пользовательские списки. Для этого надо нажать кнопку Microsoft Office, нажать кнопку Параметры Excel, выбрать категорию Основные, а затем в группе Основные параметры работы с Excel нажать кнопку Изменить списки. В диалоговом окне Списки нажать кнопку Импорт, а затем дважды нажать кнопку ОК. Затем на вкладке Начальная страница, а выбрать в списке пункт Специальная сортировка. Отобразится диалоговое окно Сортировка. В группе Столбец и поле Сортировать по или Затем по надо указать столбец для сортировки по настраиваемую списку. В поле Порядок выбрать пункт Настраиваемый список. Выбрать необходимый список в диалоговом окне Списки и нажать кнопку ОК.
Фильтрация — это быстрый способ выделения из списка подмножества данных для последующей работы с ними. В результате фильтрации на экран выводятся те строки списка, которые либо содержат определенные значения, либо удовлетворяют некоторому набору условий поиска, так называемому критерию. Остальные записи скрываются и не участвуют в работе до отмены фильтра.
Выделенное подмножество списка можно редактировать, форматировать, печатать, использовать для построения диаграмм.
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим.
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.
Источник
Lesson 9: Working with Basic Functions
/en/excel2007/creating-complex-formulas/content/
Introduction
A function is a predefined formula that performs calculations using specific values in a particular order. While you may think of formulas as being short mathematical equations, like 2+2 or F2*C2, they can actually be very lengthy and involve complex mathematical calculations.
One of the key benefits of functions is that they can save you time because you do not have to write the formula yourself. For example, you could use an Excel function called Average to quickly find the average of a range of numbers or the Sum function to find the sum of a cell range.
In this lesson, you will learn how to use basic functions such as SUM and AVERAGE, use functions with more than one argument, and access other Excel 2007 functions.
Basic functions
Download the example to work along with the video.
The parts of a function:
Each function has a specific order, called syntax, which must be strictly followed for the function to work correctly.
Syntax order:
- All functions begin with the = sign.
- After the = sign, define the function name (e.g., Sum).
- Then there will be an argument. An argument is the cell range or cell references that are enclosed by parentheses. If there is more than one argument, separate each by a comma.
An example of a function with one argument that adds a range of cells, A3 through A9:
An example of a function with more than one argument that calculates the sum of two cell ranges:
Excel literally has hundreds of different functions to assist with your calculations. Building formulas can be difficult and time consuming. Excel’s functions can save you a lot of time and headaches.
Excel’s different functions
There are many different functions in Excel 2007. Some of the more common functions include:
Statistical functions:
- SUM: Adds a range of cells together
- AVERAGE: Calculates the average of a range of cells
- COUNT: Counts the number of chosen data in a range of cells
- MAX: Identifies the largest number in a range of cells
- MIN: Identifies the smallest number in a range of cells
Financial functions:
- Interest rates
- Loan payments
- Depreciation amounts
Date and time functions:
- DATE: Converts a serial number to a day of the month
- Day of Week
- DAYS360: Calculates the number of days between two dates based on a 360-day year
- TIME: Returns the serial number of a particular time
- HOUR: Converts a serial number to an hour
- MINUTE: Converts a serial number to a minute
- TODAY: Returns the serial number of today’s date
- MONTH: Converts a serial number to a month
- YEAR: Converts a serial number to a year
You don’t have to memorize the functions, but you should have an idea of what each can do for you.
To calculate the sum of a range of data using AutoSum:
- Select the Formulas tab.
- Locate the Function Library group. From here, you can access all available functions.
- Select the cell where you want the function to appear. In this example, select G42.
- Select the drop-down arrow next to the AutoSum command.
- Select Sum. A formula will appear in the selected cell, G42.
- This formula, =SUM(G2:G41), is called a function. The AutoSum command automatically selects the range of cells from G2 to G41, based on where you inserted the function. You can alter the cell range if necessary.
- Press the Enter key or Enter button on the formula bar. The total will appear.
Excel will not always tell you if your formula contains an error, so it’s up to you to check all of your formulas. To learn how to do this, read the Double-Check Your Formulas lesson from our Excel Formulas tutorial.
To edit a function:
- Select the cell where the function is defined.
- Insert the cursor in the formula bar.
- Edit the range by deleting and changing necessary cell numbers.
- Click the Enter icon.
To calculate the sum of two arguments:
- Select the cell where you want the function to appear—in this example, G44.
- Click the Insert Function command on the Formulas tab. A dialog box appears.
- SUM is selected by default.
- Click OK, and the Function Arguments dialog box appears so you can enter the range of cells for the function.
- Insert the cursor in the Number 1 field.
- In the spreadsheet, select the first range of cells—in this example, G21 through G26. The argument appears in the Number 1 field.
- To select the cells, left-click cell G21 and drag the cursor to G26, then release the mouse button.
- Insert the cursor in the Number 2 field.
- In the spreadsheet, select the second range of cells—in this example, G40 through G41. The argument appears in the Number 2 field.
- Notice that both arguments appear in the function in cell G44 and the formula bar when G44 is selected.
- Click OK in the dialog box, and the sum of the two ranges is calculated.
To calculate the average of a range of data:
- Select the cell where you want the function to appear.
- Click the drop-down arrow next to the AutoSum command.
- Select Average.
- Click on the first cell (in this example, C8) to be included in the formula.
- Left-click and drag the mouse to define a cell range (C8 through cell C20, in this example).
- Click the Enter icon to calculate the average.
Accessing Excel 2007 functions
To access other functions in Excel:
- Using the point-click-drag method, select a cell range to be included in the formula.
- On the Formulas tab, click the drop-down part of the AutoSum button.
- If you don’t see the function you want to use (Sum, Average, Count, Max, Min), display additional functions by selecting More Functions.
- The Insert Function dialog box opens.
- There are three ways to locate a function in the Insert Function dialog box:
- You can type a question in the Search for a function box and click GO.
- You can scroll through the alphabetical list of functions in the Select a function field.
- You can select a function category in the Select a category drop-down list and review the corresponding function names in the Select a function field.
- Select the function you want to use, then click the OK button.
If you’re comfortable with basic functions, you may want to try a more advanced one like VLOOKUP. You can check out our article on How to Use Excel’s VLOOKUP Function for more information. If you want to learn even more about functions, check out our Excel Formulas tutorial.
Challenge!
Use the Inventory workbook or any workbook you choose to complete this challenge.
- Use a SUM function to calculate the sum of one argument.
- Use the AVERAGE function to calculate the sum of a range of cells.
- Explore other Excel 2007 functions covered in this lesson.
/en/excel2007/sorting-grouping-and-filtering-cells/content/
Skip to content
В решении многих задач обычные функции Excel не всегда могут помочь. Если существующих функций недостаточно, Excel позволяет добавить новые настраиваемые пользовательские функции (UDF). Они делают вашу работу легче.
Мы расскажем, как можно их создать, какие они бывают и как использовать их, чтобы ваша работа стала проще. Узнайте, как записать и использовать пользовательские функции, которые многие называют макросами..
- Что такое пользовательская функция
- Для чего ее используют?
- Как создать пользовательскую функцию в VBA?
- Как использовать пользовательскую функцию в формуле?
- Какие бывают типы пользовательских функций
Что такое пользовательская функция в Excel?
На момент написания этой статьи Excel предлагает вам более 450 различных функций. С их помощью вы можете выполнять множество различных операций. Но разработчики Microsoft Excel не могли предвидеть все задачи, которые нам нужно решать. Думаю, что многие из вас встречались с этими проблемами:
- не все данные могут быть обработаны стандартными функциями (например, даты до 1900 года).
- формулы могут быть весьма длинными и сложными. Их невозможно запомнить, трудно понять и сложно изменить для решения новой задачи.
- Не все задачи могут быть решены при помощи стандартных функций Excel (в частности, нельзя извлечь интернет-адрес из гиперссылки).
- Невозможно автоматизировать часто повторяющиеся стандартные операции (импорт данных из бухгалтерской программы на лист Excel, форматирование дат и чисел, удаление лишних колонок).
Как можно решить эти проблемы?
- Для очень сложных формул многие пользователи создают архив рабочих книг с примерами. Они копируют оттуда нужную формулу и применяют ее в своей таблице.
- Создание макросов VBA.
- Создание пользовательских функций при помощи редактора VBA.
Хотя первые два варианта кажутся вам знакомыми, третий может вызвать некоторую путаницу. Итак, давайте подробнее рассмотрим настраиваемые функции в Excel и решим, стоит ли их использовать.
Пользовательская функция – это настраиваемый код, который принимает исходные данные, производит вычисление и возвращает желаемый результат.
Исходными данными могут быть числа, текст, даты, логические значения, массивы. Результатом вычислений может быть значение любого типа, с которым работает Excel, или массив таких значений.
Другими словами, пользовательская функция – это своего рода модернизация стандартных функций Excel. Вы можете использовать ее, когда возможностей обычных функций недостаточно. Основное ее назначение – дополнить и расширить возможности Excel, выполнить действия, которые невозможны со стандартными возможностями.
Существует несколько способов создания собственных функций:
- при помощи Visual Basic for Applications (VBA). Этот способ описывается в данной статье.
- с использованием замечательной функции LAMBDA, которая появилась в Office365.
- при помощи Office Scripts. На момент написания этой статьи они доступны в Excel Online в подписке на Office365.
Посмотрите на скриншот ниже, чтобы увидеть разницу между двумя способами извлечения чисел — с использованием формулы и пользовательской функции ExtractNumber().
Даже если вы сохранили эту огромную формулу в своем архиве, вам нужно ее найти, скопировать и вставить, а затем аккуратно поправить все ссылки на ячейки. Согласитесь, это потребует затрат времени, да и ошибки не исключены.
А на ввод функции вы потратите всего несколько секунд.
Для чего можно использовать?
Вы можете использовать настраиваемую функцию одним из следующих способов:
- В формуле, где она может брать исходные данные из вашего рабочего листа и возвращать рассчитанное значение или массив значений.
- Как часть кода макроса VBA или другой пользовательской функции.
- В формулах условного форматирования.
- Для хранения констант и списков данных.
Для чего нельзя использовать пользовательские функции:
- Любого изменения другой ячейки, кроме той, в которую она записана,
- Изменения имени рабочего листа,
- Копирования листов рабочей книги,
- Поиска и замены значений,
- Изменения форматирования ячейки, шрифта, фона, границ, включения и отключения линий сетки,
- Вызова и выполнения макроса VBA, если его выполнение нарушит перечисленные выше ограничения. Если вы используете строку кода, который не может быть выполнен, вы можете получить ошибку RUNTIME ERROR либо просто одну из стандартных ошибок (например, #ЗНАЧЕН!).
Как создать пользовательскую функцию в VBA?
Прежде всего, необходимо открыть редактор Visual Basic (сокращенно — VBE). Обратите внимание, что он открывается в новом окне. Окно Excel при этом не закрывается.
Самый простой способ открыть VBE — использовать комбинацию клавиш. Это быстро и всегда доступно. Нет необходимости настраивать ленту или панель инструментов быстрого доступа. Нажмите Alt + F11
на клавиатуре, чтобы открыть VBE. И снова нажмите Alt + F11
, когда редактор открыт, чтобы вернуться назад в окно Excel.
После открытия VBE вам нужно добавить новый модуль. В него вы будете записывать ваш код. Щелкните правой кнопкой мыши на панели проекта VBA слева и выберите «Insert», затем появившемся справа окне — “Module”.
Справа появится пустое окно модуля, в котором вы и будете создавать свою функцию.
Прежде чем начать, напомним правила, по которым создается функция.
- Пользовательская функция всегда начинается с оператора Function и заканчивается инструкцией End Function.
- После оператора Function указывают имя функции. Это название, которое вы создаете и присваиваете, чтобы вы могли идентифицировать и использовать ее позже. Оно не должно содержать пробелов. Если вы хотите разделять слова, используйте подчеркивания. Например, Count_Words.
- Кроме того, это имя также не может совпадать с именами стандартных функций Excel. Если вы сделаете это, то всегда будет выполняться стандартная функция.
- Имя пользовательской функции не может совпадать с адресами ячеек на листе. Например, имя ABC1234 невозможно присвоить.
- Настоятельно рекомендуется давать описательные имена. Тогда вы можете легко выбрать нужное из длинного списка функций. Например, имя CountWords позволяет легко понять, что она делает, и при необходимости применить ее для подсчета слов.
- Далее в скобках обычно перечисляют аргументы. Это те данные, с которыми она будет работать. Может быть один или несколько аргументов. Если у вас несколько аргументов, их нужно перечислить через запятую.
- После этого обычно объявляются переменные, которые использует пользовательская функция. Указывается тип этих переменных – число, дата, текст, массив.
- Если операторы, которые вы используете внутри вашей функции, не используют никакие аргументы (например, NOW (СЕЙЧАС), TODAY (СЕГОДНЯ) или RAND (СЛЧИС)), то вы можете создать функцию без аргументов. Также аргументы не нужны, если вы используете функцию для хранения констант (например, числа Пи).
- Затем записывают несколько операторов VBA, которые выполняют вычисления с использованием переданных аргументов.
- В конце вы должны вставить оператор, который присваивает итоговое значение переменной с тем же именем, что и имя функции. Это значение возвращается в формулу, из которой была вызвана пользовательская функция.
- Записанный вами код может включать комментарии. Они помогут вам не забыть назначение функции и отдельных ее операторов. Если вы в будущем захотите внести какие-то изменения, комментарии будут вам очень полезны. Комментарий всегда начинается с апострофа (‘). Апостроф указывает Excel игнорировать всё, что записано после него, и до конца строки.
Теперь давайте попробуем создать вашу первую собственную формулу. Для начала мы создаем код, который будет подсчитывать количество слов в диапазоне ячеек.
Для этого в окно модуля вставим этот код:
Function CountWords(NumRange As Range) As Long
Dim rCell As Range, lCount As Long
For Each rCell In NumRange
lCount = lCount + _
Len(WorksheetFunction.Trim(rCell)) - Len(Replace(WorksheetFunction.Trim(rCell), " ", "")) + 1
Next rCell
CountWords = lCount
End Function
Я думаю, здесь могут потребоваться некоторые пояснения.
Код функции всегда начинается с пользовательской процедуры Function. В процедуре Function мы делаем описание новой функции.
В начале мы должны записать ее имя: CountWords.
Затем в скобках указываем, какие исходные данные она будет использовать. NumRange As Range означает, что аргументом будет диапазон значений. Сюда нужно передать только один аргумент — диапазон ячеек, в котором будет происходить подсчёт.
As Long указывает, что результат выполнения функции CountWords будет целым числом.
Во второй строке кода мы объявляем переменные.
Оператор Dim объявляет переменные:
rCell — переменная диапазона ячеек, в котором мы будем подсчитывать слова.
lCount — переменная целое число, в которой будет записано число слов.
Цикл For Each… Next предназначен для выполнения вычислений по отношению к каждому элементу из группы элементов (нашего диапазона ячеек). Этот оператор цикла применяется, когда неизвестно количество элементов в группе. Начинаем с первого элемента, затем берем следующий и так повторяем до самого последнего значения. Цикл повторяется столько раз, сколько ячеек имеется во входном диапазоне.
Внутри этого цикла с значением каждой ячейки выполняется операция, которая вычисляет количество слов:
Len(WorksheetFunction.Trim(rCell)) — Len(Replace(WorksheetFunction.Trim(rCell), » «, «»)) + 1
Как видите, это обычная формула Excel, которая использует стандартные средства работы с текстом: LEN, TRIM и REPLACE. Это английские названия знакомых нам русскоязычных ДЛСТР, СЖПРОБЕЛЫ и ЗАМЕНИТЬ. Вместо адреса ячейки рабочего листа используем переменную диапазона rCell. То есть, для каждой ячейки диапазона мы последовательно считаем количество слов в ней.
Подсчитанные числа суммируются и сохраняются в переменной lCount:
lCount = lCount + Len(WorksheetFunction.Trim(rCell)) — Len(Replace(WorksheetFunction.Trim(rCell), » «, «»)) + 1
Когда цикл будет завершен, значение переменной присваивается функции.
CountWords = lCount
Функция возвращает в ячейку рабочего листа значение этой переменной, то есть общее количество слов.
Именно эта строка кода гарантирует, что функция вернет значение lCount обратно в ячейку, из которой она была вызвана.
Закрываем наш код с помощью «End Function».
Как видите, не очень сложно.
Сохраните вашу работу. Для этого просто нажмите кнопку “Save” на ленте VB редактора.
После этого вы можете закрыть окно редактора. Для этого можно использовать комбинацию клавиш Alt+Q
. Или просто вернитесь на лист Excel, нажав Alt+F11
.
Вы можете сравнить работу с пользовательской функцией CountWords и подсчет количества слов в диапазоне при помощи формул.
Как использовать пользовательскую функцию в формуле?
Когда вы создали пользовательскую, она становится доступной так же, как и другие стандартные функции Excel. Сейчас мы узнаем, как создавать с ее помощью собственные формулы.
Чтобы использовать ее, у вас есть две возможности.
Первый способ. Нажмите кнопку fx
в строке формул. Среди появившихся категорий вы увидите новую группу — Определённые пользователем. И внутри этой категории вы можете увидеть нашу новую пользовательскую функцию CountWords.
Второй способ. Вы можете просто записать эту функцию в ячейку так же, как вы это делаете обычно. Когда вы начинаете вводить имя, Excel покажет вам имя пользовательской в списке соответствующих функций. В приведенном ниже примере, когда я ввел = cou , Excel показал мне список подходящих функций, среди которых вы видите и CountWords.
Можно посчитать этой же функцией и количество слов в диапазоне. Запишите в ячейку С3:
=CountWords(A2:A5)
Нажмите Enter
.
Мы только что указали функцию и установили диапазон, и вот результат подсчета: 14 слов.
Для сравнения в C1 я записал формулу массива, при помощи которой мы также можем подсчитать количество слов в диапазоне.
Как видите, результаты одинаковы. Только использовать CountWords() гораздо проще и быстрее.
Различные типы пользовательских функций с использованием VBA.
Теперь мы познакомимся с разными типами пользовательских функций в зависимости от используемых ими аргументов и результатов, которые они возвращают.
Без аргументов.
В Excel есть несколько стандартных функций, которые не требуют аргументов (например, СЛЧИС , СЕГОДНЯ , СЕЧАС). Например, СЛЧИС возвращает случайное число от 0 до 1. СЕГОДНЯ вернет текущую дату. Вам не нужно передавать им какие-либо значения.
Вы можете создать такую функцию и в VBA.
Ниже приведен код, который запишет в ячейку имя вашего рабочего листа.
Function SheetName() as String
Application.Volatile
SheetName = Application.Caller.Worksheet.Name
End Function
Или же можно использовать такой код:
SheetName = ActiveSheet.Name
Обратите внимание, что в скобках после имени нет ни одного аргумента. Здесь не требуется никаких аргументов, так как результат, который нужно вернуть, не зависит от каких-либо значений в вашем рабочем файле.
Приведенный выше код определяет результат функции как тип данных String (поскольку желаемый результат — это имя файла, которое является текстом). Если вы не укажете тип данных, то Excel будет определять его самостоятельно.
С одним аргументом.
Создадим простую функцию, которая работает с одним аргументом, то есть с одной ячейкой. Наша задача – извлечь из текстовой строки последнее слово.
Function ReturnLastWord(The_Text As String)
Dim stLastWord As String
'Extracts the LAST word from a text string
stLastWord = StrReverse(The_Text)
stLastWord = Left(stLastWord, InStr(1, stLastWord, " ", vbTextCompare))
ReturnLastWord = StrReverse(Trim(stLastWord))
End Function
Аргумент The_Text — это значение выбранной ячейки. Указываем, что это должно быть текстовое значение (As String).
Оператор StrReverse возвращает текст с обратным порядком следования знаков. Далее InStr определяет позицию первого пробела. При помощи Left получаем все знаки заканчивая первым пробелом. Затем удаляем пробелы при помощи Trim. Вновь меняем порядок следования символов при помощи StrReverse. Получаем последнее слово из текста.
Поскольку эта функция принимает значение ячейки, нам не нужно использовать здесь Application.Volatile. Как только аргумент изменится, функция автоматически обновится.
Использование массива в качестве аргумента.
Многие функции Excel используют массивы значений как аргументы. Вспомните функции СУММ, СУММЕСЛИ, СУММПРОИЗВ.
Мы уже рассмотрели эту ситуацию выше, когда учились создавать пользовательскую функцию для подсчета количества слов в диапазоне ячеек.
Приведённый ниже код создает функцию, которая суммирует все чётные числа в указанном диапазоне ячеек.
Function SumEven(NumRange as Range)
Dim RngCell As Range
For Each RngCell In NumRange
If IsNumeric(RngCell.Value) Then
If RngCell.Value Mod 2 = 0 Then
Result = Result + RngCell.Value
End If
End If
Next RngCell
SumEven = Result
End Function
Аргумент NumRange указан как Range. Это означает, что функция будет использовать массив исходных данных. Необходимо отметить, что можно использовать также тип переменной Variant. Это выглядит как
Function SumEven(NumRange as Variant)
Тип Variant обеспечивает «безразмерный» контейнер для хранения данных. Такая переменная может хранить данные любого из допустимых в VBA типов, включая числовые значения, текст, даты и массивы. Более того, одна и та же такая переменная в одной и той же программе в разные моменты может хранить данные различных типов. Excel самостоятельно будет определять, какие данные передаются в функцию.
В коде есть цикл For Each … Next, который берет каждую ячейку и проверяет, есть ли в ней число. Если это не так, то ничего не происходит, и он переходит к следующей ячейке. Если найдено число, он проверяет, четное оно или нет (с помощью функции MOD).
Все чётные числа суммируются в переменной Result.
Когда цикл будет закончен, значение Result присваивается переменной SumEven и передаётся функции.
С несколькими аргументами.
Большинство функций Excel имеет несколько аргументов. Не являются исключением и пользовательские функции. Поэтому так важно уметь создавать собственные функции с несколькими аргументами.
В приведенном ниже коде создается функция, которая выбирает максимальное число в заданном интервале.
Она имеет 3 аргумента: диапазон значений, нижняя граница числового интервала, верхняя граница интервала.
Function GetMaxBetween(rngCells As Range, MinNum, MaxNum)
Dim NumRange As Range
Dim vMax
Dim arrNums()
Dim i As Integer
ReDim arrNums(rngCells.Count)
For Each NumRange In rngCells
vMax = NumRange
Select Case vMax
Case MinNum + 0.01 To MaxNum - 0.01
arrNums(i) = vMax
i = i + 1
Case Else
GetMaxBetween = 0
End Select
Next NumRange
GetMaxBetween = WorksheetFunction.Max(arrNums)
End Function
Здесь мы используем три аргумента. Первый из них — rngCells As Range. Это диапазон ячеек, в которых нужно искать максимальное значение. Второй и третий аргумент (MinNum, MaxNum) указаны без объявления типа. Это означает, что по умолчанию к ним будет применён тип данных Variant. В VBA используется 6 различных числовых типов данных. Указывать только один из них — это значит ограничить применение функции. Поэтому более целесообразно, если Excel сам определит тип числовых данных.
Цикл For Each … Next последовательно просматривает все значения в выбранном диапазоне. Числа, которые находятся в интервале от максимального до минимального значения, записываются в специальный массив arrNums. При помощи стандартного оператора MAX в этом массиве находим наибольшее число.
С обязательными и необязательными аргументами.
Чтобы понять, что такое необязательный аргумент, вспомните функцию ВПР (VLOOKUP). Её четвертый аргумент [range_lookup] является необязательным. Если вы не укажете один из обязательных аргументов, получите ошибку. Но если вы пропустите необязательный аргумент, всё будет работать.
Но необязательные аргументы не бесполезны. Они позволяют вам выбирать вариант расчётов.
Например, в функции ВПР, если вы не укажете четвертый аргумент, будет выполнен приблизительный поиск. Если вы укажете его как ЛОЖЬ (или 0), то будет найдено точное совпадение.
Если в вашей пользовательской функции есть хотя бы один обязательный аргумент, то он должен быть записан в начале. Только после него могут идти необязательные.
Чтобы сделать аргумент необязательным, вам просто нужно добавить «Optional» перед ним.
Теперь давайте посмотрим, как создать функцию в VBA с необязательными аргументами.
Function GetText(textCell As Range, Optional CaseText = False) As String
Dim StringLength As Integer
Dim Result As String
StringLength = Len(textCell)
For i = 1 To StringLength
If Not (IsNumeric(Mid(textCell, i, 1))) Then Result = Result & Mid(textCell, i, 1)
Next i
If CaseText = True Then Result = UCase(Result)
GetText = Result
End Function
Этот код извлекает текст из ячейки. Optional CaseText = False означает, что аргумент CaseText необязательный. По умолчанию его значение установлено FALSE.
Если необязательный аргумент CaseText имеет значение TRUE, то возвращается результат в верхнем регистре. Если необязательный аргумент FALSE или опущен, результат остается как есть, без изменения регистра символов.
Думаю, что у вас возник вопрос: «Могут ли в пользовательской функции быть только необязательные аргументы?». Ответ смотрите ниже.
Только с необязательным аргументом.
Насколько мне известно, нет встроенной функции Excel, которая имеет только необязательные аргументы. Здесь я могу ошибаться, но я не могу припомнить ни одной такой.
Но при создании пользовательской такое возможно.
Перед вами функция, которая записывает в ячейку имя пользователя.
Function UserName(Optional Uppercase As Variant)
If IsMissing(Uppercase) Then Uppercase = False
UserName = Application.UserName
If Uppercase Then UserName = UCase(UserName)
End Function
Как видите, здесь есть только один аргумент Uppercase, и он не обязательный.
Если аргумент равен FALSE или опущен, то имя пользователя возвращается без каких-либо изменений. Если же аргумент TRUE, то имя возвращается в символах верхнего регистра (с помощью VBA-оператора Ucase). Обратите внимание на вторую строку кода. Она содержит VBA-функцию IsMissing, которая определяет наличие аргумента. Если аргумент отсутствует, оператор присваивает переменной Uppercase значение FALSE.
Можно предложить и другой вариант этой функции.
Function UserName(Optional Uppercase As Variant)
If IsMissing(Uppercase) Then Uppercase = False
UserName = Application.UserName
If Uppercase Then UserName = UCase(UserName)
End Function
В этом случае необязательный аргумент имеет значение по умолчанию FALSE. Если функция будет введена без аргументов, то значение FALSE будет использовано по умолчанию и имя пользователя будет получено без изменения регистра символов. Если будет введено любое значение кроме нуля, то все символы будут преобразованы в верхний регистр.
Возвращаемое значение — массив.
В VBA имеется весьма полезная функция — Array. Она возвращает значение с типом данных Variant, которое представляет собой массив (т.е. несколько значений).
Пользовательские функции, которые возвращают массив, весьма полезны при хранении массивов значений. Например, Months() вернёт массив названий месяцев:
Function Months() As Variant
Months = Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", _
"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь")
End Function
Обратите внимание, что функция выводит данные в строке, по горизонтали.
В Office365 и выше можно вводить как обычную формулу, в более ранних версиях – как формулу массива.
А если необходим вертикальный массив значений?
Мы уже говорили ранее, что созданные нами функции можно использовать в формулах Excel вместе со стандартными.
Используем Months() как аргумент функции ТРАНСП:
=ТРАНСП(Months())
Как можно использовать пользовательские функции с массивом данных? Можно применять их для ввода данных в таблицу, как показано на рисунке выше. К примеру, в отчёте о продажах не нужно вручную писать названия месяцев.
Можно получить название месяца по его номеру. Например, в ячейке A1 записан номер месяца. Тогда название месяца можно получить при помощи формулы
=ИНДЕКС(Months();1;A1)
Альтернативный вариант этой формулы:
=ИНДЕКС( {«Январь»; «Февраль»; «Март»; «Апрель»; «Май»; «Июнь»; «Июль»; «Август»; «Сентябрь»; «Октябрь»; «Ноябрь»; «Декабрь»};1;A1)
Согласитесь, написанная нами функция делает формулу Excel значительно проще.
Эта статья откроет серию материалов о пользовательских функциях. Если мне удалось убедить вас, что это стоит использовать или вы хотели бы попробовать что-то новое в Excel, следите за обновлениями;)
Function | Version | Purpose | Arguments |
---|---|---|---|
AND | Excel 2003 | Test multiple conditions with AND | logical1 logical2 … |
FALSE | Excel 2003 | Generate the logical value FALSE | |
IF | Excel 2003 | Test for a specific condition | logical_test value_if_true value_if_false |
IFERROR | Excel 2007 | Trap and handle errors | value value_if_error |
IFNA | Excel 2013 | Trap and handle #N/A errors | value value_if_na |
IFS | Excel 2019 | Test multiple conditions, return first true | test1 value1 test2, value2 … |
NOT | Excel 2003 | Reverse arguments or results | logical |
OR | Excel 2003 | Test multiple conditions with OR | logical1 logical2 … |
SWITCH | Excel 2019 | Match multiple values, return first match | expression val1/result1 val2/result2 … default |
TRUE | Excel 2003 | Generate the logical value TRUE | |
XOR | Excel 2013 | Perform exclusive OR | logical1 logical2 … |
Function | Version | Purpose | Arguments |
---|---|---|---|
DATE | Excel 2003 | Create a date with year, month, and day | year month day |
DATEDIF | Excel 2003 | Get days, months, or years between two dates | start_date end_date unit |
DATEVALUE | Excel 2003 | Convert a date in text format to a valid date | date_text |
DAY | Excel 2003 | Get the day as a number (1-31) from a date | date |
DAYS | Excel 2013 | Count days between dates | end_date start_date |
DAYS360 | Excel 2003 | Get days between 2 dates in a 360-day year | start_date end_date method |
EDATE | Excel 2003 | Shift date n months in future or past | start_date months |
EOMONTH | Excel 2003 | Get last day of month n months in future or past | start_date months |
HOUR | Excel 2003 | Get the hour as a number (0-23) from a Time | serial_number |
ISOWEEKNUM | Excel 2013 | Get ISO week number for a given date | date |
MINUTE | Excel 2003 | Get minute as a number (0-59) from time | serial_number |
MONTH | Excel 2003 | Get month as a number (1-12) from a date | serial_number |
NETWORKDAYS | Excel 2003 | Get the number of working days between two dates | start_date end_date holidays |
NETWORKDAYS.INTL | Excel 2010 | Get work days between two dates | start_date end_date weekend holidays |
NOW | Excel 2003 | Get the current date and time | |
SECOND | Excel 2003 | Get the Second as a number (0-59) from a Time | serial_number |
TIME | Excel 2003 | Create a time with hours, minutes, and seconds | hour minute second |
TIMEVALUE | Excel 2003 | Get a valid time from a text string | time_text |
TODAY | Excel 2003 | Get the current date | |
WEEKDAY | Excel 2003 | Get the day of the week as a number | serial_number return_type |
WEEKNUM | Excel 2003 | Get the week number for a given date | serial_num return_type |
WORKDAY | Excel 2003 | Get a date n working days in the future or past | start_date days holidays |
WORKDAY.INTL | Excel 2010 | Get date n working days in future or past | start_date days weekend holidays |
YEAR | Excel 2003 | Get the year from a date | date |
YEARFRAC | Excel 2003 | Get the fraction of a year between two dates | start_date end_date basis |
Function | Version | Purpose | Arguments |
---|---|---|---|
ADDRESS | Excel 2003 | Create a cell address from a row and column number | row_num col_num abs_num a1 sheet |
AREAS | Excel 2003 | Get the number of areas in a reference. | reference |
CHOOSE | Excel 2003 | Get a value from a list based on position | index_num value1 value2 … |
COLUMN | Excel 2003 | Get the column number of a reference. | reference |
COLUMNS | Excel 2003 | Get the number of columns in an array or reference. | array |
FIELDVALUE | Excel 365 | Extract field value from a data type | value field_name |
FORMULATEXT | Excel 2013 | Get the formula in a cell | reference |
GETPIVOTDATA | Excel 2003 | Retrieve data from a pivot table in a formula | data_field pivot_table field1, item1 … |
HLOOKUP | Excel 2003 | Look up a value in a table arranged horizontally | lookup_value table_array row_index range_lookup |
HYPERLINK | Excel 2003 | Create a clickable link. | link_location friendly_name |
INDEX | Excel 2003 | Get a value in a list or table based on location | array row_num col_num area_num |
INDIRECT | Excel 2003 | Create a reference from text | ref_text a1 |
LOOKUP | Excel 2003 | Look up a value in a one-column range | lookup_value lookup_vector result_vector |
MATCH | Excel 2003 | Get the position of an item in an array | lookup_value lookup_array match_type |
OFFSET | Excel 2003 | Create a reference offset from given starting point | reference rows cols height width |
ROW | Excel 2003 | Get the row number of a reference | reference |
ROWS | Excel 2003 | Get the number of rows in an array or reference. | array |
TRANSPOSE | Excel 2003 | Flip the orientation of a range of cells | array |
VLOOKUP | Excel 2003 | Lookup a value in a table by matching on the first column | lookup_value table_array column_index_num range_lookup |
Function | Version | Purpose | Arguments |
---|---|---|---|
CHAR | Excel 2003 | Get a character from a number | number |
CLEAN | Excel 2003 | Strip non-printable characters from text | text |
CODE | Excel 2003 | Get the code for a character | text |
CONCAT | Excel 2019 | Join text values without delimiter | text1 text2 … |
CONCATENATE | Excel 2003 | Join text together | text1 text2 text3 … |
DOLLAR | Excel 2003 | Convert a number to text in currency format | number decimals |
EXACT | Excel 2003 | Compare two text strings | text1 text2 |
FIND | Excel 2003 | Get location substring in a string | find_text within_text start_num |
FIXED | Excel 2003 | Format number as text with fixed decimals | number decimals no_commas |
LEFT | Excel 2003 | Extract text from the left of a string | text num_chars |
LEN | Excel 2003 | Get the length of text. | text |
LOWER | Excel 2003 | Convert text to lower case | text |
MID | Excel 2003 | Extract text from inside a string | text start_num num_chars |
NUMBERVALUE | Excel 2013 | Convert text to number with custom separators | text decimal_separator group_separator |
PROPER | Excel 2003 | Capitalize the first letter in each word | text |
REPLACE | Excel 2003 | Replace text based on location | old_text start_num num_chars new_text |
REPT | Excel 2003 | Repeat text as specified | text number_times |
RIGHT | Excel 2003 | Extract text from the right of a string | text num_chars |
SEARCH | Excel 2003 | Get the location of substring in a string | find_text within_text start_num |
SUBSTITUTE | Excel 2003 | Replace text based on content | text old_text new_text instance |
TEXT | Excel 2003 | Convert a number to text in a number format | value format_text |
TEXTJOIN | Excel 2019 | Join text values with a delimiter | delimiter ignore_empty text1 text2 … |
TRIM | Excel 2003 | Remove extra spaces from text | text |
UNICHAR | Excel 2013 | Get Unicode character by number | number |
UNICODE | Excel 2013 | Get number from Unicode character | text |
UPPER | Excel 2003 | Convert text to upper case | text |
VALUE | Excel 2003 | Convert text to a number | text |
Function | Version | Purpose | Arguments |
---|---|---|---|
ARRAYTOTEXT | Excel 365 | Converts array or range to a text string | array format |
BYCOL | Excel 365 | Apply function to column | array lambda |
BYROW | Excel 365 | Apply function to row | array lambda |
CHOOSECOLS | Excel 365 | Return specific columns from an array | array col_num1 col_num2 … |
CHOOSEROWS | Excel 365 | Return specific rows from an array | array row_num1 row_num2 … |
DROP | Excel 365 | Remove portion of an array | array rows col |
EXPAND | Excel 365 | Expand array by adding rows or columns | array rows columns pad_with |
FILTER | Excel 2021 | Filters range with given criteria | array include if_empty |
HSTACK | Excel 365 | Combine ranges or arrays horizontally | array1 array2 … |
ISOMITTED | Excel 365 | Check for optional arguments in LAMBDAs | argument |
LAMBDA | Excel 365 | Create custom function | parameter … calculation |
LET | Excel 2021 | Assign variables inside formula | name1 value1 name2/value2 … result |
MAKEARRAY | Excel 365 | Create array with calculated values | rows columns lambda |
MAP | Excel 365 | Map array to custom function | array1 array2 … lambda |
RANDARRAY | Excel 2021 | Get array of random numbers | rows columns min max integer |
REDUCE | Excel 365 | Reduce an array | initial_value array lambda |
SCAN | Excel 365 | Scan array and return intermediate results | initial_value array lambda |
SEQUENCE | Excel 2021 | Get array of list of sequential numbers | rows columns start step |
SORT | Excel 2021 | Sorts range or array | array sort_index sort_order by_col |
SORTBY | Excel 2021 | Sorts range or array by column | array by_array sort_order array/order … |
STOCKHISTORY | Excel 365 | Retrieve stock price information | stock start_date end_date interval headers properties … |
TAKE | Excel 365 | Get a subset of an array | array rows col |
TEXTAFTER | Excel 365 | Extract text after delimiter | text delimiter instance_num match_mode match_end if_not_found |
TEXTBEFORE | Excel 365 | Extract text before delimiter | text delimiter instance_num match_mode match_end if_not_found |
TEXTSPLIT | Excel 365 | Split a text string with a delimiter | text col_delimiter row_delimiter ignore_empty match_mode pad_with |
TOCOL | Excel 365 | Transform array to single column | array ignore scan_by_column |
TOROW | Excel 365 | Transform array to single row | array ignore scan_by_column |
UNIQUE | Excel 2021 | Extract unique values from range | array by_col exactly_once |
VALUETOTEXT | Excel 365 | Converts a value to a text string | value format |
VSTACK | Excel 365 | Combine ranges or arrays vertically | array1 array2 … |
WRAPCOLS | Excel 365 | Wrap array into columns | vector wrap_count pad_with |
WRAPROWS | Excel 365 | Wrap array into rows | vector wrap_count pad_with |
XLOOKUP | Excel 2021 | Lookup values in range or array | lookup lookup_array return_array not_found match_mode search_mode |
XMATCH | Excel 2021 | Get the position of an item in a list or table | lookup_value lookup_array match_mode search_mode |
Function | Version | Purpose | Arguments |
---|---|---|---|
BIN2DEC | Excel 2003 | Converts a binary number to decimal | number |
BIN2HEX | Excel 2003 | Converts a binary number to hexadecimal | number places |
BIN2OCT | Excel 2003 | Converts a binary number to octal | number places |
BITAND | Excel 2013 | Returns a ‘Bitwise And’ of two numbers | number1 number2 |
BITLSHIFT | Excel 2013 | Returns a number shifted left by some number of bits | number shift_amount |
BITOR | Excel 2013 | Returns a ‘Bitwise Or’ of two numbers | number1 number2 |
BITRSHIFT | Excel 2013 | Returns a number shifted right by some number of bits | number shift_amount |
BITXOR | Excel 2013 | Returns a ‘Bitwise Xor’ of two numbers | number1 number2 |
COMPLEX | Excel 2003 | Convert coefficients to complex number | real_num i_num suffix |
CONVERT | Excel 2003 | Convert measurement units | number from_unit to_unit |
DEC2BIN | Excel 2003 | Converts a decimal number to binary | number places |
DEC2HEX | Excel 2003 | Converts a decimal number to hexadecimal | number places |
DEC2OCT | Excel 2003 | Converts a decimal number to octal | number places |
DELTA | Excel 2003 | Test two values are equal | number1 number2 |
HEX2BIN | Excel 2003 | Converts a hexadecimal number to binary | number places |
HEX2DEC | Excel 2003 | Converts a hexadecimal number to decimal | number |
HEX2OCT | Excel 2003 | Converts a hexadecimal number to octal | number places |
IMABS | Excel 2003 | Get absolute value of complex number | inumber |
IMAGINARY | Excel 2003 | Get imaginary coefficient of complex number | inumber |
IMPOWER | Excel 2003 | Raise complex number to given power | inumber number |
IMPRODUCT | Excel 2003 | Get product of complex numbers | inumber1 inumber2 … |
IMREAL | Excel 2003 | Get real coefficient of complex number | inumber |
IMSUB | Excel 2003 | Get difference between two complex numbers | inumber1 inumber2 |
IMSUM | Excel 2003 | Get sum of complex numbers | inumber1 inumber2 … |
Function | Version | Purpose | Arguments |
---|---|---|---|
ACCRINT | Excel 2003 | Get accrued interest periodic | id fd sd rate par freq basis calc |
ACCRINTM | Excel 2003 | Get accrued interest at maturity | id sd rate par basis |
AMORDEGRC | Excel 2003 | Depreciation for accounting period coefficient | cost purchase first salvage period rate basis |
AMORLINC | Excel 2003 | Depreciation for accounting period | cost purchase first salvage period rate basis |
COUPDAYBS | Excel 2003 | Get days from coupon period to settlement date | settlement maturity frequency basis |
COUPDAYS | Excel 2003 | Get days in coupon period incl settlement date | settlement maturity frequency basis |
COUPDAYSNC | Excel 2003 | Get days from settlement date to next coupon date | settlement maturity frequency basis |
COUPNCD | Excel 2003 | Get next coupon date after settlement date | settlement maturity frequency basis |
COUPNUM | Excel 2003 | Get number of coupons payable | settlement maturity frequency basis |
COUPPCD | Excel 2003 | Get previous coupon date before settlement date | settlement maturity frequency basis |
CUMIPMT | Excel 2003 | Get cumulative interest paid on a loan | rate nper pv start_period end_period type |
CUMPRINC | Excel 2003 | Get cumulative principal paid on a loan | rate nper pv start_period end_period type |
DB | Excel 2003 | Depreciation — fixed-declining balance | cost salvage life period month |
DDB | Excel 2003 | Depreciation — double-declining | cost salvage life period factor |
DISC | Excel 2003 | Get discount rate for a security | settlement maturity pr redemption basis |
DOLLARDE | Excel 2003 | Convert dollar price as fraction to decimal | fractional_dollar fraction |
DOLLARFR | Excel 2003 | Convert price to fractional notation | decimal_dollar fraction |
DURATION | Excel 2003 | Get annual duration with periodic interest | settlement maturity coupon yld freq basis |
EFFECT | Excel 2003 | Get effective annual interest rate | nominal_rate npery |
FV | Excel 2003 | Get the future value of an investment | rate nper pmt pv type |
FVSCHEDULE | Excel 2003 | Get future value of principal compound interest | principal schedule |
INTRATE | Excel 2003 | Get interest rate for fully invested security | settlement maturity investment redemption basis |
IPMT | Excel 2003 | Get interest in given period | rate per nper pv fv type |
IRR | Excel 2003 | Calculate internal rate of return | values guess |
ISPMT | Excel 2003 | Get interest paid for specific period | rate per nper pv |
MDURATION | Excel 2003 | Get Macauley modified duration par value of $100 | settlement maturity coupon yld freq basis |
MIRR | Excel 2003 | Calculate modified internal rate of return | values finance_rate reinvest_rate |
NOMINAL | Excel 2003 | Get annual nominal interest rate | effect_rate npery |
NPER | Excel 2003 | Get number of periods for loan or investment | rate pmt pv fv type |
NPV | Excel 2003 | Calculate net present value | rate value1 value2 … |
ODDFPRICE | Excel 2003 | Get price per $100 odd first period | sd md id fd rate yld redem freq basis |
ODDFYIELD | Excel 2003 | Get yield security with odd first period | sd md id fd rate pr redem freq basis |
ODDLPRICE | Excel 2003 | Get price per $100 face value with odd last period | sd md id rate yld redem freq basis |
ODDLYIELD | Excel 2003 | Get yield of security with odd last period | sd md ld rate pr redem freq basis |
PDURATION | Excel 2013 | Get periods required to reach given value | rate pv fv |
PMT | Excel 2003 | Get the periodic payment for a loan | rate nper pv fv type |
PPMT | Excel 2003 | Get principal payment in given period | rate per nper pv fv type |
PRICE | Excel 2003 | Get price per $100 face value — periodic interest | sd md rate yld redemption frequency basis |
PRICEDISC | Excel 2003 | Get price per $100 discounted security | sd md discount redemption basis |
PRICEMAT | Excel 2003 | Get price per $100 interest at maturity | sd md id rate yld basis |
PV | Excel 2003 | Get the present value of an investment | rate nper pmt fv type |
RATE | Excel 2003 | Get the interest rate per period of an annuity | nper pmt pv fv type guess |
RECEIVED | Excel 2003 | Get amount received at maturity | settlement maturity investment discount basis |
RRI | Excel 2013 | Get equivalent interest rate for growth | nper pv fv |
SLN | Excel 2003 | Depreciation — straight-line | cost salvage life |
SYD | Excel 2003 | Depreciation — sum-of-years | cost salvage life period |
TBILLEQ | Excel 2003 | Get bond-equivalent yield for a Treasury bill | settlement maturity discount |
TBILLPRICE | Excel 2003 | Get price per $100 Treasury bill | settlement maturity discount |
TBILLYIELD | Excel 2003 | Get yield for a Treasury bill | settlement maturity price |
VDB | Excel 2003 | Depreciation — double-declining variable | cost salvage life start end factor no_switch |
XIRR | Excel 2003 | Calculate internal rate of return for irregular cash flows | values dates guess |
XNPV | Excel 2003 | Calculate net present value for irregular cash flows | rate values dates |
YIELD | Excel 2003 | Get yield for security that pays periodic interest | sd md rate pr redemption frequency basis |
YIELDDISC | Excel 2003 | Get annual yield for discounted security | sd md pr redemption basis |
YIELDMAT | Excel 2003 | Get annual yield of security interest at maturity | sd md id rate pr basis |
Function | Version | Purpose | Arguments |
---|---|---|---|
CELL | Excel 2003 | Get information about a cell | info_type reference |
ERROR.TYPE | Excel 2003 | Test for a specific error value | error_val |
INFO | Excel 2003 | Get information about current environment | type_text |
ISBLANK | Excel 2003 | Test if a cell is empty | value |
ISERR | Excel 2003 | Test for any error but #N/A | value |
ISERROR | Excel 2003 | Test for any error | value |
ISEVEN | Excel 2003 | Test if a value is even | value |
ISFORMULA | Excel 2013 | Test if cell contains a formula | reference |
ISLOGICAL | Excel 2003 | Test if a value is logical | value |
ISNA | Excel 2003 | Test for the #N/A error | value |
ISNONTEXT | Excel 2003 | Test for a non-text value | value |
ISNUMBER | Excel 2003 | Test for numeric value | value |
ISODD | Excel 2003 | Test if a value is odd | value |
ISREF | Excel 2003 | Test for a reference | value |
ISTEXT | Excel 2003 | Test for a text value | value |
N | Excel 2003 | Convert a value to a number | value |
NA | Excel 2003 | Create an #N/A error | |
SHEET | Excel 2013 | Get sheet index number | value |
SHEETS | Excel 2013 | Get number of sheets in a reference | reference |
T | Excel 2003 | Filter text values only | value |
TYPE | Excel 2003 | Get the type of value in a cell | value |
Function | Version | Purpose | Arguments |
---|---|---|---|
ABS | Excel 2003 | Find the absolute value of a number | number |
AGGREGATE | Excel 2010 | Return aggregate calculation | function_num options ref1 ref2 … |
ARABIC | Excel 2013 | Converts a Roman numerals to an Arabic numerals | roman_text |
BASE | Excel 2013 | Convert number to another base. | number radix min_length |
CEILING | Excel 2003 | Round a number up to nearest multiple | number significance |
CEILING.MATH | Excel 2013 | Round a number up to nearest multiple | number significance mode |
CEILING.PRECISE | Excel 2010 | Round a number up to nearest multiple | number significance |
COMBIN | Excel 2003 | Get number of combinations without repetitions | number number_chosen |
COMBINA | Excel 2013 | Get number of combinations with repetitions | number number_chosen |
DECIMAL | Excel 2013 | Convert a number in a different base to a decimal number | number radix |
EVEN | Excel 2003 | Round a number up to the next even integer | number |
EXP | Excel 2003 | Find the value of e raised to the power of a number | number |
FACT | Excel 2003 | Find the factorial of a number | number |
FACTDOUBLE | Excel 2003 | Get double factorial of a number | number |
FLOOR | Excel 2003 | Round a number down to the nearest specified multiple | number significance |
FLOOR.MATH | Excel 2013 | Round number down to nearest multiple | number significance mode |
FLOOR.PRECISE | Excel 2010 | Round number down to nearest multiple | number significance |
GCD | Excel 2003 | Get the greatest common divisor of numbers | number1 number2 … |
INT | Excel 2003 | Get the integer part of a number by rounding down | number |
LCM | Excel 2003 | Get the least common multiple of numbers | number1 number2 … |
LN | Excel 2003 | Get the natural logarithm of a number | number |
LOG | Excel 2003 | Get the logarithm of a number | number base |
LOG10 | Excel 2003 | Get the base-10 logarithm of a number | number |
MDETERM | Excel 2003 | Get matrix determinant of given array | array |
MINVERSE | Excel 2003 | Get inverse matrix of array | array |
MMULT | Excel 2003 | Perform matrix multiplication | array1 array2 |
MOD | Excel 2003 | Get the remainder from division | number divisor |
MROUND | Excel 2003 | Round a number to the nearest specified multiple | number significance |
MUNIT | Excel 2013 | Return unit matrix for a given dimension | dimension |
ODD | Excel 2003 | Round a number up to the next odd integer | number |
PI | Excel 2003 | Get the value of π | |
POWER | Excel 2003 | Raise a number to a power | number power |
PRODUCT | Excel 2003 | Get the product of supplied numbers | number1 number2 … |
QUOTIENT | Excel 2003 | Returns the quotient without a remainder. | numerator denominator |
RAND | Excel 2003 | Get a random number between 0 and 1 | |
RANDBETWEEN | Excel 2003 | Get a random integer between two values | bottom top |
ROMAN | Excel 2003 | Converts numbers to Roman numerals | number form |
ROUND | Excel 2003 | Round a number to a given number of digits | number num_digits |
ROUNDDOWN | Excel 2003 | Round down to given number of digits | number num_digits |
ROUNDUP | Excel 2003 | Round a number up to a given number of digits | number num_digits |
SIGN | Excel 2003 | Get the sign of a number | number |
SQRT | Excel 2003 | Find the positive square root of a number | number |
SUBTOTAL | Excel 2003 | Get a subtotal in a list or database | function_num ref1 ref2 … |
SUM | Excel 2003 | Add numbers together | number1 number2 number3 … |
SUMIF | Excel 2003 | Sum cells in a range that meet criteria | range criteria sum_range |
SUMIFS | Excel 2007 | Sum cells in a range that meet criteria | sum_range range1 criteria1 range2 criteria2 … |
SUMPRODUCT | Excel 2003 | Multiply, then sum arrays | array1 array2 … |
SUMSQ | Excel 2003 | Get sum of squares of supplied values | number1 number2 … |
SUMX2MY2 | Excel 2003 | Sum of difference of squares in two arrays | array_x array_y |
SUMX2PY2 | Excel 2003 | Get sum of squares in two arrays | array_x array_y |
SUMXMY2 | Excel 2003 | Sum of squares of differences in two arrays | array_x array_y |
TRUNC | Excel 2003 | Truncate a number to a given precision | number num_digits |
Function | Version | Purpose | Arguments |
---|---|---|---|
ACOS | Excel 2003 | Get the inverse cosine of a value, in radians. | number |
ASIN | Excel 2003 | Return the inverse sine of a value in radians. | number |
ATAN | Excel 2003 | Get arctangent of a number | number |
ATAN2 | Excel 2003 | Get arctangent from x- and y-coordinates | x_num y_num |
COS | Excel 2003 | Get the cosine of an angle provided in radians. | number |
COSH | Excel 2003 | Get hyperbolic cosine of a number | number |
COT | Excel 2013 | Get the cotangent of an angle. | number |
CSC | Excel 2013 | Get cosecant of an angle | number |
DEGREES | Excel 2003 | Converts radians to degrees | angle |
RADIANS | Excel 2003 | Converts degrees into radians | angle |
SEC | Excel 2013 | Get secant of an angle | number |
SIN | Excel 2003 | Get the sine of an angle provided in radians. | number |
SINH | Excel 2003 | Get hyperbolic sine of a number. | number |
TAN | Excel 2003 | Get the tangent of an angle | number |
Function | Version | Purpose | Arguments |
---|---|---|---|
AVEDEV | Excel 2003 | Get sum of squared deviations | number1 number2 … |
AVERAGE | Excel 2003 | Get the average of a group of numbers | number1 number2 … |
AVERAGEA | Excel 2003 | Get the average of a group of numbers and text | value1 value2 … |
AVERAGEIF | Excel 2007 | Get the average of numbers that meet criteria. | range criteria average_range |
AVERAGEIFS | Excel 2007 | Average cells that match multiple criteria | avg_rng range1 criteria1 range2 criteria2 … |
BINOM.DIST | Excel 2010 | Get binomial distribution probability | number_s trials probability_s cumulative |
BINOMDIST | Excel 2003 | Get binomial distribution probability | number_s trials probability_s cumulative |
COUNT | Excel 2003 | Count numbers | value1 value2 … |
COUNTA | Excel 2003 | Count the number of non-blank cells | value1 value2 … |
COUNTBLANK | Excel 2003 | Count cells that are blank | range |
COUNTIF | Excel 2003 | Count cells that match criteria | range criteria |
COUNTIFS | Excel 2007 | Count cells that match multiple criteria | range1 criteria1 range2 criteria2 … |
DEVSQ | Excel 2003 | Get sum of squared deviations | number1 number2 … |
FORECAST | Excel 2003 | Predict value along a linear trend | x known_ys kown_xs |
FORECAST.ETS | Excel 2016 | Predict value with a seasonal trend | target_date values timeline seasonality data_completion aggregation |
FORECAST.ETS.CONFINT | Excel 2016 | Get confidence interval for forecast value at given date | target_date values timeline confidence_level seasonality data_completion aggregation |
FORECAST.ETS.SEASONALITY | Excel 2016 | Get length of the seasonal pattern | values timeline data_completion aggregation |
FORECAST.ETS.STAT | Excel 2016 | Get statistical value related to forecasting | values timeline statistic_type seasonality data_completion aggregation |
FORECAST.LINEAR | Excel 2016 | Predict value along a linear trend | x known_ys kown_xs |
FREQUENCY | Excel 2003 | Get the frequency of values in a data set | data_array bins_array |
GEOMEAN | Excel 2003 | Calculate geometric mean | number1 number2 … |
HARMEAN | Excel 2003 | Calculate harmonic mean | number1 number2 … |
INTERCEPT | Excel 2003 | Get intercept of linear regression line | known_ys known_xs |
LARGE | Excel 2003 | Get nth largest value | array k |
LINEST | Excel 2003 | Get parameters of linear trend | known_ys known_xs const stats |
MAX | Excel 2003 | Get the largest value | number1 number2 … |
MAXA | Excel 2003 | Return largest value. | value1 value2 … |
MAXIFS | Excel 2019 | Get maximum value with criteria | max_range range1 criteria1 range2 criteria2 … |
MEDIAN | Excel 2003 | Get the median of a group of numbers | number1 number2 … |
MIN | Excel 2003 | Get the smallest value. | number1 number2 … |
MINA | Excel 2003 | Return smallest value. | value1 value2 … |
MINIFS | Excel 2019 | Get minimum value with criteria | min_range range1 criteria1 range2 criteria2 … |
MODE | Excel 2003 | Get most frequently occurring number | number1 number2 … |
MODE.MULT | Excel 2010 | Get most frequently occurring numbers | number1 number2 … |
MODE.SNGL | Excel 2010 | Get most frequently occurring number | number1 number2 … |
NORM.DIST | Excel 2010 | Get values and areas for the normal distribution | x mean standard_dev cumulative |
NORM.INV | Excel 2010 | Get the inverse of normal cumulative distribution | probability mean standard_dev |
NORM.S.DIST | Excel 2010 | Get the standard normal CDF and PDF. | z cumulative |
NORM.S.INV | Excel 2010 | Get inverse of the standard normal cumulative distribution | probability |
PERCENTILE | Excel 2003 | Get kth percentile | array k |
PERCENTILE.EXC | Excel 2010 | Get kth percentile | array k |
PERCENTILE.INC | Excel 2010 | Get kth percentile | array k |
PERCENTRANK | Excel 2003 | Get percentile rank, inclusive | array x significance |
PERCENTRANK.EXC | Excel 2010 | Get percentile rank, exclusive | array x significance |
PERCENTRANK.INC | Excel 2010 | Get percentile rank, inclusive | array x significance |
PERMUT | Excel 2003 | Get number of permutations without repetitions | number number_chosen |
PERMUTATIONA | Excel 2013 | Get number of permutations with repetitions | number number_chosen |
QUARTILE | Excel 2003 | Get the quartile in a data set | array quart |
QUARTILE.EXC | Excel 2010 | Get the quartile in a data set | array quart |
QUARTILE.INC | Excel 2010 | Get the quartile in a data set | array quart |
RANK | Excel 2003 | Rank a number against a range of numbers | number ref order |
RANK.AVG | Excel 2010 | Rank a number against a range of numbers | number ref order |
RANK.EQ | Excel 2010 | Rank a number against a range of numbers | number ref order |
SKEW | Excel 2003 | Get skewness of a distribution | number1 number2 … |
SKEW.P | Excel 2013 | Get skewness of a distribution based on population | number1 number2 … |
SLOPE | Excel 2003 | Get slope of linear regression line | known_ys known_xs |
SMALL | Excel 2003 | Get nth smallest value | array k |
STANDARDIZE | Excel 2003 | Calculate a normalized value (z-score) | x mean standard_dev |
STDEV | Excel 2003 | Get the standard deviation in a sample | number1 number2 … |
STDEV.P | Excel 2010 | Get standard deviation of population | number1 number2 … |
STDEV.S | Excel 2010 | Get the standard deviation in a sample | number1 number2 … |
STDEVA | Excel 2003 | Get standard deviation in a sample | number1 number2 … |
STDEVP | Excel 2003 | Get standard deviation of population | number1 number2 … |
STDEVPA | Excel 2003 | Get standard deviation for a population | number1 number2 … |
TRIMMEAN | Excel 2003 | Calculate mean excluding outliers | array percent |
VAR | Excel 2003 | Get variation of a sample | number1 number2 … |
VAR.P | Excel 2010 | Get variation of population | number1 number2 … |
VAR.S | Excel 2010 | Get variation of a sample | number1 number2 … |
VARA | Excel 2003 | Get variation of a sample | number1 number2 … |
VARP | Excel 2003 | Get variation of a population | number1 number2 … |
VARPA | Excel 2003 | Get variation of a population | number1 number2 … |
Function | Version | Purpose | Arguments |
---|---|---|---|
ENCODEURL | Excel 2013 | Get URL-encoded string | text |
FILTERXML | Excel 2013 | Get data from XML with Xpath | xml xpath |
WEBSERVICE | Excel 2013 | Get data from a web service | url |
Function | Version | Purpose | Arguments |
---|---|---|---|
DAVERAGE | Excel 2003 | Get average from matching records | database field criteria |
DCOUNT | Excel 2003 | Count matching records in a database | database field criteria |
DCOUNTA | Excel 2003 | Count matching records in a database | database field criteria |
DGET | Excel 2003 | Get value from matching record | database field criteria |
DMAX | Excel 2003 | Get max from matching records | database field criteria |
DMIN | Excel 2003 | Get min from matching records | database field criteria |
DPRODUCT | Excel 2003 | Get product from matching records | database field criteria |
DSTDEV | Excel 2003 | Get standard deviation of sample in matching records | database field criteria |
DSTDEVP | Excel 2003 | Get standard deviation of population in matching records | database field criteria |
DSUM | Excel 2003 | Get sum from matching records | database field criteria |
DVAR | Excel 2003 | Get sample variance for matching records | database field criteria |
DVARP | Excel 2003 | Get population variance for matching records | database field criteria |
Формулы (функции) в Excel представляют собой конструкции, позволяющие выполнять вычисления, возвращать данные, манипулировать данными ячеек, проверять условия и т. д. В Microsoft Excel в формулах используются четыре типа операторов: арифметические, текстовые, операторы сравнения и операторы ссылок.
Формула в Microsoft Excel всегда начинается со знака равенства (=). Знак равенства свидетельствует о том, что следующие за ним знаки составляют формулу. Формула в Excel вычисляется слева направо в соответствии с порядком, определенным для каждого оператора в формуле.
Ниже представлена группировка формул в соответствии с Microsoft Excel. На каждую формулу имеется авторская статья о применении этой функции.
- Функция СУММ() и операция сложения (+) в MS EXCEL
- Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ() MS EXCEL
- Функция СУММЕСЛИ() — Сложение с одним критерием в MS EXCEL (Часть1.ЧИСЛОвой критерий)
- Функция СУММПРОИЗВ() — Сложение и подсчет с множественными условиями в MS EXCEL
- Функция ОКРУГЛТ() в MS EXCEL
- Функция ОКРУГЛ() в MS EXCEL
- Функция НЕЧЁТ() в MS EXCEL
- Функция ЧЁТН() в MS EXCEL
- Функция ОСТАТ() в MS EXCEL
- Функция ОТБР() в MS EXCEL
- Функция СЛУЧМЕЖДУ() — Случайное число из заданного интервала в MS EXCEL
- Функция ЦЕЛОЕ() в MS EXCEL
- Функция РИМСКОЕ() в MS EXCEL
- Функция СУММЕСЛИМН() Сложение с несколькими критериями в MS EXCEL (Часть 2.Условие И)
- Функция ОКРУГЛВВЕРХ() в MS EXCEL
- Функция ОКРУГЛВНИЗ() в MS EXCEL
- Функция СЛЧИС() в MS EXCEL
- Функция СЛЧИС() — Случайное вещественное число от 0 до 1 в MS EXCEL
- Функция СЧЕТ() — Подсчет ЧИСЕЛ (в диапазонах с ТЕКСТом и ЧИСЛАми) в MS EXCEL
- Функция МИН() в MS EXCEL
- Функция МАКС() в MS EXCEL
- Функция СРЗНАЧ() — Среднее арифметическое в MS EXCEL
- Функция СЧЁТЗ() в MS EXCEL
- Функция СЧЁТЕСЛИ() в MS Excel — Подсчет значений с единственным критерием
- Функция ЧАСТОТА() — Подсчет ЧИСЛОвых значений в MS EXCEL
- Функция НАИБОЛЬШИЙ() в MS EXCEL
- Функция НАИМЕНЬШИЙ() в MS EXCEL
- Функция СРЗНАЧЕСЛИ() — Вычисление в MS EXCEL среднего по условию (один ЧИСЛОвой критерий)
- Функция СРГЕОМ() — Среднее геометрическое в MS EXCEL
- Функция СЧИТАТЬПУСТОТЫ() в MS EXCEL
- Функция РАНГ() в MS EXCEL
- Функция СЧЁТЕСЛИМН() в MS EXCEL
- Функция БСЧЁТ() — Подсчет с множественными условиями в MS EXCEL
- Функция БДСУММ() — Сложение с множественными условиями в MS EXCEL
- Функция БИЗВЛЕЧЬ() в MS EXCEL
- Функция БСЧЁТА() — Подсчет ТЕКСТовых значений с множественными условиями в MS EXCEL
- Функция ДМАКС() — нахождение максимального значения по условию в MS EXCEL
- Функция ДМИН() — нахождение минимального значения по условию в MS EXCEL
- Функция ДСРЗНАЧ() — Вычисление среднего с множественными условиями в MS EXCEL
- Функция ТРАНСП() — Транспонирование диапазонов ячеек в MS EXCEL
- Функция ПРОСМОТР() в MS EXCEL
- Функция ВПР() в MS EXCEL
- Функция ВЫБОР() в Excel
- Функция СТРОКА() в MS EXCEL
- Функция СТОЛБЕЦ() в MS EXCEL
- Функция ЧСТРОК() в MS EXCEL
- Функция АДРЕС() в MS EXCEL
- Функция ДВССЫЛ() в MS EXCEL
- Функция ИНДЕКС() в MS EXCEL
- Функция ПОИСКПОЗ() в MS EXCEL
- Функция СМЕЩ() в MS EXCEL
- Функция ГИПЕРССЫЛКА() в MS EXCEL
- Функция ИЛИ() в MS EXCEL
- Функция И() в MS EXCEL
- Функция ЕСЛИ() в MS EXCEL
- Функция НЕ() в MS EXCEL
- Функция ЕСЛИОШИБКА() в MS EXCEL
- Функция ДАТА() в MS EXCEL
- Функция ДЕНЬ() в MS EXCEL
- Функция ДАТАЗНАЧ() в MS EXCEL
- Функция ДАТАМЕС() в MS EXCEL
- Функция ДЕНЬНЕД() в MS EXCEL
- Функция ВРЕМЗНАЧ() в MS EXCEL
- Функция КОНМЕСЯЦА() в MS EXCEL
- Функция НОМНЕДЕЛИ() в MS EXCEL
- Функция РАБДЕНЬ() в MS EXCEL
- Функция СЕГОДНЯ() в MS EXCEL
- Функция ЧИСТРАБДНИ() — подсчет рабочих дней в MS EXCEL
- Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL
- Функция ЕЧИСЛО() в MS EXCEL
- Функция ЕПУСТО() в MS EXCEL
- Функция ЯЧЕЙКА() в MS EXCEL
- Функция НД() в MS EXCEL
- Функция ЕОШИБКА() в MS EXCEL
- Функция ЕНД() в MS EXCEL
- Функция ЕОШ() в MS EXCEL
- Функция ЕТЕКСТ() в MS EXCEL
- Функция ТЕКСТ() в MS EXCEL
- Функция ЗНАЧЕН() в MS EXCEL
- Функция ДЛСТР() в MS EXCEL
- Функция ЗАМЕНИТЬ() в MS EXCEL
- Функция КОДСИМВ() в MS EXCEL
- Функция ЛЕВСИМВ() в MS EXCEL
- Функция ПРАВСИМВ() в MS EXCEL
- Функция НАЙТИ() в MS EXCEL
- Функция ПОИСК() в MS EXCEL
- Функция ПОДСТАВИТЬ() в MS EXCEL
- Функция ПРОПИСН() в MS EXCEL
- Функция ПРОПНАЧ() в MS EXCEL
- Функция ПСТР() в MS EXCEL
- Функция СОВПАД() в MS EXCEL
- Функция СТРОЧН() в MS EXCEL
- Функция СЖПРОБЕЛЫ() в MS EXCEL
- Функция ПОВТОР() в MS EXCEL
- Функция ФИКСИРОВАННЫЙ() в MS EXCEL
- Функция ПЛТ() в MS EXCEL
Введение
Всем нам приходится — кому реже, кому чаще — повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую «рутинную составляющую» — одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.
Макрос — это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.
В принципе, существует великое множество языков программирования (Pascal, Fortran, C++, C#, Java, ASP, PHP…), но для всех программ пакета Microsoft Office стандартом является именно встроенный язык VBA. Команды этого языка понимает любое офисное приложение, будь то Excel, Word, Outlook или Access.
Способ 1. Создание макросов в редакторе Visual Basic
Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно — редактор программ на VBA, встроенный в Microsoft Excel.
- В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис — Макрос — Редактор Visual Basic (Toos — Macro — Visual Basic Editor).
- В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer). Выбираем Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer). Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic (Visual Basic Editor)
:
К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:
Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:
- Обычные модули — используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert — Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:
- Модуль Эта книга — также виден в левом верхнем углу редактора Visual Basic в окне, которое называется Project Explorer. В этот модуль обычно записываются макросы, которые должны выполнятся при наступлении каких-либо событий в книге (открытие или сохранение книги, печать файла и т.п.):
- Модуль листа — доступен через Project Explorer и через контекстное меню листа, т.е. правой кнопкой мыши по ярлычку листа — команда Исходный текст (View Source). Сюда записывают макросы, которые должны выполняться при наступлении определенных событий на листе (изменение данных в ячейках, пересчет листа, копирование или удаление листа и т.д.)
Обычный макрос, введенный в стандартный модуль выглядит примерно так:
Давайте разберем приведенный выше в качестве примера макрос Zamena:
- Любой макрос должен начинаться с оператора Sub, за которым идет имя макроса и список аргументов (входных значений) в скобках. Если аргументов нет, то скобки надо оставить пустыми.
- Любой макрос должен заканчиваться оператором End Sub.
- Все, что находится между Sub и End Sub — тело макроса, т.е. команды, которые будут выполняться при запуске макроса. В данном случае макрос выделяет ячейку заливает выделенных диапазон (Selection) желтым цветом (код = 6) и затем проходит в цикле по всем ячейкам, заменяя формулы на значения. В конце выводится окно сообщения (MsgBox).
С ходу ясно, что вот так сразу, без предварительной подготовки и опыта в программировании вообще и на VBA в частности, сложновато будет сообразить какие именно команды и как надо вводить, чтобы макрос автоматически выполнял все действия, которые, например, Вы делаете для создания еженедельного отчета для руководства компании. Поэтому мы переходим ко второму способу создания макросов, а именно…
Способ 2. Запись макросов макрорекордером
Макрорекордер — это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:
- Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу — запись останавливается.
- Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
- Если во время записи макроса макрорекордером вы ошиблись — ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) — во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.
Чтобы включить запись необходимо:
- в Excel 2003 и старше — выбрать в меню Сервис — Макрос — Начать запись (Tools — Macro — Record New Macro)
- в Excel 2007 и новее — нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)
Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:
- Имя макроса — подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
- Сочетание клавиш — будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис — Макрос — Макросы — Выполнить (Tools — Macro — Macros — Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
- Сохранить в… — здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
- Эта книга — макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
- Новая книга — макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
- Личная книга макросов — это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.
После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording).
Запуск и редактирование макросов
Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или — в старых версиях Excel — через меню Сервис — Макрос — Макросы (Tools — Macro — Macros):
- Любой выделенный в списке макрос можно запустить кнопкой Выполнить (Run).
- Кнопка Параметры (Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
- Кнопка Изменить (Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.
Создание кнопки для запуска макросов
Чтобы не запоминать сочетание клавиш для запуска макроса, лучше создать кнопку и назначить ей нужный макрос. Кнопка может быть нескольких типов:
Кнопка на панели инструментов в Excel 2003 и старше
Откройте меню Сервис — Настройка (Tools — Customize) и перейдите на вкладку Команды (Commands). В категории Макросы легко найти веселый желтый «колобок» — Настраиваемую кнопку (Custom button):
Перетащите ее к себе на панель инструментов и затем щелкните по ней правой кнопкой мыши. В контекстом меню можно назначить кнопке макрос, выбрать другой значок и имя:
Кнопка на панели быстрого доступа в Excel 2007 и новее
Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar):
Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:
Кнопка на листе
Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:
- В Excel 2003 и старше — откройте панель инструментов Формы через меню Вид — Панели инструментов — Формы (View — Toolbars — Forms)
- В Excel 2007 и новее — откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)
Выберите объект Кнопка (Button):
Затем нарисуйте кнопку на листе, удерживая левую кнопку мыши. Автоматически появится окно, где нужно выбрать макрос, который должен запускаться при щелчке по нарисованной кнопке.
Создание пользовательских функций на VBA
Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция — только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).
Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert — Module и введем туда текст нашей функции:
Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка — Функция) в категории Определенные пользователем (User Defined):
После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией: