石鹸箱 IV

VBA研究所に集まる方々の憩いの場です。みなさん自由にお使いください。
ここでは VBA の質問は厳禁。

4922 / 5126 ツリー ←次へ | 前へ→

【1818】日経PC 2006/2号 の腕自慢大会、自己満足。 Jaka 06/1/23(月) 9:35

【1818】日経PC 2006/2号 の腕自慢大会...
 Jaka  - 06/1/23(月) 9:35 -

引用なし
パスワード
   誰も書き込まないようなので...。

日経PC 2006/2号 の腕自慢大会について、
この雑誌を買ったのが遅すぎたのと、しばらく見ていなかったら、とうに締め切り(17日)が過ぎちゃっていたので...。
すでに回答が出ているのかもしれませんが、毎回買っているわけでもないしまだ見ていないし....。
と言うよりなんか悔しかったので。
雑誌見ていない方は、さっぱり解らないだろうけど、自己満足です。

----------------------
●腕自慢1

D5
=DATEDIF(C5,DATE($D$2,$F$2,DAY(C5)),"y")

E5
=IF(MONTH(B5)=$F$2,"○","")

F5
=IF(E5="○",IF(D5>=10,10000,3000),"")

D5:F5を下にフィル
F列の表示が、通貨になっているものとします。

----------------------
●腕自慢2

何通りか考えたんですが、そのうちの2つ

・C3:D8までの作業列を使った場合、

C3に
=IF(ISERROR(SEARCH("万",$B3,1)),--LEFT($B3,LEN($B3)-1),LEFT($B3,SEARCH("万",$B3,1)-1)*10000)

D3に
=IF(ISERROR(SEARCH("万",$B3,1)),0,IF(MID($B3,LEN($B3)-1,1)="万",0,IF(SEARCH("万",$B3,1)+1=LEN($B3)+1,0,MID(SUBSTITUTE($B3,"円",""),SEARCH("万",$B3,1)+1,5)*1)))

を入れ、8行目までフィル。
合計欄は、
=SUM(C3:D8)


・上を作業列を使わず1行にした物。

=SUM((IF(ISERROR(SEARCH("万",B3:B8,1)),--LEFT(B3:B8,LEN(B3:B8)-1),
LEFT(B3:B8,SEARCH("万",B3:B8,1)-1)*10000)),(IF(ISERROR(SEARCH("万",$B$3:$B$8,1)),
0,IF(MID($B$3:$B$8,LEN($B$3:$B$8)-1,1)="万",0,
IF(SEARCH("万",$B$3:$B$8,1)+1=LEN($B$3:$B$8)+1,0,
MID(SUBSTITUTE($B$3:$B$8,"円",""),SEARCH("万",$B$3:$B$8,1)+1,5)*1)))))

で、Shift + Ctrl を押しながらENT。(いいかげんな位置で改行してます。)


・なんか関数が長いのが気に入らないのと、Shift + Ctrl を押しながらENTする配列関数が気に入らないので、作業列を使った別の方法。

C3に
=IF(ISERROR(SEARCH("万",$B3,1)),B3,SUBSTITUTE(B3,"万",REPT(0,5-(LEN(B3)-SEARCH("万",$B3,1)))))
を入れ、8行目までフィル。

合計欄に
=SUMPRODUCT(SUBSTITUTE(C3:C8,"円","")*1)

----------------------
●腕自慢3

作業列G2:G7に
  G
2 東京
3 御殿場
4 静岡
5 浜松
6 名古屋
7 小牧

を書いておき、B10、B11にフォームのコンボボックスを作り、
(入力規則よりこれが簡単。)

B10のコンボボックスの設定
入力範囲    $G$2:$G$7
リンクするセル B10

B11のコンボボックスの設定
入力範囲    $G$2:$G$7
リンクするセル B11

軽自動車の料金
=IF(B10=B11,0,IF(B10>B11,OFFSET(A2,B11-1,B10-1,1,1),OFFSET(A2,B10-1,B11-1,1,1)))

普通自動車の料金
=IF(B10=B11,0,IF(B10>B11,OFFSET(A2,B10-1,B11-1,1,1),OFFSET(A2,B11-1,B10-1,1,1)))

----------------------
※腕試しCへの一言

合計金額で変換するのと、単品づつ変換した場合は、消費税と同じ扱いでいいのかねぇ?
為替ルートって知らないけど...。

同じでいいとすると(単品変換)、
=SUMPRODUCT(ROUNDDOWN(B3:B8*$E$3,0))

因みに上記、単品変換だと
23637円

合計で変換すると
23639円

4922 / 5126 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
219927
(SS)C-BOARD v3.8 is Free