About Victor SantAnna

Professor de Informática e blogueiro, adoro esclarecer as dúvidas - quando posso - de alunos, ex-alunos e público em geral.

Spam Automatic Machine – Blogs

Eu sei que esse post, com este título – Spam Automatic Machine – vai atrair gente errada, querendo uma máquina pra fazer spam automático em blogs, mas eu estou escrevendo só pra reclamar destas mensagens automáticas (geralmente SPAM em inglês, mas tenho recebido em francês e, recentemente, uma em português).

De vez em quando um idiota mal preparado esquece de configurar corretamente seu programa automático de SPAM e eu recebo o arquivo inteiro de sentenças, o que é útil para detectar outros (futuros) golpes de “vou elogiar ou comentar e ele vai aprovar miinha mensagem sem saber que é um spam descarado”.

Spam Automatic Machine não existe, de verdade, mas scripts para postar comentários em blogs e fazer propaganda de graça tem aos montes por aí….

Ta aí o arquivo, para quem quer estudar a coisa:

 

{
{I have|I’ve} been {surfing|browsing} online more than {three|3|2|4} hours today, yet I
never found any interesting article like yours.

{It’s|It is} pretty worth enough for me. {In my opinion|Personally|In my view}, if all {webmasters|site owners|website owners|web owners} and bloggers made good content as you
did, the {internet|net|web} will be {much more|a lot more}
useful than ever before.|
I {couldn’t|could not} {resist|refrain from} commenting.
{Very well|Perfectly|Well|Exceptionally well} written!|
{I will|I’ll} {right away|immediately} {take hold
of|grab|clutch|grasp|seize|snatch} your {rss|rss feed} as I {can not|can’t} {in finding|find|to
find} your {email|e-mail} subscription {link|hyperlink} or {newsletter|e-newsletter}
service. Do {you have|you’ve} any? {Please|Kindly} {allow|permit|let} me {realize|recognize|understand|recognise|know}
{so that|in order that} I {may just|may|could} subscribe.
Thanks.|
{It is|It’s} {appropriate|perfect|the best} time to make some plans for the
future and {it is|it’s} time to be happy. {I have|I’ve} read this post and if I could I {want
to|wish to|desire to} suggest you {few|some} interesting things or {advice|suggestions|tips}.
{Perhaps|Maybe} you {could|can} write next articles
referring to this article. I {want to|wish to|desire to} read {more|even more} things about it!|
{It is|It’s} {appropriate|perfect|the best} time to make {a few|some} plans
for {the future|the longer term|the long run} and {it is|it’s} time
to be happy. {I have|I’ve} {read|learn} this {post|submit|publish|put up} and if I {may just|may|could} I {want to|wish
to|desire to} {suggest|recommend|counsel} you {few|some} {interesting|fascinating|attention-grabbing} {things|issues} or {advice|suggestions|tips}.

{Perhaps|Maybe} you {could|can} write {next|subsequent} articles {relating to|referring to|regarding} this article.
I {want to|wish to|desire to} {read|learn} {more|even more} {things|issues} {approximately|about} it!|
{I have|I’ve} been {surfing|browsing} {online|on-line} {more than|greater than} {three|3} hours {these days|nowadays|today|lately|as of late},
{yet|but} I {never|by no means} {found|discovered} any {interesting|fascinating|attention-grabbing} article like yours.
{It’s|It is} {lovely|pretty|beautiful} {worth|value|price}
{enough|sufficient} for me. {In my opinion|Personally|In
my view}, if all {webmasters|site owners|website owners|web owners} and bloggers made {just right|good|excellent} {content|content material} as {you did|you probably
did}, the {internet|net|web} {will be|shall be|might be|will probably be|can be|will likely be}
{much more|a lot more} {useful|helpful} than ever before.|
Ahaa, its {nice|pleasant|good|fastidious} {discussion|conversation|dialogue} {regarding|concerning|about|on the topic of} this
{article|post|piece of writing|paragraph} {here|at this
place} at this {blog|weblog|webpage|website|web site}, I have read
all that, so {now|at this time} me also commenting {here|at this place}.|
I am sure this {article|post|piece of writing|paragraph} has touched all the internet {users|people|viewers|visitors}, its really really {nice|pleasant|good|fastidious} {article|post|piece of writing|paragraph} on building up
new {blog|weblog|webpage|website|web site}.|
Wow, this {article|post|piece of writing|paragraph} is {nice|pleasant|good|fastidious}, my {sister|younger sister} is analyzing {such|these|these kinds of} things, {so|thus|therefore} I am going to {tell|inform|let know|convey} her.|
{Saved as a favorite|bookmarked!!}, {I really like|I like|I love} {your
blog|your site|your web site|your website}!|
Way cool! Some {very|extremely} valid points! I appreciate
you {writing this|penning this} {article|post|write-up} {and the|and also the|plus the} rest of the {site is|website
is} {also very|extremely|very|also really|really}
good.|
Hi, {I do believe|I do think} {this is an excellent|this is a great}
{blog|website|web site|site}. I stumbledupon it ;) {I will|I am going to|I’m going to|I
may} {come back|return|revisit} {once again|yet again} {since I|since i have}
{bookmarked|book marked|book-marked|saved as
a favorite} it. Money and freedom {is the best|is the greatest} way to change, may you be rich and continue to {help|guide} {other people|others}.|
Woah! I’m really {loving|enjoying|digging} the template/theme of this {site|website|blog}.
It’s simple, yet effective. A lot of times it’s {very hard|very difficult|challenging|tough|difficult|hard}
to get that “perfect balance” between {superb usability|user friendliness|usability}
and {visual appearance|visual appeal|appearance}.
I must say {that you’ve|you have|you’ve} done a {awesome|amazing|very good|superb|fantastic|excellent|great} job with this.
{In addition|Additionally|Also}, the blog loads {very|extremely|super}
{fast|quick} for me on {Safari|Internet explorer|Chrome|Opera|Firefox}.
{Superb|Exceptional|Outstanding|Excellent} Blog!|
These are {really|actually|in fact|truly|genuinely} {great|enormous|impressive|wonderful|fantastic} ideas in {regarding|concerning|about|on the
topic of} blogging. You have touched some {nice|pleasant|good|fastidious} {points|factors|things} here.
Any way keep up wrinting.|
{I love|I really like|I enjoy|I like|Everyone loves} what you guys {are|are usually|tend to be} up
too. {This sort of|This type of|Such|This kind of} clever
work and {exposure|coverage|reporting}! Keep up the {superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful}
works guys I’ve {incorporated||added|included} you guys to {|my|our||my
personal|my own} blogroll.|
{Howdy|Hi there|Hey there|Hi|Hello|Hey}! Someone in my {Myspace|Facebook} group shared this
{site|website} with us so I came to {give it a look|look it over|take a look|check
it out}. I’m definitely {enjoying|loving} the information.
I’m {book-marking|bookmarking} and will be tweeting this to my followers!
{Terrific|Wonderful|Great|Fantastic|Outstanding|Exceptional|Superb|Excellent}
blog and {wonderful|terrific|brilliant|amazing|great|excellent|fantastic|outstanding|superb} {style and design|design and style|design}.|
{I love|I really like|I enjoy|I like|Everyone loves} what you guys {are|are
usually|tend to be} up too. {This sort of|This type of|Such|This kind of} clever work and {exposure|coverage|reporting}!
Keep up the {superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful} works guys I’ve {incorporated|added|included} you guys to {|my|our|my
personal|my own} blogroll.|
{Howdy|Hi there|Hey there|Hi|Hello|Hey} would you mind {stating|sharing} which blog platform you’re {working with|using}?
I’m {looking|planning|going} to start my own blog {in the near future|soon} but I’m having a {tough|difficult|hard} time
{making a decision|selecting|choosing|deciding} between BlogEngine/Wordpress/B2evolution
and Drupal. The reason I ask is because your {design and style|design|layout} seems different then most blogs and I’m looking for something
{completely unique|unique}. P.S {My apologies|Apologies|Sorry} for {getting|being} off-topic but I
had to ask!|
{Howdy|Hi there|Hi|Hey there|Hello|Hey} would you mind letting me know which {webhost|hosting company|web
host} you’re {utilizing|working with|using}?

I’ve loaded your blog in 3 {completely different|different} {internet browsers|web
browsers|browsers} and I must say this blog loads a
lot {quicker|faster} then most. Can you {suggest|recommend} a good {internet hosting|web hosting|hosting} provider at a
{honest|reasonable|fair} price? {Thanks a lot|Kudos|Cheers|Thank you|Many thanks|Thanks}, I appreciate it!|
{I love|I really like|I like|Everyone loves} it
{when people|when individuals|when folks|whenever people} {come together|get together} and share
{opinions|thoughts|views|ideas}. Great {blog|website|site}, {keep
it up|continue the good work|stick with it}!|
Thank you for the {auspicious|good} writeup. It in fact was a amusement account it.
Look advanced to {far|more} added agreeable from
you! {By the way|However}, how {can|could} we communicate?|
{Howdy|Hi there|Hey there|Hello|Hey} just wanted to give you a quick heads up.
The {text|words} in your {content|post|article} seem to be running off the screen in {Ie|Internet
explorer|Chrome|Firefox|Safari|Opera}. I’m not sure if this is a {format|formatting} issue or
something to do with {web browser|internet browser|browser} compatibility but I {thought|figured} I’d
post to let you know. The {style and design|design and
style|layout|design} look great though! Hope
you get the {problem|issue} {solved|resolved|fixed} soon.
{Kudos|Cheers|Many thanks|Thanks}|
This is a topic {that is|that’s|which is} {close to|near to} my heart…
{Cheers|Many thanks|Best wishes|Take care|Thank you}!

{Where|Exactly where} are your contact details though?|
It’s very {easy|simple|trouble-free|straightforward|effortless} to
find out any {topic|matter} on {net|web} as compared to {books|textbooks}, as I found
this {article|post|piece of writing|paragraph} at this {website|web site|site|web page}.|
Does your {site|website|blog} have a contact
page? I’m having {a tough time|problems|trouble} locating it but, I’d
like to {send|shoot} you an {e-mail|email}.
I’ve got some {creative ideas|recommendations|suggestions|ideas} for your blog you might be interested in hearing.
Either way, great {site|website|blog} and I look forward to seeing it {develop|improve|expand|grow} over
time.|
{Hola|Hey there|Hi|Hello|Greetings}! I’ve been {following|reading} your {site|web site|website|weblog|blog} for {a long time|a while|some time} now and finally
got the {bravery|courage} to go ahead and give you a
shout out from {New Caney|Kingwood|Huffman|Porter|Houston|Dallas|Austin|Lubbock|Humble|Atascocita}
{Tx|Texas}! Just wanted to {tell you|mention|say} keep up the {fantastic|excellent|great|good} {job|work}!|
Greetings from {Idaho|Carolina|Ohio|Colorado|Florida|Los angeles|California}!

I’m {bored to tears|bored to death|bored} at work so I decided to {check out|browse} your
{site|website|blog} on my iphone during lunch break.
I {enjoy|really like|love} the {knowledge|info|information} you {present|provide} here and can’t wait to
take a look when I get home. I’m {shocked|amazed|surprised} at how {quick|fast} your
blog loaded on my {mobile|cell phone|phone} .. I’m not even using WIFI, just 3G ..
{Anyhow|Anyways}, {awesome|amazing|very good|superb|good|wonderful|fantastic|excellent|great} {site|blog}!|
Its {like you|such as you} {read|learn} my {mind|thoughts}!
You {seem|appear} {to understand|to know|to grasp} {so much|a lot}
{approximately|about} this, {like you|such as you} wrote the
{book|e-book|guide|ebook|e book} in it or something.

{I think|I feel|I believe} {that you|that you simply|that
you just} {could|can} do with {some|a few} {%|p.c.|percent} to {force|pressure|drive|power} the message {house|home} {a bit|a little bit}, {however|but} {other than|instead
of} that, {this is|that is} {great|wonderful|fantastic|magnificent|excellent} blog.
{A great|An excellent|A fantastic} read. {I’ll|I will} {definitely|certainly}
be back.|
I visited {multiple|many|several|various} {websites|sites|web sites|web pages|blogs} {but|except|however} the audio {quality|feature} for audio songs {current|present|existing} at this
{website|web site|site|web page} is {really|actually|in fact|truly|genuinely} {marvelous|wonderful|excellent|fabulous|superb}.|
{Howdy|Hi there|Hi|Hello}, i read your blog {occasionally|from time to time} and i own a similar one and i was just {wondering|curious}
if you get a lot of spam {comments|responses|feedback|remarks}?
If so how do you {prevent|reduce|stop|protect against}
it, any plugin or anything you can {advise|suggest|recommend}?
I get so much lately it’s driving me {mad|insane|crazy} so any {assistance|help|support} is very much
appreciated.|
Greetings! {Very helpful|Very useful} advice {within this|in this particular} {article|post}!
{It is the|It’s the} little changes {that make|which
will make|that produce|that will make} {the biggest|the
largest|the greatest|the most important|the most significant} changes.
{Thanks a lot|Thanks|Many thanks} for sharing!|
{I really|I truly|I seriously|I absolutely} love {your blog|your site|your website}..
{Very nice|Excellent|Pleasant|Great} colors &
theme. Did you {create|develop|make|build} {this website|this site|this web site|this amazing site} yourself?

Please reply back as I’m {looking to|trying to|planning to|wanting to|hoping to|attempting to} create {my own|my very
own|my own personal} {blog|website|site} and {would like to|want to|would love to}
{know|learn|find out} where you got this from or {what the|exactly what the|just what the}
theme {is called|is named}. {Thanks|Many thanks|Thank you|Cheers|Appreciate it|Kudos}!|
{Hi there|Hello there|Howdy}! This {post|article|blog post} {couldn’t|could not} be
written {any better|much better}! {Reading through|Looking at|Going through|Looking through} this {post|article} reminds me of my previous roommate!
He {always|constantly|continually} kept {talking about|preaching about} this.
{I will|I’ll|I am going to|I most certainly will} {forward|send} {this article|this information|this post} to him.
{Pretty sure|Fairly certain} {he will|he’ll|he’s going to} {have a good|have a very good|have a great} read.
{Thank you for|Thanks for|Many thanks for|I appreciate
you for} sharing!|
{Wow|Whoa|Incredible|Amazing}! This blog looks {exactly|just} like my old
one! It’s on a {completely|entirely|totally} different {topic|subject} but it has pretty much the same {layout|page
layout} and design. {Excellent|Wonderful|Great|Outstanding|Superb} choice
of colors!|
{There is|There’s} {definately|certainly} {a lot to|a great
deal to} {know about|learn about|find out about} this
{subject|topic|issue}. {I like|I love|I really like} {all the|all of the} points {you made|you’ve made|you have made}.|
{You made|You’ve made|You have made} some {decent|good|really good}
points there. I {looked|checked} {on the internet|on the web|on
the net} {for more info|for more information|to find
out more|to learn more|for additional information} about the issue and found {most individuals|most people} will go along with your views on {this website|this site|this web site}.|
{Hi|Hello|Hi there|What’s up}, I {log on to|check|read} your {new stuff|blogs|blog} {regularly|like every week|daily|on a regular basis}.

