[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『増減簿』(わんばんこ)
1 A B C D
2 みかん 100
3 りんご 50
4 みかん 99
5
上記のような表があります。A5に「みかん」が入ればB5に100。「りんご」が入れ
ば 51。(A列もしくはC列の右列の最新数字に +1 される)
C5に「みかん」が記入 された場合は 98。(A列もしくはC列の右の最新数字に
-1 される)A列、C列には「みかん」。「りんご」どちらが入った場合数字を自
動記入させたいのですがどう考えたら良いのやら解りません。お教えください。
長すぎるかな〜^^; B5に =IF(A5="","",INDEX($A$1:$D4,MAX(IF($A$1:$D4=A5,ROW($A$1:$D4))),MATCH(A5,INDIRECT(MAX(IF($A$1:$D4=A5,ROW($A$1:$D4)))&":"&MAX(IF($A$1:$D4=A5,ROW($A$1:$D4)))),0)+1)+1)
D5に =IF(C5="","",INDEX($A$1:$D4,MAX(IF($A$1:$D4=C5,ROW($A$1:$D4))),MATCH(C5,INDIRECT(MAX(IF($A$1:$D4=C5,ROW($A$1:$D4)))&":"&MAX(IF($A$1:$D4=C5,ROW($A$1:$D4)))),0)+1)-1)
として、いずれもCtrlキーとShiftキーとEnterキーを同時に押して確定してください。 式が{ }で括られたら成功です〜 以下コピーで。 (かなれっと) ☆ あ、同じ行にみかんが並んだ場合は、B列の値が次の計算に使われます。
こんな時間に衝突〜☆ 以下、そのまま掲載。 こんばんみ〜♪ [A] [B] [C] [D] [1] A B C D [2] みかん 100 [3] りんご 50 [4] みかん 101 [5] みかん 102 [6] みかん 101 [7] りんご 51
こういう表で、A1:B2は手入力の前提です。 B4=IF(A4="","",INDEX(IF(MAX(IF($C$2:C3=A4,ROW($A$1:A2),""))<MAX(IF($A$2:A3=A4,ROW($A$1:A2),"")),$A$2:B3,$C$2:D3), MAX(IF($C$2:C3=A4,ROW($A$1:A2),""),IF($A$2:A3=A4,ROW($A$1:A2),"")),2)+1) D4=IF(C4="","",INDEX(IF(MAX(IF($C$2:C3=C4,ROW($A$1:A2),""))<MAX(IF($A$2:A3=C4,ROW($A$1:A2),"")),$A$2:B3,$C$2:D3), MAX(IF($C$2:C3=C4,ROW($A$1:A2),""),IF($A$2:A3=C4,ROW($A$1:A2),"")),2)-1) として、Ctrl+Shift+Enterで配列数式を確定して下さい。 下に必要な分フィルドラッグでいかがでしょうか? (ROUGE)※無駄に式が長いかもしれません・・・
B5=IF(A5="","",INDIRECT(IF(INDIRECT("A"&SUMPRODUCT(MAX(($A$1:$C4=A5)*ROW($A$1:$C4))))=A5,"B","D")& SUMPRODUCT(MAX(($A$1:$C4=A5)*ROW($A$1:$C4))))+1) D5=IF(C5="","",INDIRECT(IF(INDIRECT("A"&SUMPRODUCT(MAX(($A$1:$C4=C5)*ROW($A$1:$C4))))=C5,"B","D")& SUMPRODUCT(MAX(($A$1:$C4=C5)*ROW($A$1:$C4))))-1) ★Enterで式を確定して、下にコピー (Maron)
こっちでも、こんな時間に''''''''''ゴッチン'''''''''' 以下そのまま貼り付けます。
そういう事だったのね。ROUGEさんの書き込みで、やっと分かりました。 私も、長〜いのを一発。 A1:B2部分が手入力として、 B3セルに =IF(OR(A3="",COUNTIF($A$1:$C2,A3)=0),"",IF(OFFSET($A$1,MAX(IF($A$1:$C2=A3,ROW($A$1:$C2)))-1,2)=A3,OFFSET($A$1,MAX(IF($A$1:$C2=A3,ROW($A$1:$C2)))-1,3),OFFSET($A$1,MAX(IF($A$1:$C2=A3,ROW($A$1:$C2)))-1,1))+1*IF(COLUMN()=2,1,-1)) で、配列数式として確定。B3をコピーし、D3に貼り付け。B3:D3を必要範囲まで下方コピー。 (sin)
B4=IF(A4="","",SUM(OFFSET($A$1:$D$1,MAX(INDEX(($A$2:C3=A4)*ROW($A$2:C3),))-1,))+1)
D4=IF(C4="","",SUM(OFFSET($A$1:$D$1,MAX(INDEX(($A$2:C3=C4)*ROW($A$2:C3),))-1,))-1)
by しげちゃん
◆式を一つにしました B4=IF(A4="","",INDIRECT(IF(INDIRECT("A"&SUMPRODUCT(MAX(($A$1:$C3=A4)*ROW($A$1:$C3))))=A4,"B","D")& SUMPRODUCT(MAX(($A$1:$C3=A4)*ROW($A$1:$C3))))+SIGN(3-COLUMN())) ★D3と、各々下にコピー (Maron)
式を一つにするとこんな感じかな =IF(A4&C4="","",SUM(OFFSET($A$1:$D$1,MAX(INDEX(($A$2:C3=A4&C4)*ROW($A$2:C3),))-1,))+IF(A4="",-1,1))
あまり意味があると思いませんが・・・ 参考までに
by しげちゃん
> こういう表で、A1:B2は手入力の前提です。 A2:B3の誤りでした。 (ROUGE)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.