>>951 そりゃエクセルはじめ先行している表計算ソフトに
「ない」機能を積極的に盛り込んでウリにしたのが三四郎だから。
でも売れなかったねえ。
(正直なところ、もう少し評価してやってもいいソフトだとは思った)
954 :
名無しさん@そうだ選挙にいこう:2007/01/02(火) 21:16:57
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 セル 参照 値を固定
A1=100の値が入っていたとします。
B1に =A1 で値をコピーするとします。
その後、A1=200に値を変更した場合
B2の値も200に変わってしまいますが
B2の値を100に保持する方法が知りたいです。
よろしくお願いいたします。
955 :
名無しさん@そうだ選挙にいこう:2007/01/03(水) 00:34:11
明けましておめでとうございます。
質問です。
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel 2003
【3 VBAが使えるか .】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード 】 乱数 平均
平均値指定で最小値・最大値を固定して(標準偏差でも可)データを製作することは可能でしょうか?
必然とデータ数も指定することになるとは思いますが、教えてください。
例えば 平均値25.6 最大値10.3 最小値70.2 データ数10のデータ製作
出来ない組合せも存在するし、やはり無理でしょうか??
当方、最小値と最大値固定で乱数を発生させるまでは何とかできます。
どの時点で値をFIXしたいかは当人にしか分からないから
その時点で コピー⇒値貼り付け しか無いと思う。
>>955 考え方を変えてみろ
必要な数だけ平均値のデータを作っておいて
そこから乱数でランダムな二つのセルのデータをプラス/マイナスしていけばいいだろう
最後に乱数ではなく、最小または最大になる値を二つのセルに対して行なえばOK
958 :
名無しさん@そうだ選挙にいこう:2007/01/03(水) 01:02:09
>>957 さん 有難うございます。
考え方は参考になりました。
平均10 最大値30 最小5のような場合は、
最後は10+20、 10-5、10-5、10-5、10-5としなきゃならないのということになりますね。
結局マニュアルになってしまうのですかね〜
>>954 それなら参照を使う必要ない。1回だけ手動でコピペすればよい。
参照とは値を可変させる物なので、値を固定したいときに使う意味はない。
>>958 > 結局マニュアルになってしまうのですかね〜
ならないだろ。その部分を数式化しちゃえば良いだけなんだから。
960 :
957:2007/01/03(水) 06:34:14
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 種別 合計
年度 取引先 売り上げ
2001 A社 100
2001 A社 200
2002 A社 100
2003 A社 300
2001 B社 400
2002 C社 100
2002 C社 100
2004 C社 200
上のようになってる表から
2001 2002 2003
A社 200 100 300
B社 400
C社 200 200
このように社別、年度別の合計を出したいんですが
なにかいい方法はありませんでしょうか?
よろしくお願いします。
>>961 ためしてないけど
=SUMPRODUCT((A:A=2001)*1,(B:B="A社")*1,C:C)
964 :
名無しさん@そうだ選挙にいこう:2007/01/03(水) 17:30:32
>>961 条件を&で1つにしてSUMIFで合計
汎用性を求めるならDSUMで
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 VBA インプットボックス
Setステートメントを使って範囲を選択するインプットボックスを出す様にしたんですけど
Set range01 = Application.InputBox(Prompt:="範囲を選択しろ" , Type:=8)
選択する範囲によっては、値の形式が違うんですけど、とエラーを返されます
特に$GA$208とかA1から離れた場初を選択するとかなりの確率で失敗します
何か制限事項があるんでしょうか?また制限を解除する方法はありますか?
>>965 そんな中途半端に書かれても答えようがない
少なくとも構文は間違えてない
ヒント:条件付き書式
>966
構文は間違えてないです
少なくともA1に近い場所を選択する分にはエラーは出なくて正常に動作します
ところが遠い場所になるとSet〜の部分で形式の違う値が入力されましたって
エラーを出してとまってしまう訳です
極めて単純なものなんですが一応全文書くと
Sub Macro1()
Set range01 = Application.InputBox(prompt:="範囲を選択しろ", Type:=8)
Set range02 = Application.InputBox(prompt:="範囲を選択しろ2", Type:=8)
Set range03 = Application.InputBox(prompt:="範囲を選択しろ3", Type:=8)
Workbooks("Book1.xls").Worksheets("Sheet1").Range("2:3").Insert
For atai = 4 To 15
Workbooks("Book1.xls").Worksheets("Sheet1").Cells(1, atai + 2).Value = range01.Value
Workbooks("Book1.xls").Worksheets("Sheet1").Cells(2, atai + 2).Value = range02.Value
Workbooks("Book1.xls").Worksheets("Sheet1").Cells(3, atai + 2).Value = range03.Value
Next atai
MsgBox "実行しました"
End Sub
>>968 コードは極めてヘボいが、とりあえず間違いは無いし
うちの環境では$GA$208を入力しても問題なく動く
存在するセルを入力しているのにエラーになるというなら
そのブックをうpしろ
>>968 一番先頭(Subの外)に
Option Explicit
を書く
>969
内容を見てなんとなく判るかもしれませんが
目的は別のファイルに規則性なく散在しているデータを表にする事です
慣れないものを見よう見真似で作ってるので酷い物だと思います
で、今集計元ファイルは手元にないので、試しに空のファイルでやってみたら問題なく出来ちゃった・・・;
ファイル壊れてるかも・・・
>970
ありがとうございます
注意点としては変数宣言をすればいいんでしょうか?
ちょっと試してみます
何勘違いしてるの?
>972
条件付書式があると失敗するということですか?たしかに条件付書式を多用してますが・・・
一度試してみます
ちなみにOption Explicitは残念ながら効果ありませんでした
975 :
名無しさん@そうだ選挙にいこう:2007/01/04(木) 14:47:33
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 EXCEL 参照 名前
ある列に"金額"の名前を定義します。
ある行に"商品区分"の名前を定義します。
二つの名前の重なったセルを取り出す場合"=金額 商品区分"
で取り出せますが、それを自動化したいです。
あるセルに検索キーとして"金額"
あるセルに検索キーとして"商品区分"を記入しておきます。
この二つのセルの内容を参照して重なったセルの内容を
取り出す方法を知りたいです。よろしくお願いいたします。
>>975 =INDIRECT(B1) INDIRECT(A2)
977 :
名無しさん@そうだ選挙にいこう:2007/01/04(木) 15:34:33
>>975 「自動化したい」ならVBA
セルの値によってフィルタがかかるようにするしかないんじゃない?
978 :
975:2007/01/04(木) 15:40:33
>>976 >>977 早々のお返事ありがとうございます。
INDIRECTを二つ並べて書くだけで良かったんですね。
お手数をおかけしました。
>975
indexとmatchもしくはvlookupとmatchで組み合わせたりとか
俺はよく使うけど
もう既に解決済み
981 :
名無しさん@そうだ選挙にいこう:2007/01/04(木) 19:34:29
てst
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel 標準のテンプレート 新規作成
Excelを起動したときの新規作成されるブック(標準のテンプレート!?)は、通常どこに保存されていますか?
標準テンプレートを変更したいのですが?
フォルダウィンドウでの新規作成はExcel9.xlsの変更で出来たのだけど
XLStartフォルダにBook.xlt作っても、うまくできません・・・
984 :
982:2007/01/04(木) 22:07:56
[ファイルの種類] を [テンプレート] にすれば自動的にxltになりますが?
985 :
名無しさん@そうだ選挙にいこう:2007/01/04(木) 22:52:54
テンプレートだわなあ
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 初心者
【4 VBAでの回答の可否】 ○
【5 検索キーワード 】 VBA イベント 隣のセル 自動入力
勤務表を作っています。
範囲A1:Z20のなかで”E”と打ったら,右隣のセルに”-”と自動入力
されるようにしたいです。
検索してみましたが初心者なもので今ひとつ理解できません。
ご教授よろしくお願いします。
>>986 普通にVLOOKUPじゃだめなんですの?
989 :
986:2007/01/04(木) 23:48:31
>>987 範囲全域にAとかEなどの勤務様態を表す文字を打ち込んでいくので
関数は埋め込めないのです。
>>990 すみません書き方が悪かったです。
例えば,
範囲の中で,B2に"E"と打ったとします。そうすると右隣のC2に"-"と出る。
範囲のどこで"E"と打ってもそうなるようにしたいのです。
A B C
1
2 E -
3
>>991 例えば、C列に「E」が入る可能性もあるって事?
だったら、VBAでやるしかないな。
そうでないなら
>>988で。
ごめん、今忙しい。誰かコード書いてくれるの待て。
忙しい理由は、新スレ立てようとしてるから。
とりあえず、無理だったら誰か頼むから、まだ埋めないで。
>>992 > 例えば、C列に「E」が入る可能性もあるって事?
その通りです。
>>993 VBA書くより、全セルにIF文書いておいて、そこに上書きする形で
Eとか書いてった方が早いかと。
もしくは、A1に「E」、B1に「-」と書いて、A1:B1をコピーして、
貼り付けて入力していくのではダメなの?
つーか、仕様から見直した方が良いんじゃね?
>>994 乙
996 :
991:2007/01/05(金) 00:28:53
>>995 お返事ありがとうです。
しかし,それは出来ません。勤務シフトをあれこれ考え迷いながら
その表を組んでいくので何度も入力し直したりします。
(If文を入れておいても上書きされてしまいます)
"A"や"B"の勤務はそのまま入力するだけですが,
"E"の勤務の翌日は,必ず"-"にしなければなりません。
何人かがコレをやってたまにミスをして"E"の次に"A"などを
入れてしまうのをなるべく防ぎたいです。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long, c As Long
r = Target.Row
c = Target.Column
With Cells(r, c)
If .Value = "E" Then .Offset(0, 1).Value = "-"
End With
End Sub
一応家の環境では問題なかったので
範囲とかは自分で考えるとよろし
大文字小文字を区別するかどうかはまた別なので
わからなかったらおいで
>>997 どうもですm(_ _)m
「条件付き書式」は名案なんですが,"-"は会社の設定なんで
勝手に変えるわけにも行きません。
>>996 私だけがこの表でシフトを作るのならカット&ペーストで充分なんですが
多数の人間が打ち込むのでそうも行かないです。
* + 巛 ヽ
〒 ! + 。 + 。 * 。
+ 。 | |
* + / / イヤッッホォォォオオォオウ!
∧_∧ / /
(´∀` / / + 。 + 。 * 。
,- f
/ ュヘ | * + 。 + 。 + このスレッドは1000を超えました。
〈_} ) | 次スレも…ビジネスSOFT板クオリティ!!
/ ! + 。 + + *
http://pc10.2ch.net/bsoft/ ./ ,ヘ |
ガタン ||| j / | | |||
――――――――――――
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。