Your {story-telling|writing|humoristic} style is {awesome|witty},
keep {doing what you’re doing|up the good work|it up}!|
I {simply|just} {could not|couldn’t} {leave|depart|go away} your {site|web site|website} {prior to|before} suggesting that I {really|extremely|actually}
{enjoyed|loved} {the standard|the usual} {information|info} {a person|an individual} {supply|provide} {for your|on your|in your|to your} {visitors|guests}?

Is {going to|gonna} be {back|again} {frequently|regularly|incessantly|steadily|ceaselessly|often|continuously} {in order to|to} {check up on|check out|inspect|investigate cross-check} new posts|
{I wanted|I needed|I want to|I need to} to thank you for this {great|excellent|fantastic|wonderful|good|very good} read!!
I {definitely|certainly|absolutely} {enjoyed|loved} every {little
bit of|bit of} it. {I have|I’ve got|I have got} you {bookmarked|book marked|book-marked|saved as a favorite} {to check out|to look at} new {stuff you|things you} post…|
{Hi|Hello|Hi there|What’s up}, just wanted to {mention|say|tell you}, I {enjoyed|liked|loved}
this {article|post|blog post}. It was {inspiring|funny|practical|helpful}.
Keep on posting!|
I {{leave|drop|{write|create}} a {comment|leave a response}|drop
a {comment|leave a response}|{comment|leave a response}} {each time|when|whenever} I {appreciate|like|especially enjoy} a {post|article} on a {site|{blog|website}|site|website} or {I have|if I have} something to
{add|contribute|valuable to contribute} {to the discussion|to the conversation}.

{It is|Usually it is|Usually it’s|It’s} {a result of|triggered by|caused by} the {passion|fire|sincerness} {communicated|displayed} in the {post|article} I
{read|looked at|browsed}. And {on|after} this {post|article} Como ocultar números de algumas páginas no
Word 2003 | xek.mexek.me. I {{was|was actually} moved|{was|was actually} excited} enough to {drop|{leave|drop|{write|create}}|post} a
{thought|{comment|{comment|leave a response}a response}} {:
-P|:)|;)|;-)|:-)} I {do have|actually do have} {{some|a few} questions|a couple of questions|2 questions}
for you {if you {don’t|do not|usually do not|tend
not to} mind|if it’s {allright|okay}}. {Is it|Could
it be} {just|only|simply} me or {do|does it {seem|appear|give
the impression|look|look as if|look like} like} {some|a few} of {the|these} {comments|responses|remarks}
{look|appear|come across} {like they are|as if they are|like}
{coming from|written by|left by} brain dead {people|visitors|folks|individuals}?
:-P And, if you are {posting|writing} {on|at}
{other|additional} {sites|social sites|online sites|online social sites|places}, {I’d|I would} like to
{follow|keep up with} {you|{anything|everything} {new|fresh} you have
to post}. {Could|Would} you {list|make a list} {all|every
one|the complete urls} of {your|all your} {social|communal|community|public|shared} {pages|sites} like your {twitter feed, Facebook page or linkedin profile|linkedin
profile, Facebook page or twitter feed|Facebook page, twitter feed, or
linkedin profile}?|
{Hi there|Hello}, I enjoy reading {all of|through} your
{article|post|article post}. I {like|wanted} to write a little comment to support you.|
I {always|constantly|every time} spent my half an hour
to read this {blog|weblog|webpage|website|web site}’s {articles|posts|articles or reviews|content} {everyday|daily|every day|all the time} along with a {cup|mug} of coffee.|
I {always|for all time|all the time|constantly|every time} emailed this {blog|weblog|webpage|website|web site} post page to all my {friends|associates|contacts}, {because|since|as|for the reason that} if like to read
it {then|after that|next|afterward} my {friends|links|contacts} will too.|
My {coder|programmer|developer} is trying to {persuade|convince} me to
move to .net from PHP. I have always disliked the idea because of the {expenses|costs}.
But he’s tryiong none the less. I’ve been using {Movable-type|WordPress} on {a number of|a variety of|numerous|several|various} websites
for about a year and am {nervous|anxious|worried|concerned} about
switching to another platform. I have heard {fantastic|very good|excellent|great|good}
things about blogengine.net. Is there a way I can {transfer|import} all my wordpress {content|posts} into it?
{Any kind of|Any} help would be {really|greatly} appreciated!|
{Hello|Hi|Hello there|Hi there|Howdy|Good day}! I could have sworn I’ve {been
to|visited} {this blog|this web site|this website|this site|your
blog} before but after {browsing through|going through|looking at} {some of the|a few of the|many of the} {posts|articles} I realized it’s new to me.
{Anyways|Anyhow|Nonetheless|Regardless}, I’m {definitely|certainly} {happy|pleased|delighted} {I found|I discovered|I came across|I stumbled upon} it and I’ll be {bookmarking|book-marking} it and
checking back {frequently|regularly|often}!|
{Terrific|Great|Wonderful} {article|work}!

{This is|That is} {the type of|the kind of} {information|info} {that are meant to|that are supposed to|that should} be shared {around the|across the} {web|internet|net}.
{Disgrace|Shame} on {the {seek|search} engines|Google} for {now not|not|no longer} positioning this {post|submit|publish|put up}
{upper|higher}! Come on over and {talk over with|discuss with|seek advice
from|visit|consult with} my {site|web site|website} .
{Thank you|Thanks} =)|
Heya {i’m|i am} for the first time here. I {came across|found} this
board and I find It {truly|really} useful & it helped me out {a lot|much}.
I hope to give something back and {help|aid} others like you {helped|aided} me.|
{Hi|Hello|Hi there|Hello there|Howdy|Greetings}, {I think|I believe|I
do believe|I do think|There’s no doubt that} {your site|your website|your web site|your blog}
{might be|may be|could be|could possibly be} having {browser|internet browser|web browser} compatibility {issues|problems}.
{When I|Whenever I} {look at your|take a look at your} {website|web site|site|blog} in Safari, it looks fine {but when|however when|however, if|however,
when} opening in {Internet Explorer|IE|I.E.}, {it has|it’s got} some
overlapping issues. {I just|I simply|I merely} wanted to {give you a|provide you with a} quick heads up!
{Other than that|Apart from that|Besides that|Aside from that},
{fantastic|wonderful|great|excellent} {blog|website|site}!|
{A person|Someone|Somebody} {necessarily|essentially} {lend a hand|help|assist}
to make {seriously|critically|significantly|severely} {articles|posts}
{I would|I might|I’d} state. {This is|That is} the {first|very first} time I frequented your {web page|website page} and {to
this point|so far|thus far|up to now}? I {amazed|surprised}
with the {research|analysis} you made to {create|make} {this actual|this particular} {post|submit|publish|put up} {incredible|amazing|extraordinary}.
{Great|Wonderful|Fantastic|Magnificent|Excellent} {task|process|activity|job}!|
Heya {i’m|i am} for {the primary|the first} time here.
I {came across|found} this board and I {in finding|find|to
find} It {truly|really} {useful|helpful} & it helped me
out {a lot|much}. {I am hoping|I hope|I’m hoping} {to give|to offer|to
provide|to present} {something|one thing} {back|again} and
{help|aid} others {like you|such as you} {helped|aided} me.|
{Hello|Hi|Hello there|Hi there|Howdy|Good day|Hey there}!
{I just|I simply} {would like to|want to|wish to} {give you a|offer you a} {huge|big} thumbs
up {for the|for your} {great|excellent} {info|information} {you have|you’ve got|you
have got} {here|right here} on this post. {I will
be|I’ll be|I am} {coming back to|returning to} {your blog|your site|your website|your web site} for more soon.|
I {always|all the time|every time} used to {read|study} {article|post|piece of writing|paragraph} in
news papers but now as I am a user of {internet|web|net} {so|thus|therefore} from now I am using net for {articles|posts|articles or
reviews|content}, thanks to web.|
Your {way|method|means|mode} of {describing|explaining|telling} {everything|all|the whole thing} in this {article|post|piece of writing|paragraph}
is {really|actually|in fact|truly|genuinely} {nice|pleasant|good|fastidious}, {all|every one} {can|be able
to|be capable of} {easily|without difficulty|effortlessly|simply} {understand|know|be aware of} it,
Thanks a lot.|
{Hi|Hello} there, {I found|I discovered} your {blog|website|web site|site} {by means of|via|by the use of|by way
of} Google {at the same time as|whilst|even as|while} {searching for|looking for}
a {similar|comparable|related} {topic|matter|subject},
your {site|web site|website} {got here|came} up, it {looks|appears|seems|seems
to be|appears to be like} {good|great}. {I have|I’ve} bookmarked it in my google
bookmarks.
{Hello|Hi} there, {simply|just} {turned into|became|was|become|changed
into} {aware of|alert to} your {blog|weblog} {thru|through|via} Google, {and found|and located} that {it is|it’s} {really|truly} informative.

{I’m|I am} {gonna|going to} {watch out|be careful} for brussels.

{I will|I’ll} {appreciate|be grateful} {if you|should you|when you|in the event
you|in case you|for those who|if you happen to} {continue|proceed} this
{in future}. {A lot of|Lots of|Many|Numerous} {other folks|folks|other people|people} {will be|shall be|might be|will probably be|can be|will likely be} benefited {from your|out of your} writing.
Cheers!|
{I am|I’m} curious to find out what blog {system|platform} {you have
been|you happen to be|you are|you’re} {working with|utilizing|using}?
I’m {experiencing|having} some {minor|small} security
{problems|issues} with my latest {site|website|blog} and {I would|I’d} like to find something more {safe|risk-free|safeguarded|secure}.
Do you have any {solutions|suggestions|recommendations}?|
{I am|I’m} {extremely|really} impressed with your writing skills {and also|as
well as} with the layout on your {blog|weblog}. Is this a paid theme or
did you {customize|modify} it yourself? {Either way|Anyway} keep up
the {nice|excellent} quality writing, {it’s|it
is} rare to see a {nice|great} blog like this one {these days|nowadays|today}.|
{I am|I’m} {extremely|really} {inspired|impressed} {with your|together
with your|along with your} writing {talents|skills|abilities} {and also|as {smartly|well|neatly} as} with the {layout|format|structure} {for your|on your|in your|to your} {blog|weblog}.
{Is this|Is that this} a paid {subject|topic|subject matter|theme} or
did you {customize|modify} it {yourself|your self}?
{Either way|Anyway} {stay|keep} up the {nice|excellent} {quality|high quality}
writing, {it’s|it is} {rare|uncommon} {to peer|to see|to look} a
{nice|great} {blog|weblog} like this one {these days|nowadays|today}..|
{Hi|Hello}, Neat post. {There is|There’s} {a problem|an issue} {with
your|together with your|along with your} {site|web site|website} in {internet|web} explorer, {may|might|could|would} {check|test} this?
IE {still|nonetheless} is the {marketplace|market} {leader|chief} and {a large|a good|a big|a huge} {part of|section of|component to|portion of|component of|element of} {other folks|folks|other people|people} will {leave out|omit|miss|pass over} your {great|wonderful|fantastic|magnificent|excellent} writing
{due to|because of} this problem.|
{I’m|I am} not sure where {you are|you’re} getting your
{info|information}, but {good|great} topic. I needs to spend some time learning {more|much more} or
understanding more. Thanks for {great|wonderful|fantastic|magnificent|excellent} {information|info}
I was looking for this {information|info} for my mission.|
{Hi|Hello}, i think that i saw you visited my {blog|weblog|website|web site|site} {so|thus} i came to “return the favor”.{I am|I’m} {trying to|attempting to} find things
to {improve|enhance} my {website|site|web site}!I suppose its ok to use {some
of|a few of} your ideas!!\

 

