Tabl cynnwys
Mae'r erthygl yn dangos ychydig o wahanol ffyrdd o gael y gwerth mwyaf yn Excel yn seiliedig ar un neu nifer o amodau rydych chi'n eu nodi.
Yn ein tiwtorial blaenorol, fe wnaethom edrych ar y defnyddiau cyffredin o'r ffwythiant MAX sydd wedi'i gynllunio i ddychwelyd y nifer mwyaf mewn set ddata. Mewn rhai sefyllfaoedd, fodd bynnag, efallai y bydd angen i chi ymchwilio ymhellach i'ch data i ddod o hyd i'r gwerth uchaf yn seiliedig ar feini prawf penodol. Gellir gwneud hyn trwy ddefnyddio ychydig o fformiwlâu gwahanol, ac mae'r erthygl hon yn esbonio pob ffordd bosibl.
Fformiwla Excel MAX IF
Tan yn ddiweddar, nid oedd gan Microsoft Excel a swyddogaeth MAX IF adeiledig i gael y gwerth mwyaf yn seiliedig ar amodau. Gyda chyflwyniad MAXIFS yn Excel 2019, gallwn wneud uchafswm amodol yn ffordd hawdd.
Yn Excel 2016 a fersiynau cynharach, mae'n rhaid i chi greu eich fformiwla arae eich hun o hyd trwy gyfuno'r MAX swyddogaeth gyda datganiad IF:
{=MAX(IF( criteria_range= maen prawf, max_range))}I weld sut mae'r MAX generig hwn OS yw'r fformiwla yn gweithio ar ddata go iawn, ystyriwch yr enghraifft ganlynol. Gan dybio, mae gennych dabl gyda chanlyniadau naid hir nifer o fyfyrwyr. Mae'r tabl yn cynnwys y data ar gyfer tair rownd, ac rydych chi'n chwilio am ganlyniad gorau athletwr penodol, dywed Jacob. Gydag enwau'r myfyrwyr yn A2:A10 a'r pellteroedd yn C2:C10, mae'r fformiwla yn cymryd y siâp hwn:
=MAX(IF(A2:A10="Jacob", C2:C10))
Cofiwch fod fformiwla araerhaid ei nodi bob amser trwy wasgu'r bysellau Ctrl + Shift + Enter ar yr un pryd. O ganlyniad, mae wedi'i amgylchynu'n awtomatig â cromfachau cyrliog fel y dangosir yn y sgrin isod (ni fydd teipio'r braces â llaw yn gweithio!).
I daflenni gwaith bywyd go iawn, mae'n fwy cyfleus i fewnbynnu'r maen prawf mewn rhai cell, fel y gallwch chi newid y cyflwr yn hawdd heb newid y fformiwla. Felly, rydym yn teipio'r enw a ddymunir yn F1 ac yn cael y canlyniad canlynol:
=MAX(IF(A2:A10=F1, C2:C10))
Sut mae'r fformiwla hon yn gweithio
Yn y rhesymeg prawf o'r swyddogaeth IF, rydym yn cymharu'r rhestr o enwau (A2: A10) gyda'r enw targed (F1). Canlyniad y weithred hon yw amrywiaeth o GWIR ac ANGHYWIR, lle mae'r gwerthoedd GWIR yn cynrychioli enwau sy'n cyfateb i'r enw targed (Jacob):
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}
Ar gyfer y value_ if_true dadl, rydym yn cyflenwi canlyniadau'r naid hir (C2:C10), felly os yw'r prawf rhesymegol yn gwerthuso i WIR, dychwelir y rhif cyfatebol o golofn C. Mae'r arg value_ if_false wedi'i hepgor, sy'n golygu y bydd ganddi werth ANGHYWIR lle nad yw'r amod wedi'i fodloni:
{FALSE;FALSE;FALSE;5.48;5.42;5.57;FALSE;FALSE;FALSE}
Mae'r arae hon yn cael ei bwydo i'r ffwythiant MAX, sy'n yn dychwelyd y nifer uchaf gan anwybyddu'r gwerthoedd GAU.
Awgrym. I weld yr araeau mewnol a drafodir uchod, dewiswch y rhan gyfatebol o'r fformiwla yn eich taflen waith a gwasgwch yr allwedd F9. I adael y modd gwerthuso fformiwla, pwyswch yr allwedd Esc.
Fformiwla MAX IF gyda lluosogmeini prawf
Mewn sefyllfa pan fydd angen i chi ddod o hyd i'r gwerth mwyaf yn seiliedig ar fwy nag un amod, gallwch naill ai:
Defnyddio datganiadau IF nythu i gynnwys meini prawf ychwanegol:
{=MAX( IF( maen prawf_ystod1 = maen prawf1 , IF( criteria_range2 = maen prawf2 , max_range )))}Neu ymdrin â meini prawf lluosog gan ddefnyddio'r gweithrediad lluosi:
{=MAX(IF(( criteria_range1 = maen prawf1 )) * ( maen prawf_range2 = maen prawf2 ), max_range ))}Dewch i ni ddweud bod gennych chi ganlyniadau bechgyn a merched mewn un tabl a'ch bod chi'n dymuno dod o hyd i'r naid hiraf ymhlith merched rownd 3. I'w wneud , rydym yn nodi'r maen prawf cyntaf (benywaidd) yn G1, yr ail faen prawf (3) yn G2, ac yn defnyddio'r fformiwlâu canlynol i gyfrifo'r gwerth mwyaf:
=MAX(IF(B2:B16=G1, IF(C2:C16=G2, D2:D16)))
=MAX(IF((B2:B16=G1)*(C2:C16=G2), D2:D16))
Gan fod y ddau yn fformiwlâu arae, cofiwch bwyso Ctrl + Shift + Enter i'w cwblhau'n gywir. mater o chi eich dewis personol. I mi, mae'r fformiwla gyda'r rhesymeg Boole yn haws i'w darllen a'i hadeiladu - mae'n caniatáu ychwanegu cymaint o amodau ag y dymunwch heb nythu swyddogaethau IF ychwanegol.
Sut mae'r fformiwlâu hyn yn gweithio
Mae'r fformiwla gyntaf yn defnyddio dwy ffwythiant IF nythog i werthuso dau faen prawf. Ym mhrawf rhesymegol y datganiad IF cyntaf, rydym yn cymharu'r gwerthoedd yn y golofn Rhyw(B2:B16) gyda'r maen prawf yn G1 ("Benyw"). Y canlyniad yw amrywiaeth o werthoedd CYWIR ac ANGHYWIR lle mae GWIR yn cynrychioli data sy'n cyfateb i'r maen prawf:
{FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE}
Yn yr un modd, mae'r ail ffwythiant IF yn gwirio'r gwerthoedd yn y golofn Rownd (C2 :C16) yn erbyn y maen prawf yn G2.
Ar gyfer y ddadl value_if_true yn yr ail ddatganiad IF, rydym yn darparu canlyniadau naid hir (D2:D16), ac fel hyn rydym yn cael yr eitemau sydd â GWIR yn y ddwy arae gyntaf mewn safleoedd cyfatebol (h.y. yr eitemau lle mae'r rhyw yn "benywaidd" a'r rownd yn 3):
{FALSE; FALSE; FALSE; FALSE; FALSE; 4.63; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; 4.52}
Mae'r arae olaf hon yn mynd i'r ffwythiant MAX a mae'n dychwelyd y rhif mwyaf.
Mae'r ail fformiwla yn gwerthuso'r un amodau o fewn un prawf rhesymegol ac mae'r gweithrediad lluosi yn gweithio fel y gweithredydd AND:
Pan ddefnyddir y gwerthoedd GWIR ac ANGHYWIR mewn unrhyw gweithrediad rhifyddol, maent yn cael eu trosi i 1's a 0's, yn y drefn honno. Ac oherwydd bod lluosi â 0 bob amser yn rhoi sero, dim ond 1 sydd gan yr arae canlyniadol pan fydd yr holl amodau'n WIR. Gwerthusir yr arae hon ym mhrawf rhesymegol y ffwythiant IF, sy'n dychwelyd y pellteroedd sy'n cyfateb i'r elfennau 1 (TRUE).
MAX IF heb arae
Mae llawer o ddefnyddwyr Excel, gan gynnwys fi, yn rhagfarn yn erbyn fformiwlâu arae a cheisio cael gwared arnynt lle bynnag y bo modd. Yn ffodus, mae gan Microsoft Excel ychydig o swyddogaethau sy'n trin arae yn frodorol, a gallwn ddefnyddio unswyddogaethau o'r fath, sef SUMPRODUCT, fel math o "lapiwr" o amgylch MAX.
Mae'r fformiwla MAX IF generig heb arae fel a ganlyn:
=SUMPRODUCT(MAX(( criteria_range1 = maen prawf1 ) * ( maen prawf_range2 = maen prawf2 ) * max_range ))Yn naturiol, gallwch ychwanegu mwy o barau ystod/meini prawf os angen.
I weld y fformiwla ar waith, byddwn yn defnyddio'r data o'r enghraifft flaenorol. Y nod yw cael y naid uchaf o athletwr benywaidd yn rownd 3:
=SUMPRODUCT(MAX(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))
Mae’r fformiwla hon yn cael ei chystadlu â thrawiad bysell Enter arferol ac yn dychwelyd yr un canlyniad â’r fformiwla arae MAX IF:
Wrth fwrw golwg agosach ar y sgrinlun uchod, gallwch sylwi bod neidiau annilys sydd wedi'u marcio â "x" yn yr enghreifftiau blaenorol bellach â 0 gwerth yn rhesi 3, 11 a 15 , ac mae'r adran nesaf yn esbonio pam.
Sut mae'r fformiwla hon yn gweithio
Yn yr un modd â fformiwla MAX IF, rydym yn gwerthuso dau faen prawf trwy gymharu pob gwerth yn y Rhyw (B2:B16) a'r Rownd ( C2:C16) gyda'r meini prawf yng nghelloedd G1 a G2. Y canlyniad yw dwy arae o werthoedd CYWIR ac ANGHYWIR. Mae lluosi elfennau'r araeau yn yr un safleoedd yn trosi GWIR ac ANGHYWIR yn 1 a 0, yn y drefn honno, lle mae 1 yn cynrychioli'r eitemau sy'n bodloni'r ddau faen prawf. Mae'r drydedd arae wedi'i lluosi yn cynnwys canlyniadau'r naid hir (D2:D16). Ac oherwydd bod lluosi â 0 yn rhoi sero, dim ond yr eitemau sydd ag 1 (TRUE) yn y safleoedd cyfatebolgoroesi:
{0; 0; 0; 0; 0; 4.63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}
Rhag ofn bod max_range yn cynnwys unrhyw werth testun, mae'r gweithrediad lluosi yn dychwelyd y gwall #VALUE oherwydd ni fydd y fformiwla gyfan yn gweithio.<3
Mae'r ffwythiant MAX yn ei gymryd o'r fan hon ac yn dychwelyd y nifer mwyaf sy'n bodloni'r amodau penodedig. Mae'r arae canlyniadol sy'n cynnwys un elfen {4.63} yn mynd i'r ffwythiant SUMPRODUCT ac mae'n allbynnu'r rhif mwyaf mewn cell.
Nodyn. Oherwydd ei resymeg benodol, mae'r fformiwla'n gweithio gyda'r cafeatau canlynol:
- Rhaid i'r amrediad lle byddwch yn chwilio am y gwerth uchaf gynnwys rhifau yn unig. Os oes unrhyw werthoedd testun, mae #VALUE! gwall yn cael ei ddychwelyd.
- Ni all y fformiwla werthuso'r cyflwr "ddim yn hafal i sero" mewn set ddata negatif. I ddarganfod y gwerth mwyaf gan anwybyddu sero, defnyddiwch naill ai fformiwla MAX IF neu ffwythiant MAXIFS.
Fformiwla Excel MAX IF gyda rhesymeg NEU
I ddarganfod y gwerth mwyaf pan unrhyw o'r amodau penodedig wedi'u bodloni, defnyddiwch y fformiwla arae MAX IF sydd eisoes yn gyfarwydd â'r rhesymeg Boole, ond ychwanegwch yr amodau yn lle eu lluosi.
{=MAX(IF(( criteria_range1) = maen prawf1 ) + ( criteria_range2 = maen prawf2 ), max_range ))}Fel arall, gallwch ddefnyddio'r fformiwla ddi-arae ganlynol :
=SUMPRODUCT(MAX((( criteria_range1 = maen prawf1 )) + ( criteria_range2 = maen prawf2 )) * max_range ))Fel enghraifft, gadewch i ni weithio allany canlyniad gorau yn rowndiau 2 a 3. Byddwch cystal â thalu sylw bod y dasg wedi'i llunio'n wahanol yn yr iaith Excel: dychwelwch y gwerth uchaf os yw'r talgrynnu naill ai'n 2 neu'n 3.
Gyda'r rowndiau a restrir yn B2:B10 , y canlyniadau yn C2:C10 a meini prawf yn F1 a H1, mae'r fformiwla'n mynd fel a ganlyn:
=MAX(IF((B2:B10=F1) + (B2:B10=H1), C2:C10))
Rhowch y fformiwla trwy wasgu'r Ctrl + Shift + Enter cyfuniad allweddol a byddwch yn cael y canlyniad hwn:
Gellir dod o hyd i'r gwerth mwyaf gyda'r un amodau hefyd drwy ddefnyddio'r fformiwla di-arae hon:
=SUMPRODUCT(MAX(((B2:B10=F1) + (B2:B10=H1)) * C2:C10))
Fodd bynnag, mae angen i ni ddisodli'r holl werthoedd "x" yng ngholofn C gyda sero yn yr achos hwn oherwydd mae SUMPRODUCT MAX yn gweithio gyda data rhifol yn unig:
Sut mae'r fformiwlâu hyn yn gweithio
Mae'r fformiwla arae yn gweithio'n union yr un ffordd â MAX IF gyda rhesymeg AND ac eithrio eich bod yn ymuno â'r meini prawf trwy ddefnyddio'r gweithrediad adio yn lle lluosi. Mewn fformiwlâu arae, mae adio'n gweithio fel y gweithredydd OR:
Mae adio dwy arae o GWIR a GAU (sy'n deillio o wirio'r gwerthoedd yn B2:B10 yn erbyn y meini prawf yn F1 a H1) yn cynhyrchu arae o 1 ac 0 lle mae 1 yn cynrychioli'r eitemau y mae'r naill amod neu'r llall ar eu cyfer yn WIR a 0 yn cynrychioli'r eitemau y mae'r ddau amod yn ANGHYWIR ar eu cyfer. O ganlyniad, mae'r ffwythiant IF yn "cadw" yr holl eitemau yn C2:C10 ( value_if_true ) y mae unrhyw amod yn WIR ar eu cyfer (1); mae'r eitemau sy'n weddill yn cael eu disodli gan ANGHYWIR oherwydd bod yNid yw arg value_if_false wedi ei nodi.
Mae'r fformiwla di-arae yn gweithio mewn modd tebyg. Y gwahaniaeth yw eich bod, yn lle prawf rhesymegol IF, yn lluosi elfennau'r arae 1 a 0 ag elfennau'r arae canlyniadau naid hir (C2:C10) yn y safleoedd cyfatebol. Mae hyn yn dirymu'r eitemau nad ydynt yn cwrdd ag unrhyw amod (gyda 0 yn yr arae gyntaf) ac yn cadw'r eitemau sy'n cwrdd ag un o'r amodau (gydag 1 yn yr arae gyntaf).
MAXIFS – ffordd hawdd o ddod o hyd i'r uchaf gwerth gydag amodau
Mae defnyddwyr Excel 2019, 2021 ac Excel 365 yn rhydd o'r drafferth o ddofi araeau i adeiladu eu fformiwla MAX IF eu hunain. Mae'r fersiynau hyn o Excel yn darparu'r swyddogaeth MAXIFS hir-ddisgwyliedig sy'n gwneud dod o hyd i'r gwerth mwyaf gydag amodau chwarae plentyn.
Yn arg gyntaf MAXIFS, rydych chi'n nodi'r ystod y dylid dod o hyd i'r gwerth mwyaf ynddo (D2: D16 yn ein hachos ni), ac yn y dadleuon dilynol gallwch nodi hyd at 126 o barau amrediad/meini prawf. Er enghraifft:
=MAXIFS(D2:D16, B2:B16, G1, C2:C16, G2)
Fel y dangosir yn y sgrinlun isod, nid oes gan y fformiwla syml hon unrhyw broblem gyda phrosesu'r amrediad sy'n cynnwys gwerthoedd rhifol a thestun:
Am y wybodaeth fanwl am y swyddogaeth hon, gweler swyddogaeth Excel MAXIFS gydag enghreifftiau o fformiwla.
Dyna sut y gallwch ddod o hyd i'r gwerth mwyaf gydag amodau yn Excel. Diolch i chi am ddarllen a gobeithio gweld chi ar ein blog nesafwythnos!
Gweithlyfr ymarfer i'w lawrlwytho
Enghreifftiau fformiwla Excel MAX IF (ffeil .xlsx)