excel
[HOME] [MAIL]

CEL401.計算方法

Q:(質問者:fukuokaさん)
エクセル(2000)
一行おきにE列セルとG列セルを掛けて30行まで計算しこれの総和を32行F列(F32)に記入する方法は?
ここで30は変数で今後もどんどん増えいきます。
今は一々計算しているので大変です。
現在のやり方→E2×G2+E4×G4+----+E30×G30=F32

???????????????????????


A:
兵庫yuhkiです。以下の数式はいかがでしょうか?

=SUMPRODUCT((MOD(ROW($E$2:OFFSET(F32,-2,-1,1,1)),2)=0)*($E$2:OFFSET(F32,-2,-1,1,1)),($F$2:OFFSET(F32,-2,0,1,1)))
(長いですが、1行です)

SUMPRODUCT関数でセル同士の掛け算を行います。
偶数行のみの掛け算ですので、MOD関数で偶数行の判定を行っています。
範囲が可変ですので、OFFSET関数で合計を表示させるセルの2行上までが範囲となるようにしています。
範囲が変わる場合は、F32セルに入力された上式を合計を表示させたいセルにコピーするか、OFFSETの次のセル番号を合計を表示させたいセルの番号に変更してください。

上手く良くといいですね。
ではでは。 [質問一覧][HOME]

CEL402.均等割付をしても数字は中央揃えに

Q:(質問者:兵庫県taisiさん)
Win98SE
Excel2000を使っています。セル内の均等割付を実行すると数字の半角の場合、均等割付にならずに、中央揃えといっしょになってしまします。
全角文字しか均等割付にならないのでしょうか?
数字の場合、計算結果などは半角数字になってしまい全角で表示されません。
全角文字(数字)しか均等割付されないならば、Wordにあるような横倍角(文字の拡大縮小)の表示は出来ないでしょうか?

???????????????????????

A:
万年マクロ初心者の兵庫yuhkiです。
ご指摘の通り、半角の場合は、一文字とみなされて中央揃えになってしまいますね。

あまり良い方法ではありませんが、以下の方法はいかがでしょうか?

1)ALTキー+F11キーでVBEを起動。
2)メニューの[挿入]−[標準モジュール]を選択。
3)真っ白いページが出てきますので、以下のコードをコピペします。

Sub test()
Dim mylen As Long, i As Long
Dim myword As String
ActiveCell.HorizontalAlignment = xlDistributed
 '選択したセルの配置を均等割付にします。
mylen = Len(ActiveCell.Value)
 '選択したセルの内容の文字数をmylenという変数に入れます。
For i = 1 To mylen
myword = myword & Mid(ActiveCell.Value, i, 1) & " "
Next i
 'mywordという変数に文字を1字ずつ全角スペースと一緒につなげます。
myword = Left(myword, Len(myword) - 1)
 '最後の全角スペースをとります。
ActiveCell.Value = myword
 '選択されているセルの値を変更した値に変えます。
End Sub

4)メニューの[ファイル]−[終了してEXCELに戻る]を選択。
5)均等割付したいセルを選択。
6)ALTキー+F8キーでマクロ実行のボックスが出てきますので、testを選択して実行。

一応、見た目は割付になりますが、データを変更してしまいます。
いきなり実行せずに、ブックのコピーをとってから試してみてください。

ご希望に合ってなければごめんなさい。
ではでは。 [質問一覧][HOME]

CEL403.項番の自動設定

Q:(質問者:大阪府SkyWalkerさん)
WindowsMe
下記の様な表を作成しているのですが、種別に値を入れると項番を自動的に採番するにはどのようにすればいいのか教えて下さい。

  A___B___C____D
 ┌──┬───┬───┬─────
1│項番│項_目│種_別│
 ├──┼───┼───┼─────
2│1_│***│3−1│*****
 ├──┼───┼───┼─────
3│2_│***│3−2│*****
 ├──┼───┼───┼─────
4│3_│***│7−1│?****
 ├──┼───┼───┼─────
5│__│___│___│?****
 ├──┼───┼───┼─────
6│4_│***│7−2│*****
 ├──┼───┼───┼─────  

(注)  *は任意の文字列
     _はスペース(枠を整える為に利用)
下記の様に4行目に新しい行を挿入し、種別を入力した場合も、自動的に項番を採番します。
  A___B___C____D
 ┌──┬───┬───┬─────
1│項番│項_目│種_別│
 ├──┼───┼───┼─────
2│1_│***│3−1│*****
 ├──┼───┼───┼─────
3│2_│***│3−2│*****
 ├──┼───┼───┼─────
4│3_│***│5−1│*****
 ├──┼───┼───┼─────
5│4_│***│7−1│?****
 ├──┼───┼───┼─────
6│__│___│___│?****
 ├──┼───┼───┼─────
7│5_│***│7−2│*****
 ├──┼───┼───┼─────
???????????????????????

A:
兵庫yuhkiです。
理解力不足で申し訳ないのですが、「種別」の欄に何かが入力されると「項番」の欄に連番が振られるようにしたいという事で良いのでしょうか?
であれば、「項番」の欄に以下の式を入力してください。

=IF(C2="","",COUNTA($C$2:C2))

で、必要な行までコピーします。

COUNTA関数−空白以外のセルの個数を返します。
書式は、=COUNTA(範囲)です。

行を挿入した場合にも自動的に計算されるように、とありますが、これは無理だと思います。
数式が入力された行をコピーして挿入して各項目を書き換えるか、数式をコピペする必要があります。

はずしてたら、ごめんなさい。
ではでは。 [質問一覧][HOME]

CEL404.3ヶ月後、6ヶ月後を表示するには

Q:(質問者:北海道pajiさん)
Winme  Win2000
A2に現在の年月日を入力した時、B2に3ヶ月後の年月日、C2に6ヶ月後の年月日を表示させるにはどのようにしたら良いのでしょうか

???????????????????????


A:
北海道pajiさん今日は。兵庫のhhirochannです。

EDATE関数が利用できます。
B2セルに =EDATE(A2,3)
C2セルに  =EDATE(A2,6)

但し、各月の日数が同じでは有りませんので、例えば11月28日〜30日までの3ケ月後の日は同じ2月28日になります。

なお、EDATE関数は標準の設定では利用できないようですので、利用できないようでしたら、
(1)メニューの [ツール(T)]-[アドイン(I)] をクリックします。
(2)[アドイン] ボックスの、登録するアドイン名[分析ツール]のチェックボックスをオンにします。
(3)[OK]をクリックします。

これで利用できるようになります。 [質問一覧][HOME]

CEL405.最大値の指定

Q:(質問者:大阪府SkyWalkerさん)
WindowsMe
【データ】ー【入力規則】ー【設定】ー条件の設定において、入力値の種類を「文字列(長さ指定)」、データ欄は「次の値より小さい」に設定します。
最大値の指定を100バイトとしたいのですが、どの様に記述すればよいのか分かりません。
ご教授下さい。よろしくお願いいたします。

???????????????????????


A:
兵庫yuhkiです。
「文字列(長さ指定)」ではなく、「ユーザー設定」ではダメですか?

「ユーザー設定」にして、[数式]に
=LENB(セル番号)<=100
と設定します。

LENB関数−文字列のバイト数を返します。
書式は、=LENB(文字列)です。

ご希望に合ってます?
ではでは。 [質問一覧][HOME]

[HOME] [MAIL]