Triste, né? :-(

Lista de funções Excel e sua equivalência no VBA com WorksheetFunction

Aqui estou postando uma lista de funções Excel e sua equivalência no VBA com WorksheetFunction. Usamos a planilha em português, mas para usar dentro do Visual Basic, na programação de macros, precisamos das funções em inglês. Segundo a ajuda do Microsoft Visual Basic for Applications do Excel, na Referência do Desenvolvedor do Excel, o Objeto WorksheetFunction é Usado como contêiner para funções de planilha do Microsoft Excel que podem ser chamadas no Visual Basic.
O WorksheetFunction permite que o Visual Basic do Excel reconheça quase todas as funções disponíveis na planilha para uso dentro do seu código no VBA, mas, infelizmente, exige que o nome da função seja o original em inglês.

Utilização

Ficaria bem mais fácil se eu, no artigo Função Definida pelo Usuário (UDF) no Excel 2010 (http://xek.me/?p=1100em que implementei a função CombinRep (entre outras) que precisava do cálculo do fatorial, ao invés de implementar a função factorial de forma recursiva, usasse a função fatorial que já está disponível na planilha Excel. Naquele artigo, o objetivo era mostrar várias funções criadas pelo usuário, mas, na vida real, raramente queremos reimplementar funções que já existem. Por exemplo, posso fazer o cálculo da média aritmética de 3 números somando todos eles e dividindo-os por 3, mas a planilha Excel já tem disponível a função média que faz isso. Por que não usá-la diretamente dentro do VBA quando estivermos criando nossas funções? Um dos problemas, é que, dentro do VBA, precisamos das funções com seu nome em inglês para podermos usá-las. A função MÉDIA, foi traduzida do Excel em inglês AVERAGE, mas nem todas as funções tem um nome assim fácil de encontrar. A função MÉDIA.GEOMÉTRICA, por exemplo, leva o nome de GEOMEAN, o que não seria tão fácil de encontrar.

Para usar uma função de planilha Excel dentro do VBA é só usar o objeto WorsheetFunction seguido de um ponto e do nome em inglês da função desejada, com os parênteses e argumentos que forem necessários.

Exemplo: FACTDOUBLE é a versão de FATORIALDUPLO, usa-se o objeto WorksheetFunction para podermos usá-la dentro do VBA

Function n_comb(n As Integer, k As Integer)

n_comb = WorksheetFunction.FactDouble(n) / _
(WorksheetFunction.FactDouble(k) * _
 WorksheetFunction.FactDouble(n - k)) 

End Function

Abaixo segue as principais funções disponíveis através do objeto WorksheetFunction, basta escolher a versão em inglês da função e adicioná-la ao seu código VBA da seguinte maneira, conforme visto no exemplo acima:  WorksheetFunction.nomedafunçãoeminglês(argumentos)

Usei as seguintes convenções para separar as funções por tipo:

Categoria Tipo
Banco de dados 1
Data e hora 2
Engenharia 3
Estatística 4
Financeira 5
Informações 6
Lógica 7
Matemática 8
Matemática e trigonometria 9
Pesquisa e referência 10
Texto 11

Aqui vai a tabela de equivalências:

Tipo Função   (Português) Função (Inglês) DESCRIÇÃO
(da Função no Excel)
1 BDCONTAR DCOUNT Conta   as células que contêm números em uma coluna de uma lista ou de um banco de   dados que coincidem com as condições especificadas.
1 BDCONTARA DCOUNTA Conta   as células não vazias em uma coluna de uma lista ou de um banco de dados que   coincidem com as condições especificadas.
1 BDDESVPA DSTDEVP Calcula   o desvio padrão de uma população com base na população total, usando os   números em uma coluna de uma lista ou de um banco de dados que coincidem com   as condições especificadas.
1 BDEST DSTDEV Estima   o desvio padrão de uma população com base em uma amostra, usando os números   em uma coluna de uma lista ou banco de dados que coincidirem com as condições   especificadas.
1 BDEXTRAIR DGET Extrai   um único valor em uma coluna de uma lista ou de um banco de dados que   coincide com as condições especificadas.
1 BDMÁX DMAX Retorna   o maior número em uma coluna de uma lista ou de um banco de dados que   coincide com as condições especificadas.
1 BDMÉDIA DAVERAGE Calcula   a média dos valores em uma coluna de uma lista ou um banco de dados que   corresponde às condições especificadas por você.
1 BDMÍN DMIN Retorna   o menor número em uma coluna de uma lista ou de um banco de dados que   coincide com as condições especificadas.
1 BDMULTIPL DPRODUCT Multiplica   os valores em uma coluna de uma lista ou de um banco de dados que coincidem   com as condições especificadas.
1 BDSOMA DSUM Soma   os números em uma coluna de uma lista ou de um banco de dados que coincidem   com as condições especificadas.
1 BDVAREST DVAR Estima   a variância de uma população com base em uma amostra, usando os números em   uma coluna de uma lista ou de um banco de dados que coincidem com as   condições especificadas.
1 BDVARP DVARP Calcula   a variância de uma população com base na população total usando os números em   uma coluna de uma lista ou de um banco de dados que coincidem com as   condições especificadas.
2 FRAÇÃOANO YEARFRAC Calcula   a fração de ano que representa o número de dias inteiros entre duas datas   (data_inicial e data_final). Use a função de planilha FRAÇÃOANO para   identificar a proporção dos benefícios ou obrigações de um ano inteiro a   serem designados para um determinado termo.
2 DATAM EDATE Retorna   um número de série de data que é o número de meses indicado antes ou depois   de data_inicial. Use DATAM para calcular datas de liquidação ou datas de   vencimento que caem no mesmo dia do mês da data de emissão.
2 DIA.DA.SEMANA WEEKDAY Retorna   o dia da semana correspondente a uma data. O dia é dado como um inteiro,   variando de 1 (domingo) a 7 (sábado), por padrão.
2 DIAS360 DAYS360 Retorna   o número de dias entre duas datas com base em um ano de 360 dias (doze meses   de 30 dias).
2 DIATRABALHO WORKDAY Retorna   um número que representa uma data que é o número indicado de dias úteis antes   ou após uma data (a data inicial). Os dias úteis excluem fins de semana e   quaisquer datas identificadas como feriados. Use DIATRABALHO para excluir os   fins de semana ou feriados ao calcular as datas de vencimento de fatura,   horas de entrega esperadas ou o número de dias de trabalho executado.
2 DIATRABALHOTOTAL NETWORKDAYS Retorna   o número de dias úteis inteiros entre data_inicial e data_final. Dias úteis   excluem finais de semana e qualquer data identificada como feriado. Use   DIATRABALHOTOTAL para calcular benefícios dos empregados que se acumulam com   base no número de dias trabalhados durante um prazo específico.
2 FIMMÊS EOMONTH Retorna   o número de série para o último dia do mês, que é o número indicado de meses   antes ou depois de data_inicial. Use FIMMÊS para calcular as datas de   vencimento que caem no último dia do mês.
2 NÚMSEMANA WEEKNUM Retorna   o número que indica onde se encontra a semana, numericamente, em um ano.
3 BESSELI BESSELI Retorna   a função de Bessel modificada, que equivale à função de Bessel avaliada por   argumentos puramente imaginários.
3 BESSELJ BESSELJ Retorna   a função de Bessel.
3 BESSELK BESSELK Retorna   a função de Bessel modificada, que equivale às funções de Bessel avaliadas   por argumentos puramente imaginários.
3 BESSELY BESSELY Retorna   a função de Bessel, também chamada de função de Weber ou de Neumann.
3 BINADEC BIN2DEC Converte   um número binário em decimal.
3 BINAHEX BIN2HEX Converte   um número binário em hexadecimal.
3 BINAOCT BIN2OCT Converte   um número binário em octal.
3 COMPLEXO COMPLEX Converte   coeficientes reais e imaginários em números complexos no formato x + yi ou x   + yj.
3 CONVERTER CONVERT Converte   um número de um sistema de medida para outro. Por exemplo, Convert pode   traduzir uma tabela de distâncias em milhas para uma tabela de distâncias em   quilômetros.
3 DECABIN DEC2BIN Converte   um número decimal em binário.
3 DECAHEX DEC2HEX Converte   um número decimal em hexadecimal.
3 DECAOCT DEC2OCT Converte   um número decimal em octal.
3 DEGRAU GESTEP Retorna   1 se núm = passo; caso contrário, retornará 0. Use esta função para filtrar   um conjunto de valores. Por exemplo, somando várias funções DEGRAU é possível   calcular a quantidade de valores que excedem um limite.
3 DELTA DELTA Testa   se dois valores são iguais. Retorna 1 se núm1= núm2; caso contrário,   retornará 0.
3 FUNERRO ERF Retorna   a função de erro integrada entre limite_inferior e limite_superior.
3 FUNERROCOMPL ERFC Retorna   a função integrada complementar FUNERRO entre o parâmetro especificado e o   infinito.
3 HEXABIN HEX2BIN Converte   um número hexadecimal em binário.
3 HEXADEC HEX2DEC Converte   um número hexadecimal em decimal.
3 HEXAOCT HEX2OCT Converte   um número hexadecimal em octal.
3 IMABS IMABS Retorna   o valor absoluto (módulo) de um número complexo no formato de texto x + yi ou   x + yj.
3 IMAGINÁRIO IMAGINARY Retorna   o coeficiente imaginário de um número complexo no formato de texto x + yi ou   x + yj.
3 IMARG IMARGUMENT Retorna   o argumento Teta(teta), um ângulo expresso em radianos, de modo que: Equação
3 IMCONJ IMCONJUGATE Retorna   o conjugado complexo de um número complexo no formato de texto x + yi ou x +   yj.
3 IMCOS IMCOS Retorna   o cosseno de um número complexo no formato de texto x + yi ou x + yj.
3 IMDIV IMDIV Retorna   o quociente de dois números complexos no formato de texto x + yi ou x + yj.
3 IMEXP IMEXP Retorna   o exponencial de um número complexo no formato de texto x + yi ou x + yj.
3 IMLN IMLN Retorna   o logaritmo natural de um número complexo no formato de texto x + yi ou x +   yj.
3 IMLOG10 IMLOG10 Retorna   o logaritmo comum (base 10) de um número complexo no formato de texto x + yi   ou x + yj.
3 IMLOG2 IMLOG2 Retorna   o logaritmo de base 2 de um número complexo no formato de texto x + yi ou x +   yj.
3 IMPOT IMPOWER Retorna   o número complexo no formato de texto x + yi ou x + yj, elevado a uma   potência.
3 IMPROD IMPRODUCT Retorna   o produto de 2 a 29 números complexos no formato de texto x + yi ou x + yj.
3 IMRAIZ IMSQRT Retorna   a raiz quadrada de um número complexo no formato de texto x + yi ou x + yj.
3 IMREAL IMREAL Retorna   o coeficiente real de um número complexo no formato de texto x + yi ou x +   yj.
3 IMSENO IMSIN Retorna   o seno de um número complexo no formato de texto x + yi ou x + yj.
3 IMSOMA IMSUM Retorna   a soma de dois ou mais números complexos no formato de texto x + yi ou x + yj   .
3 IMSUBTR IMSUB Retorna   a diferença entre dois números complexos no formato de texto x + yi ou x +   yj.
3 OCTABIN OCT2BIN Converte   um número octal em binário.
3 OCTADEC OCT2DEC Converte   um número octal em decimal.
3 OCTAHEX OCT2HEX Converte   um número octal em hexadecimal.
4 BETA.ACUM.INV BETAINV Retorna   o inverso da função de distribuição cumulativa para uma distribuição beta   especificada. Ou seja, se probabilidade = DistBeta(x,…),   Beta.Acum.Inv(probabilidade,…) = x.
4 CONT.SE COUNTIF Calcula   o número de células não vazias em um intervalo que corresponde a determinados   critérios.
4 CONT.SES COUNTIFS Calcula   o número de células não vazias em um intervalo que correspondem a múltiplos   critérios.
4 CONT.VALORES COUNTA Calcula   o número de células não vazias e os valores na lista de argumentos.
4 CONTAR.VAZIO COUNTBLANK Conta   o número de células vazias no intervalo especificado.
4 CONTNÚM COUNT Conta   quantas células contêm números e conta os números na lista de argumentos.
4 CORREL CORREL Retorna   o coeficiente de correlação dos intervalos de célula Arg1 e Arg2.
4 COVAR COVAR Retorna   a covariância, a média dos produtos dos desvios para cada par de pontos de   dados.
4 CRESCIMENTO GROWTH Calcula   o crescimento exponencial previsto usando dados existentes. CRESCIMENTO   retorna os valores y para uma série de novos valores x que você especifica   usando valores x e y existentes. Você também pode usar a função de planilha   CRESCIMENTO para ajustar uma curva exponencial em valores x e y.
4 CRIT.BINOM CRITBINOM Retorna   o menor valor para o qual a distribuição binomial cumulativa é maior ou igual   ao valor padrão.
4 CURT KURT Retorna   a curtose de um conjunto de dados. A curtose caracteriza a capacidade   relativa de pico ou de nivelamento de uma distribuição comparada com a   distribuição normal. Curtose positiva indica uma distribuição relativamente   de pico. Curtose negativa indica uma distribuição relativamente nivelada.
4 DESV.MÉDIO AVEDEV Retorna   a média dos desvios absolutos de pontos de dados com relação a sua média.   Desv.Médio é uma medida da variabilidade em um conjunto de dados.
4 DESVPAD STDEV Estima   o desvio padrão com base em uma amostra. O desvio padrão é uma medida de   quanto os valores estão dispersos em relação ao valor médio (a média).
4 DESVPADP STDEVP Calcula   o desvio padrão com base na população inteira fornecida como argumentos. O   desvio padrão é uma medida de quanto os valores estão dispersos em relação ao   valor médio (a média).
4 DESVQ DEVSQ Retorna   a soma dos quadrados dos desvios de pontos de dados da média da amostra.
4 DIST.BIN.NEG NEGBINOMDIST Retorna a distribuição binomial negativa. DIST.BIN.NEG retorna a probabilidade de haver núm_f falhas antes do núm_s êxito, quando a probabilidade constante de um êxito é probabilidade_s. Esta função é semelhante à distribuição binomial, a diferença é que o número de êxitos é fixo e o número de tentativas é variável. Como o binomial, as tentativas são consideradas independentes.
4 DIST.HIPERGEOM HYPGEOMDIST Retorna   a distribuição hipergeométrica. DIST.HIPERGEOM retorna a probabilidade de um   determinado número de sucessos de uma amostra, de acordo com o tamanho da   amostra, sucessos da população e tamanho da população. Use DIST.HIPERGEOM   para problemas com uma população finita, onde cada observação seja   equivalente a um sucesso ou a um fracasso, e onde cada subconjunto de um   determinado tamanho seja escolhido com igual probabilidade.
4 DIST.LOGNORMAL LOGNORMDIST Retorna   a distribuição lognormal de x, onde In(x) é normalmente distribuído com média   de parâmetros e desv_padrão. Use essa função para analisar dados que foram   transformados como logaritmos.
4 DIST.NORM NORMDIST Retorna   a distribuição normal para a média e o desvio padrão especificados. Esta   função é bastante aplicada em estatísticas, incluindo testes de hipóteses.
4 DIST.NORMP NORMSDIST Retorna   a função de distribuição cumulativa normal padrão. A distribuição tem uma   média igual a 0 (zero) e um desvio padrão de um. Use esta função no lugar de   uma tabela de áreas de curva normal padrão.
4 DIST.QUI CHIDIST Retorna   a probabilidade unicaudal da distribuição qui-quadrada.
4 DISTBETA BETADIST Retorna   a função de distribuição cumulativa beta.
4 DISTEXPON EXPONDIST Retorna   a distribuição exponencial. Use DISTEXPON para criar um modelo do tempo entre   os eventos, como quanto tempo determinado caixa eletrônico leva para liberar   o dinheiro. Por exemplo, você pode usar DISTEXPON para determinar a   probabilidade de que o processo leve no máximo um minuto.
4 DISTF FDIST Retorna   a distribuição de probabilidade F. Você pode usar esta função para determinar   se dois conjuntos de dados têm graus de diversidade diferentes. Por exemplo,   é possível examinar os resultados dos testes de homens e mulheres que   ingressam no 2º grau e determinar se a variabilidade entre as mulheres é   diferente daquela encontrada entre os homens.
4 DISTGAMA GAMMADIST Retorna   a distribuição gama. Use esta função para estudar variáveis que podem ter uma   distribuição inclinada. A distribuição gama costuma ser usada na análise de   enfileiramento de mensagens.
4 DISTORÇÃO SKEW Retorna   a distorção de uma distribuição. O valor enviesado caracteriza o grau de   assimetria de uma distribuição em torno de sua média. Um valor enviesado   positivo indica uma distribuição com uma ponta assimétrica que se estende em   direção a valores mais positivos. Um valor enviesado negativo indica uma   distribuição com uma ponta assimétrica que se estende em direção a valores   mais negativos.
4 DISTRBINOM BINOMDIST Retorna   a probabilidade de distribuição binomial do termo individual.
4 DISTT TDIST Retorna   os pontos percentuais (probabilidade) para a distribuição t de Student, onde   o valor numérico (x) é um valor calculado de t para o qual os pontos   percentuais devem ser computados. A distribuição t é usada no teste de   hipóteses de pequenos conjuntos de dados de amostras. Use esta função em vez   de uma tabela de valores críticos para a distribuição t.
4 EPADYX STEYX Retorna   o erro padrão do valor-y previsto para cada x da regressão. O erro padrão é   uma medida da quantidade de erro na previsão de y para um x individual.
4 FISHER FISHER Retorna   a transformação Fisher em x. Essa transformação produz uma função que é   normalmente distribuída em vez de distorcida. Use esta função para executar   testes de hipóteses no coeficiente de correlação.
4 FISHERINV FISHERINV Retorna   o inverso da transformação Fisher. Use esta transformação ao analisar   correlações entre intervalos ou matrizes de dados. Se y = FISHER(x), então   FISHERINV(y) = x.
4 FREQÜÊNCIA FREQUENCY Calcula   a frequência com que valores ocorrem em um intervalo de valores e, em   seguida, retorna uma matriz vertical de números. Por exemplo, use FREQUÊNCIA   para contar o número de notas de testes dentro de intervalos de notas. Pelo   fato de FREQUÊNCIA retornar uma matriz, deve ser inserida como uma fórmula   matricial.
4 INCLINAÇÃO SLOPE Retorna   a inclinação da linha de regressão linear através de pontos de dados em   val_conhecidos_y e val_conhecidos_x. A inclinação é a distância vertical   dividida pela distância horizontal entre dois pontos quaisquer na linha, que   é a taxa de mudança ao longo da linha de regressão.
4 INT.CONFIANÇA CONFIDENCE Retorna   um valor que você pode usar para construir um intervalo de confiança para uma   média da população.
4 INTERCEPÇÃO INTERCEPT Calcula   o ponto no qual uma linha irá interceptar o eixo y usando valores de x e y   existentes. O ponto de interseção é baseado em uma linha de regressão de   melhor ajuste plotada pelos valores de x e y conhecidos. Use a função   INTERCEPÇÃO quando quiser determinar o valor da variável dependente e a   variável independente for 0 (zero). Por exemplo, você pode usar a função   INTERCEPÇÃO para prever a resistência elétrica de um metal a 0°C quando os   pontos de dados forem medidos em temperatura ambiente ou mais elevada.
4 INV.NORM NORMINV Retorna   o inverso da distribuição cumulativa normal para a média especificada e o   desvio padrão.
4 INV.NORMP NORMSINV Retorna   o inverso da distribuição padrão cumulativa normal. A distribuição tem uma   média de zero e um desvio padrão de um.
4 INV.QUI CHIINV Retorna   o inverso da probabilidade unicaudal da distribuição qui-quadrada.
4 INVF FINV Retorna   o inverso da distribuição de probabilidades F. Se p = DISTF(x,…), então   INVF(p,…) = x.
4 INVGAMA GAMMAINV Retorna   o inverso da distribuição cumulativa gama. Se p = DISTGAMA(x;…), então   INVGAMA(p;…) = x.
4 INVLOG LOGINV Use   a distribuição lognormal para analisar dados transformados logaritmicamente.
4 INVT TINV Retorna   o valor t da distribuição t de Student como uma função da probabilidade e dos   graus de liberdade.
4 LNGAMA GAMMALN Retorna   o logaritmo natural da função gama, G(x).
4 MAIOR LARGE Retorna   o k-ésimo maior valor em um conjunto de dados. Você pode usar essa função   para selecionar um valor com base em sua posição relativa. Por exemplo, você   pode usar MAIOR para retornar a maior pontuação ou o terceiro lugar.
4 MÁXIMO MAX Retorna   o maior valor em um conjunto de valores.
4 MED MEDIAN Retorna   o mediano dos números fornecidos. O mediano é o número no meio de um conjunto   de números.
4 MÉDIA AVERAGE Retorna   a média aritmética dos argumentos.
4 MÉDIA.GEOMÉTRICA GEOMEAN Retorna   a média geométrica de uma matriz ou de um intervalo de dados positivos. Por   exemplo, você pode usar MÉDIA.GEOMÉTRICA para calcular o crescimento médio   considerando-se juros compostos com taxas variáveis.
4 MÉDIA.HARMÔNICA HARMEAN Retorna   a média harmônica de um conjunto de dados. A média harmônica é a recíproca da   média aritmética das recíprocas.
4 MÉDIA.INTERNA TRIMMEAN Retorna   a média do interior de um conjunto de dados. MÉDIA.INTERNA calcula a média   obtida excluindo-se uma porcentagem dos pontos de dados das pontas superior e   inferior de um conjunto de dados. Você pode usar esta função quando quiser   excluir dados externos à sua análise.
4 MÉDIASE AVERAGEIF Retorna   a média (aritmética) de todas as células em um intervalo que satisfazem um   determinado critério.
4 MÉDIASES AVERAGEIFS Retorna   a média (aritmética) de todas as células que satisfazem múltiplos critérios.
4 MENOR SMALL Retorna   o k-ésimo menor valor do conjunto de dados. Use esta função para retornar   valores com uma posição específica relativa em um conjunto de dados.
4 MÍNIMO MIN Retorna   o menor número em um conjunto de valores.
4 MODO MODE Retorna   o valor que ocorre com mais frequência, ou repetitivo, em uma matriz ou   intervalo de dados.
4 ORDEM RANK Retorna   a posição de um número em uma lista de números. A ordem de um número é seu   tamanho em relação a outros valores de uma lista. (Se você fosse classificar   a lista, a ordem do número seria a sua posição).
4 ORDEM.PORCENTUAL PERCENTRANK Retorna   a ordem de um valor em um conjunto de dados como uma porcentagem do conjunto   de dados. Essa função pode ser usada para avaliar a posição relativa de um   valor em um conjunto de dados. Por exemplo, você pode usar ORDEM.PORCENTUAL   para avaliar a posição de uma nota em um teste de aptidão entre todas as   notas do teste.
4 PADRONIZAR STANDARDIZE Retorna   um valor normalizado de uma distribuição caracterizada por média e   desv_padrão.
4 PEARSON PEARSON Retorna   o coeficiente de correlação do momento do produto Pearson, r, um índice sem   dimensão que varia de -1,0 a 1,0 inclusive e reflete a extensão de uma   relação linear entre dois conjuntos de dados.
4 PERCENTIL PERCENTILE Retorna   o percentil k-ésimo dos valores de um intervalo. Você pode usar esta função   para estabelecer um limite de aceitação. Por exemplo, pode decidir examinar   candidatos com notas superiores ao percentil 90º.
4 PERMUT PERMUT Retorna   o número de permutas de um determinado número de objetos que podem ser   selecionadas a partir do número de objetos. Uma permuta é qualquer conjunto   ou subconjunto de objetos ou eventos em que a ordem interna é significativa.   Permutas são diferentes de combinações, nas quais a ordem interna não é   significativa. Use esta função para cálculos de probabilidade no estilo de   loteria.
4 POISSON POISSON Retorna   a distribuição Poisson. Uma aplicação comum da distribuição Poisson é prever   o número de eventos em um período específico, como o número de carros que   passam por um pedágio por minuto.
4 PREVISÃO FORECAST Calcula,   ou prevê, um valor futuro usando valores existentes. O valor previsto é um   valor de y para um determinado valor de x. Os valores conhecidos são valores   de x e de y existentes, e o novo valor é previsto através da regressão   linear. Você pode usar esta função para fazer previsões de vendas futuras,   inventariar os recursos necessários ou analisar tendências de consumo.
4 PROB PROB Retorna   a probabilidade de os valores de um intervalo estarem entre dois limites. Se   limite_superior não for fornecido, retornará a probabilidade dos valores do   intervalo_x serem iguais ao limite_inferior.
4 PROJ.LIN LINEST Calcula   as estatísticas de uma linha usando o método “quadrados menores” para   calcular uma linha reta que melhor se adapte aos seus dados e retorna uma   matriz que descreve a linha. Como essa função retorna uma matriz de valores,   ela deve ser inserida como uma fórmula matricial.
4 PROJ.LOG LOGEST Na   análise de regressão, calcula uma curva exponencial adequada aos dados e   retorna uma matriz de valores que descrevem a curva. Como essa função retorna   uma matriz de valores, ela deve ser inserida como uma fórmula matricial.
4 QUARTIL QUARTILE Retorna   o quartil do conjunto de dados. Quartis são comumente usados em dados de   vendas e de pesquisas para dividir a população em grupos. Por exemplo, você   pode usar QUARTIL para descobrir a faixa de 25% maiores rendas em uma   população.
4 RQUAD RSQ Retorna   o quadrado do coeficiente de correlação do momento do produto de Pearson   através dos pontos de dados em val_conhecidos_y e val_conhecidos_x. Para   obter mais informações, consulte PEARSON. O valor r ao quadrado pode ser   interpretado como a proporção da variância em y que pode ser atribuída à   variância em x.
4 TENDÊNCIA TREND Retorna   valores em uma tendência linear. Ajusta uma linha (usando o método de   quadrados mínimos) às matrizes val_conhecidos_y e val_conhecidos_x. Retorna   os valores y nessa linha para a matriz de novos_valores_x que você   especificar.
4 TESTE.QUI CHITEST Retorna   o teste para independência.
4 TESTEF FTEST Retorna   o resultado de um teste F. Um teste F retorna a probabilidade bicaudal de que   as variâncias em matriz1 e matriz2 não sejam significativamente diferentes.   Use esta função para determinar se duas amostras têm variâncias diferentes.   Por exemplo, considerando resultados de testes de escolas particulares e   públicas, você pode testar se essas escolas têm níveis diferentes de   diversidade de pontuação de teste.
4 TESTET TTEST Retorna   a probabilidade associada ao teste t de Student. Use TESTET para determinar   se duas amostras poderão ser provenientes de duas populações subjacentes que   possuem a mesma média.
4 TESTEZ ZTEST Retorna   o valor de probabilidade unicaudal de um teste-z. Para uma média de população   hipotética, TESTEZ retorna a probabilidade de que a média da população seja   maior que a média de observações no conjunto de dados (matriz) — ou seja, a   média da amostra
4 VAR VAR Estima   a variância com base em uma amostra.
4 VARP VARP Calcula   a variância com base na população inteira.
4 WEIBULL WEIBULL Retorna   a distribuição Weibull. Use esta distribuição na análise de confiabilidade,   como no cálculo do tempo médio de falha para determinado dispositivo.
5 AMORDEGRC AMORDEGRC Retorna   a depreciação para cada período contábil. Esta função é fornecida para o   sistema contábil francês.
5 AMORLINC AMORLINC Retorna   a depreciação para cada período contábil. Esta função é fornecida para o   sistema contábil francês.
5 BD DB Retorna   a depreciação de um ativo para um período especificado, usando o método de   balanço de declínio fixo.
5 BDD DDB Retorna   a depreciação de um ativo com relação a um período especificado usando o   método de saldos decrescentes duplos ou qualquer outro método especificado   por você.
5 BDV VDB Retorna   a depreciação de um ativo para o período que você especificar, incluindo   períodos parciais, usando o método balanço declinante duplo ou algum outro   método especificado. BDV é o balanço de declínio variável.
5 CUPDATAANT COUPPCD Retorna   a data de cupom anterior à data de quitação
5 CUPDATAPRÓX COUPNCD Retorna   um número que representa a próxima data de cupom após a data de liquidação.
5 CUPDIAS COUPDAYS Retorna   o número de dias no período de cupom que contém a data de liquidação.
5 CUPDIASINLIQ COUPDAYBS Retorna   o número de dias do início do período de cupom até a data de liquidação.
5 CUPDIASPRÓX COUPDAYSNC Retorna   o número de dias da data de liquidação até a data do próximo cupom.
5 CUPNÚM COUPNUM Retorna   o número de cupons pagáveis entre a data de liquidação e a data de   vencimento, arredondado para o próximo cupom inteiro.
5 DESC DISC Retorna   a taxa de desconto de um título.
5 DPD SLN Retorna   a depreciação em linha reta de um ativo durante um período.
5 DURAÇÃO DURATION Retorna   a duração de Macauley para um valor nominal assumido de R$ 100. A duração é   definida como a média ponderada do valor presente do fluxo de caixa, e é   usada para calcular a resposta do preço de um título a alterações no   rendimento.
5 EFETIVA EFFECT Retorna   a taxa de juros anual efetiva, dados a taxa de juros anual nominal e o número   de períodos compostos por ano.
5 ÉPGTO ISPMT Calcula   os juros pagos durante um período específico de um investimento. Essa função   é fornecida para que haja compatibilidade com o Lotus 1-2-3.
5 IPGTO IPMT Retorna   o pagamento de juros para um determinado período de investimento de acordo   com pagamentos periódicos e constantes e com uma taxa de juros constante.
5 JUROSACUM ACCRINT Retorna   juros acumulados de um título que paga juros periódicos.
5 JUROSACUMV ACCRINTM Retorna   juros acumulados de um título que paga juros no vencimento.
5 LUCRODESC YIELDDISC Retorna   o rendimento anual de um título descontado.
5 LUCROPRIMINC ODDFYIELD Retorna   o rendimento de um título com um período inicial incompleto (curto ou longo).
5 LUCROÚLTINC ODDLYIELD Retorna   o rendimento de um título com um período final incompleto (curto ou longo).
5 LUCROVENC YIELDMAT Retorna   o rendimento anual de um título que paga juros no vencimento.
5 MDURAÇÃO MDURATION Retorna   a duração modificada Macauley de um título com um valor par presumido de   R$100.
5 MOEDADEC DOLLARDE Converte   um preço em formato de moeda, na forma fracionária, em um preço na forma   decimal. Use MOEDADEC para converter preços na forma fracionária, como preços   de seguros, em decimais.
5 MOEDAFRA DOLLARFR Converte   um preço, apresentado na forma decimal, em um preço apresentado na forma   fracionária. Use MOEDAFRA para converter preços na forma decimal em frações,   como preços de seguros.
5 MTIR MIRR Retorna   a taxa interna modificada de retorno de uma série de fluxos de caixa   periódicos. MTIR considera o custo do investimento e os juros recebidos com o   reinvestimento do caixa.
5 NOMINAL NOMINAL Retorna   a taxa de juros anual nominal, dados a taxa efetiva e o número de períodos   compostos por ano.
5 NPER NPER Retorna   o número de períodos de um investimento de acordo com os pagamentos   periódicos e constantes e com uma taxa de juros constante.
5 OTN TBILLEQ Retorna   o rendimento de um título equivalente a uma obrigação do Tesouro.
5 OTNLUCRO TBILLYIELD Retorna   o rendimento de uma obrigação do Tesouro.
5 OTNVALOR TBILLPRICE Retorna   o preço por R$ 100,00 de valor nominal de uma obrigação do Tesouro.
5 PGTO PMT Calcula   o pagamento de um empréstimo com base em pagamentos constantes e em uma taxa   de juros constante.
5 PGTOCAPACUM CUMPRINC Retorna   o capital acumulado pago sobre um empréstimo entre início_período e   final_período.
5 PGTOJURACUM CUMIPMT Retorna   os juros acumulados pagos por um empréstimo entre início_período e   final_período.
5 PPGTO PPMT Retorna   o pagamento sobre o principal para um determinado período de um investimento   baseado em pagamentos periódicos e constantes e em uma taxa de juros   constante.
5 PREÇO PRICE Retorna   o preço pelo valor nominal R$100 de um título que paga juros periódicos.
5 PREÇODESC PRICEDISC Retorna   o preço por valor nominal de R$ 100,00 de um título descontado.
5 PREÇOPRIMINC ODDFPRICE Retorna   o preço por valor nominal de R$ 100 de um título que tem um primeiro período   incompleto (curto ou longo).
5 PREÇOÚLTINC ODDLPRICE Retorna   o preço por valor nominal de R$ 100 de um título que tem um último período de   cupom incompleto (curto ou longo).
5 PREÇOVENC PRICEMAT Retorna   o preço pelo valor nominal R$100 de um título que paga juros no vencimento.
5 RECEBER RECEIVED Retorna   a quantia recebida no vencimento de um título totalmente investido.
5 SDA SYD Retorna   a depreciação dos dígitos da soma dos anos de um ativo para um período   especificado.
5 TAXA RATE Retorna   a taxa de juros por período de uma anuidade. TAXA é calculado por iteração e   pode ter zero ou mais soluções. Se os resultados sucessivos de TAXA não   convergirem para 0,0000001 depois de 20 iterações, TAXA retornará o valor de   erro #NÚM!.
5 TAXAJUROS INTRATE Retorna   a taxa de juros de um título totalmente investido.
5 TIR IRR Retorna   a taxa interna de retorno de uma sequência de fluxos de caixa representada   pelos números em valores. Estes fluxos de caixa não precisam ser iguais como   no caso de uma anuidade. Entretanto, os fluxos de caixa devem ser feitos em   intervalos regulares, como mensalmente ou anualmente. A taxa interna de   retorno é a taxa de juros recebida para um investimento que consiste em   pagamentos (valores negativos) e receitas (valores positivos) que ocorrem em   períodos regulares.
5 VF FV Retorna   o valor futuro de um investimento de acordo com os pagamentos periódicos e   constantes e com uma taxa de juros constante.
5 VFPLANO FVSCHEDULE Retorna   o valor futuro de um capital inicial após a aplicação de uma série de taxas   de juros compostos. Use VFPLANO para calcular o valor futuro de um   investimento com uma taxa variável ou ajustável.
5 VP PV Retorna   o valor presente de um investimento. O valor presente é o valor total de uma   série de pagamentos futuros. Por exemplo, quando você empresta dinheiro, o   valor do empréstimo é o valor presente para o credor.
5 VPL NPV Calcula   o valor líquido atual de um investimento usando uma taxa de desconto e uma   série de pagamentos futuros (valores negativos) e receita (valores positivos)
5 XTIR XIRR Fornece   a taxa interna de retorno para um programa de fluxos de caixa que não é   necessariamente periódico. Para calcular a taxa interna de retorno para uma   sequência de fluxos de caixa periódicos, use a função TIR.
5 XVPL XNPV Retorna   o valor líquido atual de um cronograma de fluxos de caixa que não é   necessariamente periódico. Double de leitura/gravação.
6 É.NÃO.DISP ISNA Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere ao valor de erro #N/D (valor não disponível).
6 É.NÃO.TEXTO ISNONTEXT Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a qualquer item que não seja texto. (Observe que esta função retornará   VERDADEIRO se o valor se referir a uma célula em branco.)
6 ÉERRO ISERR Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a qualquer valor de erro que não seja #N/D.
6 ÉERROS ISERROR Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a qualquer valor de erro (#N/D, #VALOR!, #REF!, #DIV/0!, #NÚM!, #NOME?   ou #NULO!).
6 ÉIMPAR ISODD Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor é ímpar.
6 ÉLÓGICO ISLOGICAL Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a um valor lógico.
6 ÉNÚM ISNUMBER Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a um número.
6 ÉPAR ISEVEN Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor é par.
6 ÉTEXTO ISTEXT Verifica   o tipo de valor e retorna VERDADEIRO ou FALSO, dependendo se o valor se   refere a texto.
7 E AND Retorna   VERDADEIRO se todos os seus argumentos são VERDADEIROS; retorna FALSO se um   ou mais argumentos são FALSOS.
7 OU OR Retorna   VERDADEIRO se algum argumento é VERDADEIRO; retorna FALSO se todos os   argumentos são FALSO.
7 SEERRO IFERROR Retorna   um valor especificado se a fórmula resulta em um erro; caso contrário,   retorna o resultado da fórmula. Use a função SEERRO para interceptar e lidar   com erros em uma fórmula (fórmula: uma sequência de valores, referências   de células, nomes, funções ou operadores em uma célula que juntos produzem um   novo valor. Uma fórmula sempre começa com um sinal de igual (=).).
8 MATRIZ.DETERM MDETERM Retorna   o determinante de uma matriz.
8 MMC LCM Retorna   o menor múltiplo comum dos inteiros. O menor múltiplo comum é o menor inteiro   positivo que é múltiplo de todos os argumentos inteiros núm1, núm2 etc. Use o   MMC para adicionar frações com diferentes denominadores.
8 SOMASE SUMIF Adiciona   as células especificadas por um determinado critério.
8 SUBTOTAL SUBTOTAL Cria   subtotais.
9 ACOS ACOS Retorna   o arco cosseno, ou inverso do cosseno, de um número. O arco cosseno é o   ângulo cujo cosseno é Arg1. O ângulo retornado é dado em radianos no   intervalo de 0 (zero) a pi.
9 ACOSH ACOSH Retorna   o cosseno hiperbólico inverso de um número. O número deve ser maior ou igual   a 1. O cosseno hiperbólico inverso é o valor cujo cosseno hiperbólico é Arg1,   de tal forma que Acosh(Cosh(número)) seja igual a Arg1.
9 ALEATÓRIOENTRE RANDBETWEEN Retorna   um número aleatório inteiro entre os números especificados. Um novo número   aleatório inteiro será retornado sempre que a planilha for calculada.
9 ARRED ROUND Arredonda   um número até uma quantidade especificada de dígitos.
9 ARREDMULTB FLOOR Arredonda   um número para baixo, aproximando-o de zero, até o múltiplo mais próximo de   significância.
9 ARREDONDAR.PARA.BAIXO ROUNDDOWN Arredonda   um número para baixo até zero.
9 ARREDONDAR.PARA.CIMA ROUNDUP Arredonda   um número para cima afastando-o de zero.
9 ASEN ASIN Retorna   o arco seno, ou inverso do seno, de um número. O arco seno é o ângulo cujo   seno é Arg1. O ângulo retornado é dado em radianos no intervalo de -pi/2 a   pi/2.
9 ASENH ASINH Retorna   o seno hiperbólico inverso de um número. O seno hiperbólico inverso é o valor   cujo seno hiperbólico é Arg1, portanto Asenh(Senh(número)) é igual a Arg1.
9 ATAN2 ATAN2 Retorna   o arco tangente, ou a tangente inversa, das coordenadas x e y especificadas.   O arco tangente é o ângulo a partir do eixo x até uma linha contendo a origem   (0, 0) e um ponto com as coordenadas (núm_x, núm_y). O ângulo é dado em   radianos entre -pi e pi, excluindo -pi.
9 ATANH ATANH Retorna   a tangente hiperbólica inversa de um número. O número deve estar entre -1 e 1   (excluindo -1 e 1).
9 COMBIN COMBIN Retorna   o número de combinações de um determinado número de itens. Use Combin para   determinar o número total possível de grupos para determinado número de   objetos.
9 COSH COSH Retorna   o cosseno hiperbólico de um número.
9 FATDUPLO FACTDOUBLE Retorna   o fatorial duplo de um número.
9 FATORIAL FACT Retorna   o fatorial de um número. O fatorial de um número é igual a 1*2*3*…*núm.
9 GRAUS DEGREES Converte   radianos em graus.
9 ÍMPAR ODD Retorna   um número arredondado para o próximo número inteiro ímpar.
9 LN LN Retorna   o logaritmo natural de um número. Logaritmos naturais são baseados na   constante e (2.71828182845904).
9 LOG LOG Retorna   o logaritmo de um número para a base especificada.
9 LOG10 LOG10 Retorna   o logaritmo de base -10 de um número.
9 MARRED MROUND Retorna   um número arredondado para o múltiplo desejado.
9 MATRIZ.INVERSO MINVERSE Retorna   a matriz inversa da matriz armazenada em uma matriz.
9 MATRIZ.MULT MMULT Retorna   o produto matriz de duas matrizes. O resultado é uma matriz com o mesmo   número de linhas como matriz1 e o mesmo número de colunas como matriz2.
9 MDC GCD Retorna   o máximo divisor comum de dois ou mais inteiros. O máximo divisor comum é o   maior inteiro que divide núm1 e núm2 sem resto.
9 MULT PRODUCT Multiplica   todos os números fornecidos como argumentos e retorna o produto.
9 MULTINOMIAL MULTINOMIAL Retorna   a proporção do fatorial de uma soma de valores em relação ao produto dos   fatoriais.
9 PAR EVEN Retorna   o núm arredondado para o inteiro par mais próximo. Esta função pode ser usada   para processar itens que aparecem em pares. Por exemplo, um engradado aceita   fileiras de um ou dois itens. O engradado está cheio quando o número de   itens, arredondado para mais até o par mais próximo, preencher sua   capacidade.
9 PI PI Retorna   o número 3,14159265358979, a constante matemática pi, com precisão de 15   dígitos.
9 POTÊNCIA POWER Retorna   o resultado de um número elevado a uma potência.
9 QUOCIENTE QUOTIENT Retorna   a parte inteira de uma divisão. Use esta função para descartar o resto de uma   divisão.
9 RADIANOS RADIANS Converte   graus em radianos.
9 RAIZPI SQRTPI Retorna   a raiz quadrada de (núm* pi).
9 ROMANO ROMAN Converte   um algarismo arábico em romano, como texto.
9 SENH SINH Retorna   o seno hiperbólico de um número.
9 SOMA SUM Adiciona   todos os números em um intervalo de células.
9 SOMAQUAD SUMSQ Retorna   a soma dos quadrados dos argumentos.
9 SOMARPRODUTO SUMPRODUCT Multiplica   os componentes correspondentes nas matrizes fornecidas e retorna a soma   destes produtos.
9 SOMASEQÜÊNCIA SERIESSUM Retorna   a soma de uma série polinomial baseada na fórmula: Equação
9 SOMASES SUMIFS Adiciona   as células em um intervalo que correspondem a múltiplos critérios.
9 SOMAX2DY2 SUMX2MY2 Retorna   a soma da diferença dos quadrados dos valores correspondentes em duas   matrizes.
9 SOMAX2SY2 SUMX2PY2 Retorna   a soma da soma dos quadrados dos valores correspondentes em duas matrizes. A   soma da soma dos quadrados é um termo comum em muitos cálculos estatísticos.
9 SOMAXMY2 SUMXMY2 Retorna   a soma dos quadrados das diferenças dos valores correspondentes em duas   matrizes.
9 TANH TANH Retorna   a tangente hiperbólica de um número.
9 TETO CEILING Retorna   um número arredondado para cima, afastando-o de zero, até o múltiplo mais   próximo de significância.
10 CORRESP MATCH Retorna   a posição relativa de um item em uma matriz (matriz: usada para criar   fórmulas únicas que produzem vários resultados ou que operam em um grupo de   argumentos organizados em linhas e colunas. Um intervalo de matrizes   compartilha uma fórmula comum; uma constante de matriz é um grupo de   constantes usado como um argumento.) que corresponde a um valor especificado   em uma ordem especificada. Use CORRESP no lugar de uma das funções de PROC   quando precisar da posição de um item em um intervalo, em vez de o próprio   item.
10 ESCOLHER CHOOSE Use   Arg1 como o índice para retornar um valor da lista de argumentos de valor.
10 ÍNDICE INDEX Retorna   um valor ou a referência para um valor de dentro de uma tabela ou intervalo.   Há duas formas da função ÍNDICE: a forma de matriz (matriz: usada para   criar fórmulas únicas que produzem vários resultados ou que operam em um   grupo de argumentos organizados em linhas e colunas. Um intervalo de matrizes   compartilha uma fórmula comum; uma constante de matriz é um grupo de   constantes usado como um argumento.) e a de referência.
10 PROC LOOKUP Retorna   um valor de um intervalo de uma linha ou uma coluna ou de uma matriz. A   função PROC tem dois formatos de sintaxe: vetor e matriz.
10 PROCH HLOOKUP Localiza   um valor específico na linha superior de uma tabela ou matriz de valores e   retorna um valor na mesma coluna de uma linha especificada na tabela ou   matriz. Use PROCH quando seus valores de comparação estiverem localizados em   uma linha ao longo da parte superior de uma tabela de dados e você quiser   observar um número específico de linhas mais abaixo. Use PROCV quando os   valores de comparação estiverem em uma coluna à esquerda dos dados que deseja   localizar.
10 PROCV VLOOKUP Localiza   um valor na primeira coluna de uma matriz de tabela e retorna um valor na   mesma linha de outra coluna na matriz da tabela.
10 RTD RTD Este   método conecta a uma fonte para receber dados em tempo real.
10 TRANSPOR TRANSPOSE Retorna   um intervalo vertical de células como um intervalo horizontal ou vice-versa.   A função TRANSPOR precisa ser inserida como uma fórmula de   matriz (fórmula de matriz: uma fórmula que executa vários cálculos em um   ou mais conjuntos de valores e retorna um único resultado ou vários   resultados. As fórmulas de matriz ficam entre chaves { } e são inseridas   pressionando-se CTRL+SHIFT+ENTER.) em um intervalo com o mesmo número de   linhas e colunas, respectivamente, das existentes em uma matriz (matriz:   usada para criar fórmulas únicas que produzem vários resultados ou que operam   em um grupo de argumentos organizados em linhas e colunas. Um intervalo de   matrizes compartilha uma fórmula comum; uma constante de matriz é um grupo de   constantes usado como um argumento.). Use TRANSPOR para deslocar a orientação   vertical e horizontal de uma matriz em uma planilha.
11 PROCURAR SEARCH As   funções LOCALIZAR e LOCALIZARB localizam uma cadeia de texto dentro de outra   cadeia de texto e retornam o número da posição inicial da primeira cadeia de   texto a partir do primeiro caractere da segunda cadeia de texto.
11 ARRUMAR TRIM Remove   todos os espaços do texto exceto os espaços únicos entre palavras. Use   ARRUMAR no texto que recebeu de outro aplicativo que pode ter espaçamento   irregular.
11 ASC ASC Para   idiomas de conjuntos de caracteres de byte duplo, transforma caracteres de   largura total (byte duplo) em caracteres de meia largura (byte único).
11 BAHTTEXT BAHTTEXT Converte   um número em texto tailandês e adiciona um sufixo de “Baht.”
11 DEF.NÚM.DEC FIXED Arredonda   o número para o número especificado de decimais, formata o número no formato   decimal usando vírgula e pontos e retorna o resultado como texto.
11 FONÉTICA PHONETIC Extrai   os caracteres fonéticos (furigana) de uma cadeia de texto.
11 LOCALIZAR FIND Localiza   informações específicas em uma planilha.
11 MOEDA DOLLAR A   função descrita neste tópico da Ajuda converte um número em formato de texto   e aplica um símbolo de moeda. O nome da função (e o símbolo aplicado) depende   das suas configurações de idioma.
11 MUDAR REPLACE Substitui   parte de uma cadeia de texto, baseada no número de caracteres especificado,   por uma cadeia de texto diferente.
11 PRI.MAIÚSCULA PROPER Aplica   maiúscula à primeira letra de uma cadeia de texto e a qualquer outra letra do   texto que venha depois de qualquer caractere que não seja uma letra. Converte   todas as outras letras em minúsculas.
11 REPT REPT Repete   um texto um determinado número de vezes. Utilize REPT para preencher uma   célula com um número de ocorrências de uma cadeia de texto.
11 SUBSTITUIR REPLACE Substitui   parte de uma cadeia de texto, baseada no número de caracteres especificado,   por uma cadeia de texto diferente.
11 TEXTO TEXT Converte   um valor em texto com um formato de número específico.
11 TIRAR CLEAN Remove   todos os caracteres do texto que não podem ser impressos.

Teclas de Atalho do Windows 8 – Mapa

Fiz um mapa em um imagem para teclas de atalho do Windows 8…

Pois é, achei horrível a nova interface e nunca imaginei que diria isso, mas: que saudade do Windows XP! O Windows 7 já me irritava com suas mudanças escondendo quase tudo. A impressão que me dá é que o Windows 8 terminou o que o Seven começou… Escondeu o resto!

tecla start do windowsPara me ajudar, montei um “mapinha” com atalhos a partir da tecla WIN (aquela tecla com o logotipo “Windows” que costuma ficar entre a tecla Alt e a tecla Fn, à esquerda da barra de espaço). A Tecla Windows, também conhecida como tecla START (por levar a tela inicial) ou ainda como WinKey, é mencionada pela Microsoft como “tecla do logotipo Windows”. Mas este nome é muito grande, então chamaremos ela de tecla START ou de tecla WIN. Mas, voltando ao assunto: com a tecla WIN posso fazer quase tudo de forma rápida… Principalmente para alternar entre desktop e área de aplicativos. A tecla WIN, por exemplo, permite, em conjunto com as teclas 1, 2, 3, etc. chamar os programas que estão na barra de tarefas (primeiro programa, segundo programa, etc.).

barra de tarefas

Eu, na minha máquina, tenho o Internet Explorer como primeiro programa na barra de tarefas, o Explorador de Arquivos como segundo, o terceiro é a Galeria de Fotos e o Movie Maker está na quarta posição. Se eu pressionar a tecla WIN com a tecla 4, irei abrir o Movie Maker. Observação: pressionando a tecla WIN sozinha, ele chama os aplicativos da tela inicial (INICIAR)… Isto é muito útil para mim!

Uso essa imagem com os atalhos como tela de fundo do meu desktop… Eis o mapa de atalhos:

atalhos windows 8Uso essa imagem com os atalhos como tela de fundo do meu desktop…

 A tecla WIN + i, outro exemplo que é muito útil, abre as configurações (Painel de Controle, Personalização, Informações do PC, etc.). Já a combinação de WIN mais alguma das setas de navegação (esquerda, direita, etc.) permite alterar a janela atual. Se a janela estiver maximizada, WIN + tecla para baixo irá fazer com que ela mude de tamanho para o tamanho normal. Se ela já estiver no tamanho normal, será minimizada. WIN + tecla para cima, numa janela de tamanho normal, a maximizará. Em combinação com teclas esquerda e direita, ela preencherá metade da tela da esquerda ou da direita, respectivamente, algo muito útil quando tenho duas janelas que devem ficar lado a lado.

Bom… Se quiser fazer o mesmo que eu, deixar esta imagem como tela de fundo do seu desktop (até decorar os atalhos) faça assim:

1) Salve a imagem Dicas Windows 8 – Tecla START: com o cursor sobre a minha imagem com os atalhos, pressione o botão direito do mouse e escolha a opção salvar imagem como (no Internet Explorer, no Chrome ou em outro navegador) escolhendo alguma pasta de seu computador (lembre onde está salvando);

2) Depois, com o cursor sobre alguma parte sem ícones de seu desktop (área de trabalho), selecione a opção Personalizar (ou, se preferir a utilizar os novos atalhos, use WIN + i e escolha a opção Personalização):

Clipboard01

3) Clique com o mouse em Tela de Fundo da Área de Trabalho:

Clipboard02

 4) Clique no botão Procurar…

Clipboard03

5) Procure a pasta onde você salvou a minha imagem de atalhos e clique em OK:

Clipboard04

6)  Uma janela com todas as imagens contidas na pasta irá surgir, procure e clique na minha imagem salva anteriormente, selecione a opção Centro (em Posição da imagem) e depois clique no botão Salvar alterações:

Clipboard06

Se tudo der certo, você terá na tela de fundo um mapa com os atalhos que eu criei. Bom trabalho!

Clipboard07

 

Como resolver o problema “quantos triângulos há nesta figura?”

Tenho visto coisas…

triâng

Quantos triângulos há nesta imagem?

Gente maluca que não sabe contar direito! Explico: nesses quebra-cabeças do tipo “quantos triângulos há na figura” que abundam nas redes sociais, as pessoas aparecem com as respostas mais estapafúrdias possíveis, pois têm dificuldade de:
(a) identificar triângulos (ou outra figura geométrica) quando formado por outros triângulos,
(b) visualizar o que já foi contado antes, contabilizando o mesmo triângulo mais de uma vez e
(c) conseguir explicar como chegou ao número de triângulos que diz ter certeza ser o certo.
Bom, então como estas questões às vezes aparecem em concursos, na seção denominada (ridiculamente) de “raciocínio lógico”, resolvi elaborar um método, um sistema que permita não só as pessoas contarem corretamente o número de triângulos (ou quadrados ou retângulos, etc.) corretamente como, também, mostrar e convencer outras pessoas de que sua resposta é a única e certa possível (se você ganhar alguma aposta após usar o meu sistema, por favor, envie 20% dos ganhos pra mim).
Vamos começar com um bem simples: quantos triângulos você vê na figura 01, abaixo?

Figura 01

Figura 01

Por favor, não me decepcione… Só há um triângulo!
Por que eu sei isso? Por que a definição de um triângulo é algo do tipo “figura geométrica com três lados” (onde lado quer dizer uma linha reta, ou seja: não é um triângulo a imagem da figura 02)

Figura 02

Figura 02 – isto não é um triângulo

(Foi apenas uma sobra da pizza que comi outro dia, não é um triângulo)

Vamos começar com algumas definições, pra ajudar: três retas (segmentos de reta, pra ser mais preciso) formam um triângulo (exceto se forem paralelas ou coincidentes), a interseção de 3 retas num plano determinam três pontos, que na figura 03 eu dei os nomes de A, B e C e que chamam-se “vértices”.

triângulo02

Figura 03

 

Segmentos de retas unindo estes três pontos, formam o triângulo da figura 04.
Agora algo MUITO IMPORTANTE: se eu contar 3 vértices em ordem diferente, isto não forma um novo triângulo. Os vértices A, B e C, nesta ordem, formam um único triângulo, independente de eu começar a relacionar os vértices em ordem contrária (A, depois C e depois B) ou se eu começar a contar a partir de outros vértices. ABC, ACB, BAC, BCA, CAB e CBA são as 6 possíveis combinações de vértices, mas todos formam um mesmo triângulo, portanto não devem ser contados como triângulos extras! Para evitar isso, quando tivermos muitos triângulos, usaremos a ordem alfabética das letras que dão nome aos pontos para evitar que contemos duas ou mais vezes o mesmo triângulo.

Figura 04

Figura 04

Outro ponto importante, é que três pontos numa linha reta não formam um triângulo, pois ele teria área de tamanho zero.
Bom, voltemos aos testes: se eu colocar um ponto D no meio do meu primeiro triângulo e traçar retas dos pontos B ao D e do ponto C ao D, ficarei com dois triângulos, certo? Olhe a figura 5.
Observe que se eu combinar, em ordem alfabética, duas das letras (A, B, C ou D), eu só precisarei verificar se as outras letras, em ordem, formam um triângulo. Segundo a matemática, a combinação de 4 elementos 3 a 3 dá 4. Para saber quantas combinações são possíveis a partir de certo número de vértices, veja a postagem http://xek.me/?p=1049.

doistriângulo02

Figura 05

As combinações possíveis para n=4 e p=3 seriam: ABC, ABD, ACD e BCD.
Nesta figura, Começando com A e B, só posso ter as combinações ABC ou ABD, mas somente ABC forma um triângulo, já que não há uma reta entre os pontos A e D. Depois tenho a combinação ACD, que também não forma um triângulo. Eliminando as combinações que agora começam com B, sempre em ordem alfabética, só posso ter BCD como combinação (e este é o nosso segundo triângulo).

Figura 06

Figura 06 – Quantos triângulos você vê?

Vamos tentar o método para um caso mais difícil, veja a figura com 6 pontos, a figura 6. São possíveis um total de 20 combinações, n=6, p=3 e =COMBIN(6,3) dá 20 no sábio Excel.
Tente descobrir quantos triângulos há antes de ver a resposta na figura 7.

respostas

Figura 07

Por fim, o grande problema, o que já caiu em alguns concursos, a pilha de triângulos da figura 8. Quantos triângulos há?
Tente resolver sozinho e depois veja se confere…

quebra-cabeça com triângulos

Figura 08 – Tá difícil?

Então resumindo o método:
1) Crie todas as combinações possíveis de três letras de cada um dos vértices da imagem;
2) Vá descartando as combinações que não formam triângulos por não terem ligações ou por formarem um linha reta.
Ajuda: a resposta do problema da figura 8 passa por verificar as seguintes 455 combinações… Quais delas geram triângulos?

Eis a lista para verificação:
ABC, ABD, ABE, ABF, ABG, ABH, ABI, ABJ, ABK, ABL, ABM, ABN, ABO, ACD, ACE, ACF, ACG, ACH, ACI, ACJ, ACK, ACL, ACM, ACN, ACO, ADE, ADF, ADG, ADH, ADI, ADJ, ADK, ADL, ADM, ADN, ADO, AEF, AEG, AEH, AEI, AEJ, AEK, AEL, AEM, AEN, AEO, AFG, AFH, AFI, AFJ, AFK, AFL, AFM, AFN, AFO, AGH, AGI, AGJ, AGK, AGL, AGM, AGN, AGO, AHI, AHJ, AHK, AHL, AHM, AHN, AHO, AIJ, AIK, AIL, AIM, AIN, AIO, AJK, AJL, AJM, AJN, AJO, AKL, AKM, AKN, AKO, ALM, ALN, ALO, AMN, AMO, ANO, BCD, BCE, BCF, BCG, BCH, BCI, BCJ, BCK, BCL, BCM, BCN, BCO, BDE, BDF, BDG, BDH, BDI, BDJ, BDK, BDL, BDM, BDN, BDO, BEF, BEG, BEH, BEI, BEJ, BEK, BEL, BEM, BEN, BEO, BFG, BFH, BFI, BFJ, BFK, BFL, BFM, BFN, BFO, BGH, BGI, BGJ, BGK, BGL, BGM, BGN, BGO, BHI, BHJ, BHK, BHL, BHM, BHN, BHO, BIJ, BIK, BIL, BIM, BIN, BIO, BJK, BJL, BJM, BJN, BJO, BKL, BKM, BKN, BKO, BLM, BLN, BLO, BMN, BMO, BNO, CDE, CDF, CDG, CDH, CDI, CDJ, CDK, CDL, CDM, CDN, CDO, CEF, CEG, CEH, CEI, CEJ, CEK, CEL, CEM, CEN, CEO, CFG, CFH, CFI, CFJ, CFK, CFL, CFM, CFN, CFO, CGH, CGI, CGJ, CGK, CGL, CGM, CGN, CGO, CHI, CHJ, CHK, CHL, CHM, CHN, CHO, CIJ, CIK, CIL, CIM, CIN, CIO, CJK, CJL, CJM, CJN, CJO, CKL, CKM, CKN, CKO, CLM, CLN, CLO, CMN, CMO, CNO, DEF, DEG, DEH, DEI, DEJ, DEK, DEL, DEM, DEN, DEO, DFG, DFH, DFI, DFJ, DFK, DFL, DFM, DFN, DFO, DGH, DGI, DGJ, DGK, DGL, DGM, DGN, DGO, DHI, DHJ, DHK, DHL, DHM, DHN, DHO, DIJ, DIK, DIL, DIM, DIN, DIO, DJK, DJL, DJM, DJN, DJO, DKL, DKM, DKN, DKO, DLM, DLN, DLO, DMN, DMO, DNO, EFG, EFH, EFI, EFJ, EFK, EFL, EFM, EFN, EFO, EGH, EGI, EGJ, EGK, EGL, EGM, EGN, EGO, EHI, EHJ, EHK, EHL, EHM, EHN, EHO, EIJ, EIK, EIL, EIM, EIN, EIO, EJK, EJL, EJM, EJN, EJO, EKL, EKM, EKN, EKO, ELM, ELN, ELO, EMN, EMO, ENO, FGH, FGI, FGJ, FGK, FGL, FGM, FGN, FGO, FHI, FHJ, FHK, FHL, FHM, FHN, FHO, FIJ, FIK, FIL, FIM, FIN, FIO, FJK, FJL, FJM, FJN, FJO, FKL, FKM, FKN, FKO, FLM, FLN, FLO, FMN, FMO, FNO, GHI, GHJ, GHK, GHL, GHM, GHN, GHO, GIJ, GIK, GIL, GIM, GIN, GIO, GJK, GJL, GJM, GJN, GJO, GKL, GKM, GKN, GKO, GLM, GLN, GLO, GMN, GMO, GNO, HIJ, HIK, HIL, HIM, HIN, HIO, HJK, HJL, HJM, HJN, HJO, HKL, HKM, HKN, HKO, HLM, HLN, HLO, HMN, HMO, HNO, IJK, IJL, IJM, IJN, IJO, IKL, IKM, IKN, IKO, ILM, ILN, ILO, IMN, IMO, INO, JKL, JKM, JKN, JKO, JLM, JLN, JLO, JMN, JMO, JNO, KLM, KLN, KLO, KMN, KMO, KNO, LMN, LMO, LNO, MNO.

Ok, esse método não se mostrou prático para grande número de triângulos, mas podia ser pior, com retângulos ficaria muito mais doido! Pelo menos o sujeito que disser que viu 51 triângulos (que não é a resposta certa) vai poder enumerar os vértices pelo nosso método antes de tentar nos convencer que sabe mais do que a gente…

Resposta:

ABC, ABD, ABE, ABF, ABG, ABH, ABI, ABJ, ABK, ABL, ABM, ABN, ABO, ACD, ACE, ACF, ACG, ACH, ACI, ACJ, ACK, ACL, ACM, ACN, ACO, ADE, ADF, ADG, ADH, ADI, ADJ, ADK, ADL, ADM, ADN, ADO, AEF, AEG, AEH, AEI, AEJ, AEK, AEL, AEM, AEN, AEO, AFG, AFH, AFI, AFJ, AFK, AFL, AFM, AFN, AFO, AGH, AGI, AGJ, AGK, AGL, AGM, AGN, AGO, AHI, AHJ, AHK, AHL, AHM, AHN, AHO, AIJ, AIK, AIL, AIM, AIN, AIO, AJK, AJL, AJM, AJN, AJO, AKL, AKM, AKN, AKO, ALM, ALN, ALO, AMN, AMO, ANO, BCD, BCE, BCF, BCG, BCH, BCI, BCJ, BCK, BCL, BCM, BCN, BCO, BDE, BDF, BDG, BDH, BDI, BDJ, BDK, BDL, BDM, BDN, BDO, BEF, BEG, BEH, BEI, BEJ, BEK, BEL, BEM, BEN, BEO, BFG, BFH, BFI, BFJ, BFK, BFL, BFM, BFN, BFO, BGH, BGI, BGJ, BGK, BGL, BGM, BGN, BGO, BHI, BHJ, BHK, BHL, BHM, BHN, BHO, BIJ, BIK, BIL, BIM, BIN, BIO, BJK, BJL, BJM, BJN, BJO, BKL, BKM, BKN, BKO, BLM, BLN, BLO, BMN, BMO, BNO, CDE, CDF, CDG, CDH, CDI, CDJ, CDK, CDL, CDM, CDN, CDO, CEF, CEG, CEH, CEI, CEJ, CEK, CEL, CEM, CEN, CEO, CFG, CFH, CFI, CFJ, CFK, CFL, CFM, CFN, CFO, CGH, CGI, CGJ, CGK, CGL, CGM, CGN, CGO, CHI, CHJ, CHK, CHL, CHM, CHN, CHO, CIJ, CIK, CIL, CIM, CIN, CIO, CJK, CJL, CJM, CJN, CJO, CKL, CKM, CKN, CKO, CLM, CLN, CLO, CMN, CMO, CNO, DEF, DEG, DEH, DEI, DEJ, DEK, DEL, DEM, DEN, DEO, DFG, DFH, DFI, DFJ, DFK, DFL, DFM, DFN, DFO, DGH, DGI, DGJ, DGK, DGL, DGM, DGN, DGO, DHI, DHJ, DHK, DHL, DHM, DHN, DHO, DIJ, DIK, DIL, DIM, DIN, DIO, DJK, DJL, DJM, DJN, DJO, DKL, DKM, DKN, DKO, DLM, DLN, DLO, DMN, DMO, DNO, EFG, EFH, EFI, EFJ, EFK, EFL, EFM, EFN, EFO, EGH, EGI, EGJ, EGK, EGL, EGM, EGN, EGO, EHI, EHJ, EHK, EHL, EHM, EHN, EHO, EIJ, EIK, EIL, EIM, EIN, EIO, EJK, EJL, EJM, EJN, EJO, EKL, EKM, EKN, EKO, ELM, ELN, ELO, EMN, EMO, ENO, FGH, FGI, FGJ, FGK, FGL, FGM, FGN, FGO, FHI, FHJ, FHK, FHL, FHM, FHN, FHO, FIJ, FIK, FIL, FIM, FIN, FIO, FJK, FJL, FJM, FJN, FJO, FKL, FKM, FKN, FKO, FLM, FLN, FLO, FMN, FMO, FNO, GHI, GHJ, GHK, GHL, GHM, GHN, GHO, GIJ, GIK, GIL, GIM, GIN, GIO, GJK, GJL, GJM, GJN, GJO, GKL, GKM, GKN, GKO, GLM, GLN, GLO, GMN, GMO, GNO, HIJ, HIK, HIL, HIM, HIN, HIO, HJK, HJL, HJM, HJN, HJO, HKL, HKM, HKN, HKO, HLM, HLN, HLO, HMN, HMO, HNO, IJK, IJL, IJM, IJN, IJO, IKL, IKM, IKN, IKO, ILM, ILN, ILO, IMN, IMO, INO, JKL, JKM, JKN, JKO, JLM, JLN, JLO, JMN, JMO, JNO, KLM, KLN, KLO, KMN, KMO, KNO, LMN, LMO, LNO, MNO.

Função Definida pelo Usuário (UDF) no Excel 2010

Em nossa última postagem, onde falarmos sobre Análise Combinatória (Análise Combinatória no Excel 2010: Combinação, Arranjo ou Permutação) mencionamos sobre criação de Função Definida pelo Usuário. Conforme prometemos, mostraremos como criar uma função personalizada para calcular a combinação com repetição no final desta postagem.

Existem muitas funções prontas no EXCEL, mas nem todas as fórmulas do mundo estão implementadas na forma de função. Entretanto, é possível criar nossas próprias funções, uma função definida pelo usuário (UDF – User Defined Functions ou Custom Excel Functions). Este tópico é descrito pela Microsoft como

Escrevendo um procedimento Function

Se houver um cálculo complexo a ser reutilizado com freqüência no Microsoft Excel, você pode criar sua própria função de planilha para executar o cálculo.

Para criar suas próprias funções personalizadas, utilize o Microsoft Visual Basic® for Applications (VBA). O VBA é uma linguagem de programação interna do Excel que está acessível pelo atalho ALT+F11.

Vamos começar com uma fórmula simples de ser implementada como função…

Função Definida pelo Usuário

Problema: um termômetro americano marca 68 graus Fahrenheit. Será que está quente ou frio?

A fim de manter o exemplo simples, escolhemos implementar uma função calcula o número de graus Celsius a partir dos graus Fahrenheit. Quando a função for chamada a partir de uma célula do EXCEL, o resultado do cálculo é retornado e mostrado na célula.

Antes de começar, crie a seguinte planilha colocando os valores numéricos nas células A2, A3 e A4: tabela fahrenheit-celsius excel

O procedimento a seguir ensina, em apenas 5 passos, como criar e usar uma função definida pelo usuário:

I) O atalho ALT+F11 abre a janela do VBA (Microsoft Visual Basic For Applications)

II) Procure pela guia Inserir e selecione a opção Módulovba - inserir módulo no excel 2010

III) Na janela que abriu, digite o código de sua função. Por exemplo, uma função para calcular graus Celsius a partir dos graus Fahrenheit:

Function Celsius(grausF)   

        Celsius = (grausF - 32) * 5 / 9

End Function

Digite a função acima na janela Módulo 1 aberta:

digitando uma UDF no VBA Excel

IV) No menu Arquivo do VBA, clique em Fechar e voltar para Microsoft Excel (ou use o atalho Alt+Q) e Volte para a planilha Excel .

V) Teste sua função. Digite na planilha a função que você acabou de implementar (não esqueça de começar com o sinal de igualdade) colocando entre parênteses o argumento desejado (neste caso um número ou uma célula que contém um número). Neste exemplo você deve digitar =CELSIUS(A2) na célula B2 (ou outra célula qualquer) do Excel.

Observe que o Excel reconhece a existência da função CELSIUS à medida que está sendo digitada:

digitando a UDF no Excel

Na planilha, se os valores numéricos estiverem nas células A2, A3 e A4, use sua função para fórmulas do mesmo modo que usaria qualquer função de planilha. Por exemplo, a função Celsius pode ser usada na planilha assim:

UDF digitada no Excel 2010

 Importante: Uma função criada dessa maneira somente se encontra disponível para uso na pasta de trabalho onde tiver sido criada e, se quiser ser usada posteriormente, precisará ser salva como Pasta de Trabalho Habilitada Para Macro Do Excel.

Dica: se quiser usar essa função em outro local, você pode copiar o código da função para módulos do VBA situados em outras pastas de trabalho.

Detalhes da função definida pelo usuário Celsius

Eis, novamente, a listagem de nossa função, vamos examiná-la em detalhes:

Function Celsius(grausF) 


     Celsius = (grausF - 32) * 5 / 9

End Function

O nome da função que será usada pelo usuário, Celsius no exemplo acima, deve receber dentro do corpo da função o resultado do cálculo realizado com o argumento grausF, que, neste caso foi subtraído de 32 e depois multiplicado por cinco nonos (5/9). As quatro operações básicas (soma, subtração, multiplicação e divisão)  mais a potência utilizam os mesmos operadores que usamos dentro de uma planilha Excel: +*/ e ^.

Outros operadores bem como algumas funções estão disponíveis, mas usam uma forma diferente dos operadores e funções que usamos dentro de uma planilha. Outros operadores disponíveis dentro do VBA: \ (divisão inteira), Mod (para obter o resto da divisão inteira), & (para concatenar texto). Existem ainda várias funções , mas isso é fácil de achar na Internet e foge do escopo da nossa postagem.

O exemplo de FUNÇÃO DEFINIDA PELO USUÁRIO (UDF) usado nesta postagem foi bastante simplificado, apenas para demonstrar o funcionamento básico de uma função definida pelo usuário. Para criar funções complexas no VBA, é preciso conhecer um pouco o modelo de objetos do VBA para Excel, a estrutura da linguagem do Visual Basic (VB) e o ambiente VBA.

Exemplo de outra Função Definida pelo Usuário

1) Como calcular através de uma UDF o processo inverso, transformação de Celsius para Fahrenheit?

Neste caso, siga os mesmos passos anteriores, mas a função digitada em módulo 1 ficará assim (pode ser digitada abaixo da função anterior, se não quiser apagar a outra função já digitada):

Function Fahrenheit(grausC) ' de graus C para graus F

     Fahrenheit = grausC * 9 / 5 + 32

End Function

Para usar a função acima dentro de uma planilha, escreva =FAHRENHEIT(100) dentro de uma célula no Excel para saber, por exemplo, a temperatura em que a água ferve (100°C) em um termômetro com a escala Fahrenheit. Deverá surgir o número 212.

2) Eis aqui um outro exemplo de função definida pelo usuário para calcular centímetros a partir de valores em polegadas:

Function cm(pol)  ' transformar polegadas em centímetros

     
     cm = pol * 2.54


End Function

A função acima, quando digitada em Módulo 1 (conforme fizemos com a função anterior), permite calcular na planilha a conversão de polegadas para centímetros, bastando para isso digitar =CM(A2) na planilha Excel, caso o número em polegadas esteja na célula A2, por exemplo.

3) A função que faz o contrário, transforma centímetros em polegadas está aqui:

Function pol(cm)  ' transformar centímetros em polegadas 

     pol = cm / 2.54

End Function

Para usar, basta digitar, por exemplo, =POL(12) na planilha Excel e saberemos quanto mede, em polegadas, a medida 12 centímetros. Deve dar 4,724409 polegadas.

Como criar uma função para calcular a combinação com repetição

Seguindo os passos acima, mostrados aqui de forma resumida:

I) Tecle o atalho ALT+F11 para abrir a janela do VBA

II) Vá na guia Inserir e selecione a opção Módulo

III) Digite o seguinte código:

Function CombinRep(ByVal n As Long, ByVal p As Long) As Double

    If (n > 0 And p > 0) Then

       CombinRep = factorial(n + p - 1) / (factorial(p) * factorial(n - 1))

    Else

        CombinRep = Error()

    End If

End Function

Function factorial(ByVal n As Long) As Double

    factorial = 1

    Dim a As Double

    For a = 1 To n

        factorial = factorial * a

    Next a

End Function

IV) Tecle o atalho ALT+Q para sair do VBA e voltar à planilha

V) Teste a função entrando com algum valor, como por exemplo, digitando na planilha Excel, =CombiRep(4,2)  em alguma célula qualquer. Se tudo estiver funcionando como deveria, deve aparecer programagicamente o número 10, conforme previsto em nossa última postagem (http://xek.me/?p=1099).

Acabamos de criar, conforme prometido, uma função para cálculo de Combinação com Repetição.

Em nossa próxima postagem veremos como fazer funções que permitam usar intervalos como argumentos ou entrar com número variável de argumentos, exatamente como faz a função SOMA do Excel e assim poderemos implementar a PERMUTAÇÃO com ELEMENTOS REPETIDOS.

 

Análise Combinatória no Excel 2010: Combinação, Arranjo ou Permutação

Análise Combinatória no Excel: Como diferencio quando é combinação, arranjo ou permutação, se é simples ou com repetição para calcular no Excel?

abcdDificilmente sem alguma prática conseguimos diferenciar os casos de repetição dos casos simples, dos casos de arranjo dos casos de combinação e assim por diante. É preciso um pouquinho de estudo e paciência para conseguir identificar cada caso! Vou tentar mostrar exemplos aqui e pra começar vamos tentar investigar essas diferenças. Análise Combinatória no Excel é o tema desta postagem e das últimas 4 postagens, por sinal. São elas (clique nos títulos para ver as postagens):

Combinação e Arranjo Com Repetição no Excel 2010

Permutação no Excel 2010 – Análise Combinatória

Excel – Arranjo Simples: Análise Combinatória

Análise Combinatória no Excel – Combinação Simples

Tabela completa de fórmulas

Em primeiro lugar, é hora de revisar todas as fórmulas usadas nas últimas postagens. Aqui vai o resumo de tudo:

tabela fórmulas análise combinatória Excelpermutação de bolas de 4 coresCom a tabela acima resolvemos QUASE todos os casos de Análise Combinatória no Excel, faltando alguns casos em que o problema requer raciocínio mais do que fórmulas (por isso não abordaremos aqui)

Bom, vamos começar pelo caso mais simples: permutação. Permutação é quando troco tudo de lugar e como estou usando todos os elementos de um conjunto. Também posso imaginar a permutação como um arranjo em que n=p, assim fica menos uma fórmula para decorar… De qualquer forma, imagine as 4 primeiras letras do alfabeto: se eu trocar todas de lugar, quantas possibilidades eu tenho? Ora, apenas trocando todas de lugar, é um caso de permutação simples (ou arranjo simples onde n=p=4), como visto em outra postagem, obterei as seguintes 24 combinações mostradas ao lado.

Um caso mais complicado, seria uma permutação com repetição, (não mostrada na postagem anterior sobre repetições e nem na postagem sobre permutações), que é, na verdade, um arranjo com repetição em que n=p. Por exemplo, quando quero formar uma senha com as 4 primeiras letras do alfabeto; uma senha permite a repetição de letras e trocando elas de ordem tenho outra senha diferente. Usando a fórmula mostrada na tabela acima para arranjos com repetição, coloque no Excel em qualquer célula a fórmula =POTÊNCIA(4;4) e obteremos a resposta 256,  que é 4 elevado na quarta potência. Quer saber quais são todas as 256 senhas possíveis? Estão aqui: AAAA, AAAB, AAAC, AAAD, AABA, AABB, AABC, AABD, AACA, AACB, AACC, AACD, AADA, AADB, AADC, AADD, ABAA, ABAB, ABAC, ABAD, ABBA, ABBB, ABBC, ABBD, ABCA, ABCB, ABCC, ABCD, ABDA, ABDB, ABDC, ABDD, ACAA, ACAB, ACAC, ACAD, ACBA, ACBB, ACBC, ACBD, ACCA, ACCB, ACCC, ACCD, ACDA, ACDB, ACDC, ACDD, ADAA, ADAB, ADAC, ADAD, ADBA, ADBB, ADBC, ADBD, ADCA, ADCB, ADCC, ADCD, ADDA, ADDB, ADDC, ADDD, BAAA, BAAB, BAAC, BAAD, BABA, BABB, BABC, BABD, BACA, BACB, BACC, BACD, BADA, BADB, BADC, BADD, BBAA, BBAB, BBAC, BBAD, BBBA, BBBB, BBBC, BBBD, BBCA, BBCB, BBCC, BBCD, BBDA, BBDB, BBDC, BBDD, BCAA, BCAB, BCAC, BCAD, BCBA, BCBB, BCBC, BCBD, BCCA, BCCB, BCCC, BCCD, BCDA, BCDB, BCDC, BCDD, BDAA, BDAB, BDAC, BDAD, BDBA, BDBB, BDBC, BDBD, BDCA, BDCB, BDCC, BDCD, BDDA, BDDB, BDDC, BDDD, CAAA, CAAB, CAAC, CAAD, CABA, CABB, CABC, CABD, CACA, CACB, CACC, CACD, CADA, CADB, CADC, CADD, CBAA, CBAB, CBAC, CBAD, CBBA, CBBB, CBBC, CBBD, CBCA, CBCB, CBCC, CBCD, CBDA, CBDB, CBDC, CBDD, CCAA, CCAB, CCAC, CCAD, CCBA, CCBB, CCBC, CCBD, CCCA, CCCB, CCCC, CCCD, CCDA, CCDB, CCDC, CCDD, CDAA, CDAB, CDAC, CDAD, CDBA, CDBB, CDBC, CDBD, CDCA, CDCB, CDCC, CDCD, CDDA, CDDB, CDDC, CDDD, DAAA, DAAB, DAAC, DAAD, DABA, DABB, DABC, DABD, DACA, DACB, DACC, DACD, DADA, DADB, DADC, DADD, DBAA, DBAB, DBAC, DBAD, DBBA, DBBB, DBBC, DBBD, DBCA, DBCB, DBCC, DBCD, DBDA, DBDB, DBDC, DBDD, DCAA, DCAB, DCAC, DCAD, DCBA, DCBB, DCBC, DCBD, DCCA, DCCB, DCCC, DCCD, DCDA, DCDB, DCDC, DCDD, DDAA, DDAB, DDAC, DDAD, DDBA, DDBB, DDBC, DDBD, DDCA, DDCB, DDCC, DDCD, DDDA, DDDB, DDDC e DDDD

Observe que no caso anterior, se levássemos em consideração que numa senha as letras podem ser maiúsculas ou minúsculas, teríamos arranjo com repetição usando as letras a, b, c, d, A, B, C ou D em que n=8 e p=4 e  a fórmula ficaria =POTÊNCIA(8;4), dando um total de 4096 senhas diferentes. É por isso que é muito importante usarmos combinações de maiúsculas e minúsculas ao criar uma senha, fica muito mais difícil de alguém descobrir! Não vou listar aqui as 4096 senhas, porque iria ocupar muito espaço… :-)

Para diferenciar entre ARRANJO COM REPETIÇÃO de ARRANJO SIMPLES de COMBINAÇÃO COM REPETIÇÃO de COMBINAÇÃO SIMPLES montei o seguinte esquema: quero obter, ainda com as 4 primeiras letras do alfabeto, todas as senhas possíveis de 2 letras. Como já vimos na postagem sobre Arranjos com Repetição (http://xek.me/?p=1097), a fórmula é =POTÊNCIA(4;2) no Excel…

Eis todas as 16 possíveis senhas:

arranjo com repetição

tabela 1

O que fizemos foi, praticamente, um “produto cartesiano” de dois conjuntos com as mesmas 4 letras em cada um. Agora imagine que a partir do arranjo com repetições acima gostaríamos de ter um arranjo sem repetições, o que mudaria? Teríamos de retirar  da tabela acima as letras que aparecem repetidas, AA, BB, CC e DD, que são as linhas (I), (VI), (XI) e (XVI) e ficaríamos com:

arranjo simples 2 a 2

tabela 2

Note que o cálculo de =PERMUT(4;2) no Excel vai dar 12, que é o que esperávamos para a tabela acima de arranjos sem repetição, conforme vimos na postagem sobre arranjos simples (http://xek.me/?p=1057).

Agora pegue novamente a tabela 1 com seus 16 arranjos com repetição e suponha que queremos as COMBINAÇÕES COM REPETIÇÃO. O que teria de sair da tabela 1? Sabemos que, neste caso, uma combinação “AB” será igual a “BA”, por exemplo. Teremos de tirar todos os caso da tabela em que uma dupla aparece novamente, só que invertida. Ou seja teríamos de tirar (V), (IX), (X), (XIII), (XIV) e  o (XV) que correspondem aos arranjos BA, CA, CB, DA, DB e DC e ficaríamos com:

arranjo simples

tabela 3

A COMBINAÇÃO COM REPETIÇÃO não tem uma função própria no Excel, precisamos montar uma fórmula. Para isto, devemos usar =FATORIAL(4+2-1) / (FATORIAL(2) * FATORIAL(4-1)) no Excel ou, dependendo da versão, =FATO(4+2-1) / (FATO(2) * FATO(4-1))). Vimos este cálculo na postagem anterior quando mostramos vários problemas de Arranjos e Combinações com Repetição (http://xek.me/?p=1097).

Em uma próxima postagem, onde falaremos sobre criação de funções definidas pelo usuário, mostraremos como criar uma função par calcular a combinação com repetição.

Esta tabela 3, acima, da COMBINAÇÃO COM REPETIÇÃO ainda pode ser alvo de uma nova modificação. Pegue esta tabela 3 e retire todas as repetições, ou seja, retire AA, BB, CC e DD, que são as linhas (I), (VI), (XI) e (XVI) e ficaremos com a COMBINAÇÃO SIMPLES:

combinação simples

tabela 4

Como vimos na postagem sobre COMBINAÇÃO SIMPLES, o cálculo no Excel é feito com =COMBIN(4;2) em alguma célula da planilha e resultará no número 6. Para detalhes adicionais, dê uma revisada na nossa primeira postagem sobre Análise Combinatória no Excel – Combinação Simples em http://xek.me/?p=1049.

Espero que a explanação acima sobre Análise Combinatória no Excel tenha ajudado!

Um último problema

Imagine o seguinte cenário: você precisa saber quantos jogos são possíveis de serem realizados entre 4 times, é Combinação, Arranjo, Simples ou com Repetição? Há duas respostas possíveis. Em primeiro lugar sabemos que não há repetição, já que um time não joga contra ele mesmo. Em segundo lugar, precisamos considerar se um jogo AxB é o mesmo jogo BxA. Se considerarmos que A versus B é diferente de B versus A porque o time citado em primeiro tem o mando de campo, teremos um arranjo pois, se a ordem não importasse seria combinação, mas como a ordem fará diferença, é um arranjo simples. No Excel isso seria o resultado da tabela 2, que já calculamos.

Na próxima postagem, onde falaremos sobre criação de funções definidas pelo usuário criaremos uma função par calcular a combinação com repetição.

Combinação e Arranjo Com Repetição no Excel 2010

Como Calcular Combinação e Arranjo Com Repetição no Excel 2010?

1 2 3 4 5 6 7 8 9Combinação Simples (http://xek.me/?p=1049) e Arranjo Simples (http://xek.me/?p=1057) já foram vistos nas postagens anteriores, além das permutações simples, permutações circulares e permutações com repetição de elementos (http://xek.me/?p=1077). O que faltam inventar para complicar nossa cabeça? A combinação e arranjo com repetição, claro…

Em primeiro lugar vamos revisar as fórmulas necessárias para resolver a parada no nosso querido Excel, lembrando que o Excel apresenta notações diversas para fatorial, às vezes usando FATO( ) e às vezes usando FATORIAL( ) dependendo da versão utilizada:

fórmulas de combinação e arranjo no Excel

A próxima postagem fará um resumo sobre o que vimos até agora, mostrando todas as fórmulas utilizadas em todas as postagens sobre análise combinatória usando Excel – Análise Combinatória no Excel 2010: Combinação, Arranjo ou Permutação – Para vê-la, clique aqui: http://xek.me/?p=1099.

Combinação Simples

Um exemplo típico do cálculo de combinação sem repetição (simples) é tendo 9 bolas numeradas de 1 a 9 dentro de uma urna, quero saber quantos subconjuntos diferentes de 3 bolas posso formar. Este, aliás é o princípio do sorteio com bolinhas (tipo Mega Sena, bingo, etc), pois uma vez que só temos uma bolinha com cada número, a mesma não poderá ser retirada duas vezes. Já vimos como calcular isso no Excel usando a fórmula da combinação simples onde n=9 e p=3, basta colocar em qualquer célula do Excel a função =COMBIN(9,3) para obter a resposta 84.

Combinação com Repetição

Mas quando um problema assim passa ser um problema com repetições? No caso de termos várias bolas numeradas com os números 1 a 9 ou no caso em que a bolinha sorteado pudesse ser colocada de volta numa urna (por exemplo) o mesmo número poderia participar mais de uma vez do subgrupo, isto é, eu poderia ter subconjuntos como (1, 1, 1) ou (1, 1, 2), etc. Em relação ao problema mostrado na seção anterior, combinação simples, ainda temos n= 9 e p=3, mas temos de usar a fórmula da combinação com repetição.  Neste caso, o Excel não tem uma função pronta para o cálculo e teríamos de usar a fórmula =FATO(9+3-1) / (FATO(3) * FATO(9-1)) em alguma célula qualquer do Excel para obter 165. Lembre-se que em algumas versões do Excel, não usamos FATO, mas FATORIAL.

São outros problemas que envolvem combinação com repetição:

1) Uma cantina serve, numa promoção, pratos com 3 porções de alimentos que podem ser: arroz, feijão, purê, couve ou omelete. De quantas formas distintas posso montar um prato, sabendo que o cliente pode escolher qualquer alimento disponível inclusive mais de uma porção do alimento, desde que tenha exatamente 3 porções em cada prato? Resposta: n=5, p=3, Combinação com repetição (um prato com arroz, feijão e purê é o mesmo que purê, feijão e arroz, logo é combinação, mas podemos ter 2 ou 3 porções do mesmo alimento como quem gosta de feijão, feijão e feijão, logo é com repetição), portanto ficaria no Excel =FATO(5+3-1) / (FATO(3)*FATO(5-1)) ou =FATORIAL(5+3-1) / (FATORIAL(3)*FATORIAL(5-1)) que deve dar 35;

2) Uma empresa, na páscoa, pinta ovos de uma única cor, quantas alternativas há para pintar 10 ovos iguais sendo que só estão disponíveis apenas 4 cores? Resposta: mudando os ovos de lugar não muda nada e as cores podem ser repetidas, logo é um caso de Combinação com repetição com n=10 e p=4;

3) Um conjunto C={1, 2, 3, 4, 5, 6} pode formar quantos subconjuntos diferentes contendo 2 elementos? Como um subconjunto {1, 2} é o mesmo que um subconjunto {2, 1} não é um caso de arranjo, mas os conjuntos {1, 1} ou {2, 2}, por exemplo, podem ser criados, logo há repetição. É um caso de combinação com repetição com n=6 e p=2.

Arranjos Simples

Arranjo simples ou sem repetição, como já vimos em outra postagem, é um caso facilmente resolvido no Excel com a função PERMUT. Um exemplo de arranjo simples é quando quero montar tabela de jogos em que a ordem dos times tenha importância (o primeiro é o mandante do jogo). Outro caso é quando quero números a partir de um conjunto de algarismos em que não posso repetir os algarismos. O número 123 é diferente do número 321, por exemplo. Para rever como se faz, dê uma olhada na postagem sobre Arranjo Simples (http://xek.me/?p=1057).

Arranjos Com Repetição

Quando os números que quero montar a partir de algarismos podem conter algarismos repetidos tenho um caso de Arranjo com repetição.

Exemplo: com os 9 algarismos significativos (isto é, sem o zero), quero saber quantos números diferentes posso ter usando apenas 4 algarismos.

Sabemos que teremos os números de 1111 até 9999 retirando todos os números que tem algum algarismo zero… Mas como chegamos lá? Usamos a fórmula do arranjo com repetição, com n=9 e p =4 e colocaremos =POTÊNCIA(9;4) em alguma célula do Excel o que resultará em 6561.

Outros exemplos de problemas de arranjos com repetição:

1) Uma moeda é jogada 4 vezes, uma depois da outra. Quantas sequências de resultado são possíveis? n=4 p=2, use  =POTÊNCIA(4;2) no Excel;

2) Quantas palavras com 3 letras podemos formar com as 26 letras de nosso alfabeto? n=26 p=3, use  =POTÊNCIA(26;3) no Excel;

3) Quantas senhas de 4 dígitos diferentes posso formar usando apenas os algarismos? n=10 e p=4, use  =POTÊNCIA(10;4) no Excel.

Nossa próxima postagem será a última sobre análise combinatória através do Excel – Análise Combinatória no Excel 2010: Combinação, Arranjo ou Permutação – o link é: http://xek.me/?p=1099.