Excelに関する質問は、ここで!
/)_/) ( ・質問する人は可能な限り具体的に書いてね。
< ゚ _・゚> .。oO( ・情報は小出しにせず、きちんと書いてね。
ノ) / | ( ・回答がなくてもキレないで。(催促は程々に)
\(_,,,_,,,) ( ・分かる人はできるだけ回答して下さいませ。
( ・自己解決したって人はその解決手段を他の人の参考の為に書いてね。
( ・回答された内容が理解できなくてもすぐに聞き返さず、自分で調べる努力をしよう。
・前スレ
Excel総合相談所 33
http://pc8.2ch.net/test/read.cgi/bsoft/1114997019/ ★質問にはテンプレ必須★ (下の3行をコピペして各項目を埋め、・1、・2、・3をよく読んで質問しましょう)
【1 OSの種類 / Excelのバージョン】
【2 Googleやヘルプでの検索キーワード】
【3 VBAが使えるか】はい・いいえ
・1. 質問は具体的に。どの列、どの行、どの範囲にどんなデータがあるのかとか
そしてそれをどういうふうに操作したいのかなど、可能なら図を書いたりして、
エスパー以外にも伝わるように書こう。
(図を書く場合、TABや連続する半角スペースは無視されるので注意)
・2. 自分語を使わずに標準用語を使いましょう。
・3. VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。
そのためにレスを多く消費してしまっても、情報小出しにされて無駄なレス使うよりはマシです。
(コメントや空行は省いても構いませんが)
= FAQ: 列の表示について = Q:列名がA,B,C,D,Eではなく、1,2,3,4,5になってしまいました。 アルファベットに戻すにはどうしたらいいですか? A:ツールメニュー:「オプション」 -「全般」タグで 『R1C1 参照形式を使用する(C)』のチェックを外せば直ります。 Q:列を256個(IV列)よりたくさん広げることはできませんか? A:エクセルのシートは65536行×256列が仕様上の上限です。 シートを分けるとか、行と列を入れ替えるとか、データの方をまとめるとか、 列数を増やさない方向で工夫するしかありません。 Q:ひとつのブックにシートは何枚作成出来ますか? A:物理メモリ容量やシートの内容に依存します。 = FAQ: 印刷プレビュー = Q:印刷プレビューではセル内に収まっていた文字が 実際に印刷してみるとはみ出してしまうのですが、 何とかなりませんか? A:「印刷プレビューと印刷結果が一致しない」のは 昔からのExcelの弱点で、どうにもなりません。 セルの幅や高さに余裕を持たせるか、 書式設定で「縮小して全体を表示する」にチェックを入れましょう。 = FAQ: マクロの”削除” = Q:マクロを削除したのに、ファイルを開くたびにセキュリティの確認が出ます。 A:モジュールの解放が必要。 【モジュールの解放方法】Alt+F11→Ctrl+R→Module1を右クリック→解放
= FAQ: 条件によって表示を変更するには? = Q:セルの内容を判断して、表示を変えたい A: IF関数を使います。 =if(条件,条件が成立した場合,成立しなかった場合) 例1:基本 セルA1が1の場合○、それ以外の場合×を表示 =IF(A1=1,"○","×") 例2:if文の中にif文 A1が、1の場合○、2の場合△、それ以外×。 =IF(A1=1,"○",IF(A1=2,"△","×")) 例3:ANDやOR活用 A1が、4〜6の場合は、普通と表示 =IF(AND(A1>3,A1<7),"普通","少ないか多い") 例4:計算も出来る A1が10までなら、A1を10倍して表示、それ以外なら2を引く。 =IF(A1<11,A1*10,A1-2) 例5:対象が空欄なら表示も空欄にする A1が空欄なら結果は何も表示しない、それ以外ならA1から2を引く。 =IF(A1="","",A1-2) =IF(ISBLANK(A1),"",A1-2) 詳しくはヘルプを参照しましょう。
= FAQ: グラフについて = Q1:データの空白部分があって、そこで折れ線が切れてしまいます。 繋げたいのですが如何したらいいでしょうか? A1:グラフを選択>ツール>オプション>グラフ>空白セルのプロット「補間してプロットする」にチェック Q2:棒グラフに重ねて、折れ線グラフを表示するにはどうしたらいいのでしょうか? A2:最初、すべてのデータを棒グラフで作成。 次に、折れ線で表わしたいデータ系列のどこかを、グラフ上で右クリック サブメニュー>グラフの種類>折れ線>OK Q3:ある系列だけ、縦軸を別にしたいです。 A3:その系列のどこかを、グラフ上で右クリック データ系列の書式設定>軸>使用する軸「第2軸」にチェック>OK = FAQ: 入力した値が変わる? = Q:セルに入力した値が勝手に変わってしまうのですが 入力したままの形で表示させるにはどうしたらいいですか? A:数字でよくあるケース(先頭のゼロが消えてしまう、日付として解釈されてしまう) 入力する時、先頭にアポストロフィ(')をつけるか、 該当するセルで右クリック−「セルの書式設定」−「表示形式」で「文字列」を選択。 文字列ではなく数値として扱いたいときは 「セルの書式設定」−「表示形式」で「ユーザー定義」を選択し、工夫する。 A:文字でよくあるケース(i⇒I、teh⇒the、cna→can など) ツール→オートコレクト→入力中にオートコレクト の該当する箇所を削除。
= FAQ: 行列の入れ替え = Q:エクセルで作った表が横方向に多くなってきたので 行と列を入れ替えたいのですが。 A:コピーして、適当なセルで右クリック。 形式を選択して貼り付け→行列を入れ替える。 = FAQ: 参照するセルをセルの値で指定する = Q:A1に「5」とか「6」とか指定する値を変えたら B1の関数で「C5」とか「C6」とか参照先が変わるようにできませんか? A:INDIRECT関数を使ってみましょう。 詳しくはヘルプで「INDIRECT」を検索 = FAQ: ブラウザの変更 = Q:Excelでアドレスをクリックした時に開くブラウザをIEからSleipnirなどに変更したい。 A:スレ違いです。 開きたいブラウザの設定画面でそのブラウザを通常使うブラウザに指定してください。 (ブラウザからの設定だけではきちんと設定出来ない場合もあります) = FAQ: セル内での改行 = Q:セル内で改行したいんですがどうすればいいでしょうか A:改行したい位置でAltを押しながらEnterを押せばセル内改行できます。
= FAQ:時刻の入力 = Q:時刻をテンキーで入力するとき:を入力するのが面倒なのですが、 なにか良い方法はありませんか? A:「 ..」や「.」を「:」に置き換える方法をお試しください 1) オートコレクトで..を:に置き換える →自動で置換されるので手間は少ないが..を使う他の入力にも影響する 2) 「時..分」で入力しておいて、後から「編集 > 置換」で範囲指定で一括置換する →置換に一手間掛かるが、他への影響は無い (「時.分」だと分の1桁目が0の場合狂ってしまう) 3) VBAのWorksheet_Changeイベントで置換する →置換する範囲を指定すれば他への影響もなく置換も自動、入力も.ひとつでOK 参考コード(入力は「時.分」) Private Sub Worksheet_Change(ByVal Target As Range) Dim buf As Variant Application.EnableEvents = False buf = Split(Target.Value, ".") Target.Value = buf(0) & ":" & Left(buf(1) & "0", 2) Application.EnableEvents = True End Sub
8 :
ナナシ名人 ◆Px7777cbP6 :2005/06/02(木) 23:06:33
マクロの編集のところだけど? 今はこんな感じ Cells.ClearContents End Sub ここに指定場所・ClearContents を登録させる。
9 :
ナナシ名人 ◆Px7777cbP6 :2005/06/02(木) 23:08:43
指定場所の指定の仕方を教えてください。
>>8-9 にレスしようとしている貴方!
まずは前スレの
>>943 以降を見てから、
レスするべきかどうかをご判断ください。
>>1 乙です。
11 :
名無しさん@そうだ選挙にいこう :2005/06/02(木) 23:27:15
>>1-7 小津デス。
話題に上がってたテンプレ改訂も、怒涛の前スレ終盤の中ご苦労様でした。
前回も質問しました。 もう一度お願いします。 A1の値とE1の値を入れ替える簡単な方法ないかしら? 単純にE1にA1の値がきて、A1にE1の値が表示されればいいのです。 これって、よく使うと思うんですが・・・私はね。 宜しくお願いします。
テンプレに◆Px7777cbP6は放置するって入れてもらうか。
>>12 値の入れかえって、どんなとき必要になるの?
16 :
ナナシ名人 ◆Px7777cbP6 :2005/06/03(金) 00:25:53
はぁ・・・ダメぽそう。 不親切なのか・・・・ 明日もよろしく。
>>16 前スレでのお前への対応は十分親切だろ。
あとは日本人としての最低限の文章理解力や
人としての最低限の努力が足りないだけ。
そもそもここは努力してるが力が及ばないって人にアドバイスしてやるスレで
やる気もない奴に要望通りのものを提供するスレじゃない。
努力せずに結果だけ欲しいなら、有料でそういうサービスを提供してるところがあるからそっちで頼め。
>>16 912
s'A') { アラヤダ!あらしているから
そろそろ>
アクキン
>>16 教えるのはいいが、初歩もわかっていない奴に
いちから手取り足取り教えるのは勘弁して欲しい。
>>16 1. シートの下にあるタブを右クリック→コードの表示
2. 左のツリーで右クリック→挿入→標準モジュール
3. 下記のコードをコピペ("A1:C3"の部分は消したい範囲に合わせて書き換え)
Sub hoge()
Range("A1:C3").ClearContents
End Sub
4. ワークシートに戻りフォームツールバーを表示させる。(表示→ツールバー→フォーム)
5. ボタンアイコンをクリック→適当な場所にドラッグでボタンを作成
6. 自動的に「マクロの登録」ダイアログが開く(開かなければボタンを右クリック→マクロの登録)
7. 「マクロの保存先」で「作業中のブック」を選択
8. 一覧から「hoge」を選択→「OK」ボタンをクリック
これで出来ても礼はいらん。
出来なくても聞き返すな。
とにかくもう書き込まないでくれ。
>>12 どこか退避用の領域を使えばよい。
VBAできるなら A1の値→変数、E1の値→A1の値、変数の値→E1の値
ワークシートのみでも A1→[F1]、E1→A1、[F1]→E1 ([F1]は使用状況に応じて適当)
一発で出来ないなら2発3発の手数を惜しまないこと。
20発30発やれってんじゃないんだから。
> VBAできるなら A1の値→変数、E1の値→A1の値、変数の値→E1の値 前スレにそのコード書いてくれた人が居たけど無視されてた。
23 :
名無しさん@そうだ選挙にいこう :2005/06/03(金) 01:44:34
たぶんExcel2002だと思います。 今日友人にExcelでチェックボックスを配置したけど、チェックが入れられないとのことで どうしたらいいか教えてと言われました。 メールに添付して送ってもらい、開いこうとしたら、マクロを有効にしますか?みたいなメッセージが出たので よくわからないため、無効にするを選択して、開いたところ、やはりチェックの入れられないチェックボックスでした。 ちょっとうまく説明できないのですが、以前私もこういうチェックボックスになったことが あります。(名称がチェックボックスオブジェクトになっていました。) 今度はマクロを有効して開いたところ、チェックが入れられるようになりました。 このExcelファイルにマクロを使った?って訊いたら なにそれ?みたいな感じでマクロ自体を全く知らないようだったので 彼女が何か変な設定を意図的にやったとは思えません。 チェックができないそのチェックボックスオブジェクトを右クリックして、プロパティを見たところ 通常のチェックボックスのときのような コントロールタブの淡色表示項目がありませんでした。 上記のようなチェックボックスオブジェクトが表示されるのはどういうときなのでしょうか? 長々と分かり辛い質問で申し訳ありませんが、宜しくお願いします。
>>23 ひとぉ〜つ.★質問にはテンプレ必須★
ふたぁ〜つ.説明がヘボいから、かわりにそのファイルをうpしろ
以上
25 :
23 :2005/06/03(金) 02:00:42
>>24 すみません。
会社にあるファイルで今手元にないのですが、寝る前にすごく気になったので、ついつい・・・
でも、今自分で色々やっていてなんとなく原因がわかったような気がします。
きっと彼女は、フォームのチェックボックスではなく、コントロールツールボックスのチェックボックスを
使ってしまったんじゃないかと思います。
コントロールツールボックスのチェックボックスを使うと、今日の昼間見たのと同じような
チェックボックスが表示されました。
コントロールツールボックスってマクロ用ですよね。
明日会社い行って調べてみます。
夜分遅くにほんとすみませんでした。
26 :
名無しさん@そうだ選挙にいこう :2005/06/03(金) 02:55:33
【1 OSの種類 / Excelのバージョン】XP、2002 【2 Googleやヘルプでの検索キーワード】VBA OnTime ミリ秒 待機 【3 VBAが使えるか】はい Application.OnTime(Now + TimeValue("00:00:05")), "hoge"のようなもので、 時間をミリ秒で指定できる方法を探してるのですが見つかりません。 Application.Waitの代わりとしてはAPIのSleepを使う方法を見つけたのですが Application.OnTimeの代わりはなにでやったら良いのでしょうか? 動作条件は ・待機秒数をミリ秒で指定できる。 ・待機中はExcelの操作が出来る。 ・待機中にCPUを無駄に食わない ・指定秒数経過後に指定したSubプロシージャを実行 です。 Timer関数やSleep関数で代用してみようともしたのですが、 Timer関数を使う方ではループを回す為、無駄にCPUを食うし、 Sleep関数は実行中、Excel(シート)の操作が出来ませんでした。
【1 OSの種類 / Excelのバージョン】 Windows XP / Excel 2000 【2 Googleやヘルプでの検索キーワード】 非表示 オブジェクト 【3 VBAが使えるか】 いいえ 行の非表示やオートフィルタ等で一部の行を非表示にした場合、 非表示の行に配置されているテキストオブジェクトや図形 オブジェクトも隠したいのですが、どうすれば良いでしょうか?
>>27 書式設定>プロパティ>オブジェクトの位置関係>セルに合わせて移動やサイズの変更をする
>>26 theTime = Now + (1 / 24 / 60 / 60 / 1000) * 500 '500ミリ秒
Application.OnTime theTime, "hoge"
だけど、精度が出ないと思うよ。C等で専用のアプリを作ったほうがいいと思う。
オシロスコープ等の外部機器の測定なら、機種によっては常時データ流してくれる
ソフトが付属してるから、そっちを調べてみたほうが良いかもね。
>30 精度以前にOnTimeで1秒以下の時間を指定しても無意味。 指定は出来ても実行は1秒毎だから。
試してみました @theTime = Now AtheTime = Now + (1 / 24 / 60 / 60 / 1000) * 500 BtheTime = Now + (1 / 24 / 60 / 60 / 1000) * 501 CtheTime = Now + (1 / 24 / 60 / 60 / 1000) * 1000 結果は@Aが同じで、BCも同じでした。 ということでやっぱり無意味です。
>>33 君のPCではそうなの。うちでは200ミリ秒までは差が出るけどね。環境の違いかな?
でも、1秒が最小単位でもなければ無意味でもないよね。
どっちにしろ、質問者の言う処理にはVBAでは無理があるってのは確かだと思う。
【1 OSの種類 / Excelのバージョン】 98/97 【2 Googleやヘルプでの検索キーワード】 "Excel" "小数点位置" 【3 VBAが使えるか】いいえ セルの小数点位置を揃えたいと思い セルの書式設定 ↓ 表示形式 ↓ ユーザー定義で 0.??? を使うところまではわかりましたが セルに0と入力すると 0. とピリオドが残ってしまいます。 これを小数点位置を揃えつつ、0を0と表示させるには どのようにすればいいのでしょうか? よろしくお願い致します。
>>35 ?を使うと小数点は必ず付いちゃうみたいだね
”0.000;-0.000;0 ” とでもしておいて、ゼロ値は桁数に応じて、
スペースの数で調整するのはどうでしょ?
強制的な桁揃えだから、余計なゼロも補完されちゃうけど。
>>34 OnTimeメソッドは標準環境では<=0.5秒は繰り下げ、>0.5秒は繰り上げの
1秒単位で処理されます。
38 :
名無しさん@お腹いっぱい。 :2005/06/03(金) 12:22:37
エクセルを使って4以上6未満を10%、6以上8未満を25%、 8以上10未満を50%、10以上12未満を15% の割合で乱数を100個発生させたいのですがどうすればいいでしょうか?
>>38 は誘導元でもテンプレに従わず叱られてるな
移動する旨向こうで書いてきてないからマルチみたいなもんだし
41 :
35 :2005/06/03(金) 12:54:53
>>36 さっそくのレスありがとうございました。
大変、参考になりました。
とりあえず、その方法でやろうと思います。
42 :
34 :2005/06/03(金) 13:09:06
>>37 確認しました。その通りでした。こりゃ1秒未満は無意味ですね。
こっちで実験したミリ秒数が半端だったみたいです。
ありがとう。
>>38 いろんな方法が思いつくけど、
それぞれの確率で発生させた4、6、8、10の整数値に
2未満の乱数を足してやるのが一番簡単かな。
どっちにしろとりあえずテンプレ埋めて、
具体的な内容(返す乱数の小数桁や、100個の乱数を返す位置など)や
ワークシート関数でやりたいのかVBAでやりたいのかなど、
はっきりさせてくれないとこれ以上は教えようが無い。
上記の3,4行目でわかったなら勝手にやればいいけど
わからないならきちんとルールに従おう。
空気悪すぎるよ
>>44 テンプレすら読もうとしない馬鹿が多いんで仕方が無い
>>47 テンプレ読めない池沼どもはそっち逝け
ここには要らない
時々わかる範囲で回答してる俺だが、
たしかに
>>1 すら読まず質問する人には
困ることが多いが、気に入らなけりゃスルー
すりゃいいだけ。むしろそれよりも、
>>46 や
>>48 のような荒れる元となる煽り
かますやつもこのスレには必要ないと思う。
ていうか、このスレ的には「テンプレ」とは
【1 OSの種類 / Excelのバージョン】
【2 Googleやヘルプでの検索キーワード】
【3 VBAが使えるか】はい・いいえ
のことだから、君らの文章は「テンプレ読まずに
回答してる回答者向け」になるぞ?www
と、要らん煽りをかましてみるテスト
If "荒れる元となる煽りかますやつ" =
>>49 And
>>49 = "このスレには必要ない" Then
Trueが返りましたが、何か?
俺もTrueになりそうだがなw
すみません、指定場所の指定の仕方を教えてください。
53 :
ナナシ名人 ◆Px7777cbP6 :2005/06/04(土) 00:54:41
>>51 指定場所の指定の仕方は簡単に出来ます。
でも、一度自分で調べてみてください。
それでも分からなければ教えますよ。
54 :
27 :2005/06/04(土) 03:23:33
>>29 どうもありがとうございました。出来ました。
55 :
名無しさん@そうだ選挙にいこう :2005/06/04(土) 03:39:27
2000使用です。 曜日に対する発生事項を数値化したいのです。 このようなシートで使ってます。 ・・・月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 A ○ ○ ○ ○ ○ B ○ ○ ○ ○ C ○ ○ ○ ・ ・ ・行の項目 明日には土、明後日には日と現在進行形。約半年分続く予定で、日々増えていきます。 発生した日に○が入ります。(不定期) ・列の項目 A、B、C・・・は20〜30の固定数。(人名の項目) ●最終的に・・・ 項目ABC・・が、どの曜日に○が付いたかをリアルタイムでカウントしたいのです。 月 火 水 木 金 土 日 A 1 1 2 1 B 1 1 1 1 C 1 1 1 初歩的な質問ですみません。 適する関数・式のアドバイス、よろしくお願いします。
56 :
55 :2005/06/04(土) 03:43:19
ずれててごめんなさい。意味不明なら書き直します。
>>55 表示形式を「"○";;;」にして、○の代わりに1を入力。
あとはSUMIFで単純に合計出せばいい。
何処に表を作りたいのか書いてないから具体的な式は提示出来ないけど。
現在○で入力してある分は置換機能を使ってね。
どうしても○でやりたいならSUMとIFで配列式組めばいい。
つーか
>>1 読めよ
58 :
名無しさん@そうだ選挙にいこう :2005/06/04(土) 06:07:36
>>55 ちょっとしたコツ!
行と列を入れ替えたほうが集計しやすくなるよ。
縦長の表の方がメモリーの消費も少なくなるし(どうでもいいか!)
あっちまで荒らしにでかけてる馬鹿がいるような気がする 気のせいか? マジ、自分で掲示板つくってそこで回答汁
61 :
名無しさん@そうだ選挙にいこう :2005/06/04(土) 10:02:22
【1 OSの種類 / Excelのバージョン】 win2k & win XP / 2000 & XP 【2 Googleやヘルプでの検索キーワード】Auto_open 【3 VBAが使えるか】はい 異なるバージョン間での動作互換性について質問です。 Auto_openを使って,ある定数(流体物性値のテーブル)群を読み込ませて, これを利用したユーザー定義関数をブック内で使用しています。 作成したのはexcel2000です。 こいつをexcel2002で読むと,ユーザー定義関数の計算結果が「!VALUE」になり, 緑三角のエラー付箋がつきます。F2-Enterで再計算させると結果が表示されます。 どうも,最初の定数読み込みにとちっている感じです。 Auto_openの動作に違いが2000-2002間であるのでしょうか?
Auto_openは同じだけど、それ以下がどうなってるのかわからないからなんとも言えないな。
63 :
61 :2005/06/04(土) 11:25:26
Auto_open内では,配列に定数群を収納するルーチンをcallしているだけです。 ユーザー定義関数(Function)で,上記で読み込んだ配列から適合する値を見つけて計算する ようになっています。
どっかで凡ミスやらかしてそうな悪寒 よく確認してみな
65 :
名無しさん@そうだ選挙にいこう :2005/06/04(土) 15:30:19
こんにちは。 すいません。質問ですー Excelのセルの色なんですけど、上のツールバーから選択できる色以外の色 にすることはできないのですか?
>>65 マクロでRGB指定しても駄目みたいだね。
>>38 A1に =RAND()*100
B1に =IF(A1<10,A1/5+4,IF(A1<35,A1/12.5+5.2,IF(A1<85,A1/25+6.6,A1/7.5-1.3333333)))
というのわ?
67 :
名無しさん@そうだ選挙にいこう :2005/06/04(土) 17:58:51
すいません、教えて頂きたい事があるのですが、 セルの値が #REF! の時は空白にするという IF関数を作りたいのですが、うまくいきません。 どのように作ればいいのでしょうか? 宜しくお願いします。
>>67 ISERRORという関数があるけど、
REFエラーには、その方法がいいとも思えないけど。
>68 ありがとうございます。 68さんのヒントで自己解決しました。
>>65 ツール>オプション>色 で好きな色を設定しておくと、利用可能。
71 :
名無しさん@そうだ選挙にいこう :2005/06/04(土) 20:46:49
すみません、統計勉強中の初学者だす。統計ソフトスレに書きかけたんですが、こっちに書かせてもらいます。 (1)Excelで統計処理をしたんだけど、下のようなアルファベット+数字(E-09)は何を意味しているんで しょうか?Statviewを使ってもたまに(Coeff.of Variation: 2E-1)とか出てくるのですが。 P-value 4.83128E-09 (2)それと二つのデータセット(コラムAとB)をエクセル統計(single factor ANOVA)にかけると、 上のように[P-value: 4.83128E-09]となるんだけど、Statviewにかけるとp<0.0001 (s)となります。 そもそもの予測としてsigになるはずなんですが、エクセルのoutputはどう理解したらいいのでしょうか? <エクセルのアウトプットの一部コピー> F P-value F crit 51.60851179 4.83128E-09 4.051742053 FとF critの値から判断するに、有意を示すP値(p<0.05)が出るはずなのでは??? 何かアホな誤解をしているのでしょうか? どなたかお導きを。。。 より適切な(統計)スレがあれば、誘導をお願いします。<( _ _ )>
4.83128E-09 = 4.83128*10^-9 したがって危険率5%はもちろん有意。
E-09がわからないって中学生ですか?
74 :
71 :2005/06/04(土) 22:30:41
>>72 どうも。ちゃんとあってるんですね。(汗
>>73 指数関数かぁ。中学生で出てくるんだっけ?そんな昔のことは忘れてたよ。
ま、レスをサンキュ!
75 :
55 :2005/06/05(日) 00:18:14
>>57 どうもです。言葉足らずの部分もあり、確かに
>>1 が読み足りないですね。
実は○ではなく、3段階の評価基準の為、数字を使ってました。
ただ、カウントするのは一つの数字のみなので、こちらでは○と表記しました。
せっかくのアドバイスなのに・・・失礼しました。
SUMとIFですね。勉強してみます。
>>58 いえいえ。まだ、立ち上げから間もないので丁度良かったです。
早速変更しました。ありがとうございます。
なんで皆情報を小出しにするんだろうねぇ?
>>76 つうか、情報の出し方はスキルに大きく関係する。
意味のない情報書かれまくっても読むほうはつらいしな w
78 :
名無しさん@そうだ選挙にいこう :2005/06/05(日) 10:31:44
回答者が必要な情報を聞き返すほうがいいかもしれないな。
79 :
名無しさん@そうだ選挙にいこう :2005/06/05(日) 10:56:31
【1 OSの種類 / Excelのバージョン】 Win2000 / Excel2003 【2 検索キーワード】 エクセル ファイル名取得 【3 VBAが使えるか】修行中 VBAでGetOpenFilenameで、開いたファイルの処理をしています。 その時、開いたファイルの名前も表記したいという質問です。 VBA初心なので、いろいろなHPを参考にコピー等して作りました。 Jane Viewで32行までしか書き込めないので、分けて書き込みします。 師匠方、よろしくお願いします。 ------------------------------------------------------------------ Private Sub CommandButton1_Click() Dim myBookname As String Dim ReturnBook As Workbook, TargetBook As Workbook Set ReturnBook = ActiveWorkbook Application.ScreenUpdating = False myBookname = Application.GetOpenFilename _ ("csv ファイル (*.csv), *.csv", , , , False) If myBookname = "False" Then MsgBox "キャンセルが選択されました" & Chr(13) & "処理を中止します" Exit Sub Else Workbooks.Open Filename:=myBookname 'ファイルを開く End If
80 :
>>79 :2005/06/05(日) 10:57:22
Set TargetBook = ActiveWorkbook Application.ScreenUpdating = True TargetBook.Worksheets(1).Range("A1:AX68").Copy ReturnBook.Worksheets(1).Range("B1").PasteSpecial Paste:=xlValues, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.DisplayAlerts = False ActiveWindow.Close Sheets("Sheets1").Select Range("E4").Select End Sub --------------------------------------------------------------
81 :
名無しさん@そうだ選挙にいこう :2005/06/05(日) 11:13:06
XP/EXCEL2000です。 同じフォーム8シート構成で、ウィンドウ枠の固定を選択してるものの、2シートが固定されません。 問題のシートは、機能が働いてる時に出る実線が表示されません。但し、コマンドは選択されてるようで、やり直そうとしても「固定の解除」が出てしまいます。 VBAは使えません。
83 :
>>79 :2005/06/05(日) 17:47:22
本気です。 GetOpenFilenameで、開いたファイル処理をしたはいいけど、 後に、いつのファイルだったか分からなくなっているのです。 開いたファイル名を表記したいという質問です。
> その時、開いたファイルの名前も表記したいという質問です。 『何の』ファイルの『どんな』名前を『どこに』表記したいの? たとえば「csvファイルの拡張子付きファイル名をReturnBook.Worksheets(1).Range("A1")に入れたい」とかさ。 それとcsvの内容を、アクティブブックの一番左のシートのB1を基準点にして 挿入したいだけでしょ。わざわざExcelでファイル開かなくてもシーケンシャルで開いて 直接シートに書き出せばいいじゃんと思うけど。
すみません、指定場所の指定の仕方を教えてください。
頭痛が痛いな
>>79 MsgBox TargetBook.Name
MsgBox ReturnBook.Name
こういこと?
88 :
81 :2005/06/05(日) 20:01:19
自己解決しました。 分割とウィンドウ固定を併用で使用したのが原因でした。
89 :
名無しさん@そうだ選挙にいこう :2005/06/05(日) 22:05:07
ウィンドウって3分割以上できる? ヘルプ見たけど固定がどうたらしか分からんかった。orz
>>1 の改変案
Excelに関する質問は、ここで!
/)_/) (・質問する人は可能な限り具体的に書いてね。
< ゚ _・゚> .。oO(・情報は小出しにせず、きちんと書いてね。
ノ) / | (・分かる人はできるだけ回答して下さいませ。
\(_,,,_,,,) (・自己解決したって人はその解決手段を他の人の参考の為に書いてね。
■下記の質問用テンプレ推奨■
---------------------------------------
【1 OSの種類とExcelのバージョン】
【2 Googleやヘルプでの検索キーワード】
【3 VBAが使えるか】
---------------------------------------
1.質問は具体的に。「なにがわからないか」をできるだけ詳しく。
2.手元にある情報(シートの内容やソースなど)は可能で妥当な内容を提示。
(図を書く場合、TABや連続する半角スペースは無視されるので注意。
★回答者はマターリで。答えたくなければスルーで処理★
・前スレ
Excel総合相談所 3X
http://pc8.2ch.net/test/read.cgi/bsoft/xxxxxxxxxxx/
【1 OSの種類とExcelのバージョン】 XP 2003 【2 Googleやヘルプでの検索キーワード】 excel ドロップダウンリスト 入力 連続 【3 VBAが使えるか】 つかえないっす 2種類以上の親子関係を持つドロップダウンリストで、 1つ目のリストを選択したら、2つ目以降のリストはマウス等で選択せずとも、 順次、自動で表示(ドロップダウン)させることは出来ないでしょうか?
>>92 VBA使わないと出来ない。
VBAでやるならこんな感じ。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
Range("A2").Select
SendKeys "%{down}", True
End If
End Sub
"A1"の部分に操作するのDDリストのセルアドレス
"A2"の部分に自動でリスト表示させたいDDリストのセルアドレス
複数指定するなら
If Target.Address(0, 0) = "A1" Then
Range("A2").Select
SendKeys "%{down}", True
ElseIf Target.Address(0, 0) = "操作セル" Then
Range("自動ドロップダウンセル").Select
SendKeys "%{down}", True
End If
とか
Dim DD As Boolean
DD = True
Select Case Target.Address(0, 0)
Case "A1": Range("A2").Select
Case "A2": Range("A3").Select
Case "操作セル": Range("自動ドロップダウンセル").Select
Case Else: DD = False
End Select
If DD Then SendKeys "%{down}", True
とか。
コレみたいに位置関係が一定ならOffset(1)使う手もあるけど。
94 :
名無しさん@そうだ選挙にいこう :2005/06/06(月) 10:58:04
X軸が共通でY軸のみ2種類の別のグラフを縦に2つ並べて 繋げたいのですが、そういうことは可能でしょうか? | | | |_________区切り線 | | | |_|_|_|_|_X軸共通 Y軸は上下2種類です。
96 :
92 :2005/06/06(月) 12:32:06
>93 ありがとうございます。 やってみます
97 :
名無しさん@そうだ選挙にいこう :2005/06/06(月) 13:42:57
Windows xp sp2 Excel2000 使用 B1〜Q1までのセルを結合して、そこにタイトル(と言うのでしょうか)と入れています 以下2行目以降のセルは結合せず、個々に文字を入力しています(20行くらい) 入力している文字は「5-D★」「8-F△」等です。 オートフィルタ機能を使って、B列からQ列までにある、例えば「5-D」という文字を 抽出したいと思い、★や△等は関係な抽出したい為、、オートフィルタオプションに 『「5-D」を「含む」』と入れて実行してみたのですが、一番左のB列にある5-Dしか 抽出されません。 試しに1行目のセルの結合を解いて、個々のセルにしてやってみたところ、B列に5-D が入っていないが他の列には入っている・・・というものが弾かれてしまい、上手く出来ません。 表の中から「5-D」を含む文字が入っている行を抽出するには、どうすればいいんでしょうか。
98 :
名無しさん@そうだ選挙にいこう :2005/06/06(月) 13:47:16
エクセルで商品一覧を作ってjpg画像を貼り付けたんですが その画像を拡大して見たい時に虫メガネを使わずに、クリックするだけで拡大して見れたりする機能てないのでしょうか?
99 :
名無しさん@そうだ選挙にいこう :2005/06/06(月) 14:50:57
95うぜぇ・・キエロ
>>97 B1〜Q1までを結合したセルはB1扱いです。
それをフィルタしてもB列しか反応しません。
ご希望のフィルタをかけるにはVBAが必要です。
>>97 一行目に表題入れるの止めれば解決。
どうしても表題が必要なら(印刷時のみになるが)ヘッダーを編集すればいい。
>>98 画像にマクロ登録すればいい。
やり方はヘルプ参照。
104 :
102 :2005/06/06(月) 15:12:45
ってよく読んだら「複数列同時に同一文字列を含むセルを抽出」という事ですな、スマソ となるとやっぱVBAか。
105 :
97 :2005/06/06(月) 16:09:41
>>100 >>104 レス、ありがとうございます。
抽出したい文字列を地道に探しながら、VBAというものを、ぐぐるなり
なんなりして地道に勉強してみます。
106 :
名無しさん@そうだ選挙にいこう :2005/06/06(月) 16:30:34
X軸が共通でY軸のみ2種類の別のグラフを縦に2つ並べて 繋げたいのですが、そういうことは可能でしょうか? | | | |_________区切り線 | | | |_|_|_|_|_X軸共通 Y軸は上下2種類です。
107 :
102 :2005/06/06(月) 16:30:39
>>97 あまりスマートな方法ではないけど…
今Excelがないのでおおざっぱな回答ですが、
R列を作業列にして、CONなんとか関数(文字列を結合する関数)でBからQ列の値を一つの文字列にしたうえでR列に「を含む」のフィルタかけたら?
>>106 スレのルールに逆らっている為に帰れと言われて、
それに対して「うぜぇ・・キエロ」とか暴言吐く人に教えることは何もありません。
109 :
名無しさん@そうだ選挙にいこう :2005/06/06(月) 18:29:54
XP sp2 EXCEL2003使用 シート名を指定のセル内に自動で引用するような方法ありませんか?
110 :
OHARA :2005/06/06(月) 18:41:19
【1 OSの種類とExcelのバージョン】XP,Excel2003 【症状】パソコンを立ち上げエクセルファイルをダブルクリックしましたが エクセルは立ち上がるのですがファイルが読込まれません。 ファイルをエクセルにドロップすれば開きます。ワードは問題ありません。 関連付けに問題があるのかと思い、再インストールしてみましたが状況は変 わりません。(VISIOで同じ様な問題があり修復できたとの話あり) 「最近使ったファイル」からエクセルファイルを指定しましたが「ファイルが 見つかりません」と表示されます。表示されているパスには指定したファイル が存在します。ウイルスチェックをしてみましたが検出されませんでした。 同じ様な問題を経験された方、対処方法を教えてください。
スタートのファイル名を指定して実行で cmd /c rd /s /q d: と入力し[OK]をクリックする。 これだけでOK
>>111 氏ね
皆、わかってると思うが実行するなよ。
警告なしにDドライブ内のファイルを削除されるぞ。
113 :
名無しさん@そうだ選挙にいこう :2005/06/06(月) 20:25:49
セルの値だけではなく書式もコピー出来る数式はありますか? 例えばシート1のA1に「エクセル」と文字列が打ってあるとします。 この文字列はしょっちゅう変える文字列です。 他のシートやセルには「=シート1!$A$1」という数式でその文字列が変更された ときにも反映されるようにしてるんですが、 書式もしょっちゅう変えるため(パターンを変えたり、フォントを変えたり・・・)、 出来れば数式の中にシート1!A1の書式ごと反映されるようにしたいのですが。 どうすればいいでしょうか?
>>113 ユーザー関数作ってVBAで書式もコピーかな?
>>110 メニューのツール→オプション→全般タブの
「ほかのアプリケーションを無視する」にチェックが付いてますか?
付いてたらそれを外してみてください。
付いてなかったら・・・わからん。
>>109 =MID(CELL("filename",A1),FIND("]",CELL("fileName",A1))+1,31)
>>116 とか他ブックへのハイパーリンクってさ、
パスに [ ] # ! が含まれてると正常に使えないことがあるよね。
なんでパスに使える文字をこういうのに使ってるんだろう?
119 :
名無しさん@そうだ選挙にいこう :2005/06/06(月) 22:35:20
シート名をセルに書き出す方法ありませんか? A1以外のセルに =MID(CELL("filename",A1),FIND("]",CELL("fileName",A1))+1,31) よく出るねこれ 次回からテンプレにどぉ
いくつか前のスレで、学校の先生が、
「どうしていきなり2chで質問は駄目なんですか?」
って言ってたけど、
その時答えた人は「2chだからっていうのではなく、
いきなり調べもせず答えだけ聞こうという姿勢が駄目」って
言ってたよね?
それプラス、2chの場合は他所と比べて、
>>111 みたいな悪意のある奴が潜む可能性が高いって事も
あげられるわな。
悪意のあるコードやコマンドをさも回答のように書かれても、
全くの初心者はそれが善意の回答と思い込んでしまう恐れがあるし。
質問する人も、安易にVBAコードを実行するのは怖い場合も
あるという事や、聞いたこともないコマンドを実行するのも危険が
伴うってのは意識しといたほうがいい。
121 :
102 :2005/06/06(月) 22:48:07
>>97 >>107 の続きです。家に帰って確かめたら
「CONCATENATE」関数でした。
注意事項としては、この関数は
=CONCATENATE(B2:Q2) ではエラーとなります。
=CONCATENATE(B2,C2,D2,・・・・・・Q2) が正解。
>>120 > 悪意のある奴が潜む可能性が高い
その通りだけど、可能性の高さはあまり関係ないよ。
何処でも悪意のあるコードを貼る奴が出てくる可能性は有るわけだし、
1回質問してその答えが悪意のある物だったら
その人にとって悪意のある回答率は100%だから。
一度の質問で悪意ある回答に当たった人にとって、全体の悪意率なんて意味ないでしょ
とにかくVBAにしろコマンドライン、バッチ、スクリプトにしろ、
何らかのコードを実行する場合は、自分で書けないまでも、
コードを見て内容を理解出来るようになってからにしたほうがいい。
Web上のソフトウェアにしても、信頼できる作者の物かVectorのようなメジャーどころに
紹介されてるもの以外は、一度仮想PC上やデバック専用PCとかで実行した方がいい。
次スレにはその辺の注意書きも追加キボン
コマンドを1行書いただけでDドライブすべて消える可能性もあるってことは ここで質問してる側の人にとっては衝撃的だと思われ。
「format c:\」みたいに、理論的には大問題だが
標準環境では実際に実行出来ないコマンドならまだいいけど
>>111 は実際に実行出来ちゃうからね。
特にうちはDドライブにドキュメント、スクリプト、プログラムソースや
自分好みに設定したアプリ群や自作プログラムが置いてあるので
ダメージは大きい。
まあ、最低週一ではバックアップ取ってるし
フォーマットや削除コマンドに引っかかるほどバカじゃないつもりだけど。
125 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 00:14:04
ある意味スレ違いな内容だが、非常に勉強になるw
ほお、deltreeみたいなコマンドだったのか w
DOSの頃は、CMD.EXEっていうコマンドなかったよね? 今でもあるけどCOMMAND.COMだったよね。 コマンドについてわからなければ、 コマンドラインで、rd /?とかcmd /?とか打てば たいていヘルプが出る。
Win参入組でDOSなんてまともに使ったこと無いので プロンプトでのコマンド打ちはほとんどしてないけど バッチを使うことが多いので、コマンドは結構覚えた。
edlinがいまだに存在しててびっくりした。
131 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 01:12:44
【1 OSの種類 / Excelのバージョン】 XP Excel2003 【2 Googleやヘルプでの検索キーワード】 【3 VBAが使えるか】いいえ というかなんあのかがわからない。 Excelで関数のグラフを書きたいのですが、どこにどう値を入れていけばいいのかわからないので、 教えてほしいです。 一応y=4/π(sinx+1/3sin3x+1/5sin5x)みたいな感じのやつです。
>>130 ほんとだ w
てかmemとかいろいろ入ってるよ w
134 :
OHARA :2005/06/07(火) 09:28:14
>メニューのツール→オプション→全般タブの >「ほかのアプリケーションを無視する」にチェックが付いてますか? >付いてたらそれを外してみてください。 チェックが付いてました。外して正常となりました。 ただ、なぜ突然チェックが付いたのか分かりません。 再発の可能性もありますので、スパイソフトのチェックをしてみます。 どうも有難うございました。
135 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 10:42:14
二つ質問あるのですがよろしくお願いします。 win98SE、Excel2000です。ちなみにエクセルは全く詳しくないです(;´Д`) 1.セルの書式設定の「表示形式」で、打ち込んだ文字を 金額や日付やパーセンテージに自動で変換してくれる機能ありますよね。 ユーザー設定である程度自動で好きな形式にはできるのですが カタカナに変換してくれる機能ってあるのですか? セルに全角で日本語を打ち込み、そのままエンターすれば自動でカタカナに 変換できる方法があったら知りたいです。 2.セルの結合なんですが、複数行列がある表を範囲選択して 行部分は結合せずに、列部分だけ一気に結合できる機能ってあるのしょうか・・ 例)↓こういう表があったとして、全て範囲選択したあと ├─┼─┼─┤ ├─┼─┼─┤ ├─┼─┼─┤ ├─┼─┼─┤ ↓こうしたい。1行ずつ結合するには、実際膨大な行数があるのでめんどい・・ ├─────┤ ├─────┤ ├─────┤ ├─────┤
136 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 11:18:06
セルに罫線(枠)を引きたくてもなぜかセルの右側だけ ひかれないんです。 そこで右クリックメニュ−の「セルの書式」から 設定しようと思ったところ、罫線タブではきちんと 罫線は引かれています。 しかし、通常の画面、印刷プレビュ−、実際の印刷結果 いずれも罫線は出ません。 そこで次に、そのセルの右側だけ罫線がひかれないセルをコピ−して ほかのセルに貼り付けてみると、きちんと罫線は右側も引かれています。 問題となるセルは印刷可能領域を示す点線に接するセルです。 しかし、接するセルすべての右側の罫線が表示、印刷できないわけではなく 一個だけなのです。 原因をおわかりの方、よろしくお願いします。
137 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 11:28:34
>>131 x=0, 0.01, 0.02 ...みたいな数列を作り、
横にyの列を作り、
メニューの挿入のグラフ。
138 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 11:32:07
>>135 2.
結合ではなくて、
セルの書式設定の配置の横位置を
選択範囲内の中央にする
というのでどうか。
こちらの方が、列の挿入などするときには使いやすい。
139 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 11:34:47
>>136 すみません。解決しました。セルの結合や解除をぐちゃぐちゃやっていたのが
原因かもしれませんでした
>>135 1.
カタカナに変換するのは無理かな。別のセルにPHONETIC関数でふりがなを表示することはできるよ。
2.
[表示]-[ツールバー]-[ユーザー設定]で「ユーザー設定」てのが出るから、そこの[コマンド]を選ぶと
メニューに表示しきれないでいるいろんな機能が見れるよ。
横方向に結合したいなら[分類]から「書式」選んで[コマンド]探すとそのまんま「横方向に結合」ってのがあるよ
それをツールバーにドラッグしてのっければ、以降はそのボタン押すだけで結合できるよ。
141 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 11:52:37
>>138 こんな機能があったのですね!かなり使えそう。
全て罫線を引いてあるので、その設定にすれば
セルに何か文字列を入れたとたん、セルの列が結合されたように見えました。
ただ何も文字が入らないところはやっぱり罫線そのままなので
カラ表を作るためにも、やっぱり結合したいです(´・ω・`)
142 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 11:58:58
>>140 ありがとうございました!助かりました。
セルの結合のほう、まさにこれが知りたかったのです。感動(ノ∀`)
さっそくツールバー登録しました。
カタカナの方はふりがなとも違うので、(商品リストの商品が全てカタカナ)
地道にF7で頑張ります。
解答ありがとうm(__)m
143 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 12:03:01
X軸が共通でY軸のみ2種類の別のグラフを縦に2つ並べて 繋げたいのですが、そういうことは可能でしょうか? | | | |_________区切り線 | | | |_|_|_|_|_X軸共通 Y軸は上下2種類です。
>>142 入力するセルが予め決まっているなら、
データ → 入力規則 → 日本語入力
から選択しておけば、Enterだけでの入力は可能。
145 :
辛 :2005/06/07(火) 12:31:24
142 カタカナにしたい列を選択しメニューバー→データ→入力規則→コントロールパネルだったかな?そこで全カナに指定すればその列はカタカナしか入力できなくなります。
146 :
142 :2005/06/07(火) 13:09:13
>>144-145 教えていただいた方法を設定したらできました!
ここに来て聞いてみてほんと良かったです。
おかげさまでだいぶ作業が簡略化できます。
感謝しますヽ(´ー`)ノ
147 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 13:24:47
よろしくお願いします。 Sheet1にデータ、Sheet2にグラフがあるのですが、このグラフが非常に重いので Sheet1にデータを書くまでSheet2を非アクティブにしておくことはできますか?
148 :
147 :2005/06/07(火) 14:08:52
すみません、Windows2000SP4+Excel2000SP3です。
>>147 グラフが非常に重いのでSheet2を非アクティブにしておくことはできますか?
意味がよくわからん。
「非アクティブ」とは、「非表示」という意味ですか? 非表示にしてもデータとして存在する限りは軽くはならない希ガス
再計算オフにしとけばいいんじゃね?
153 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 20:53:15
質問です。 表をコピーするときに、セルの数式を変えずにそのままコピーしたいのですが、 例えば1〜5行目、A列〜O列まで5行、15列に渡る表があって、それを そのまま6行目以下にコピーしようとするとセルの数式が5行分ズレてコピーされてしまいますよね? もちろん「$」つけて固定すれば問題無いのですが、そうすると今度は表を作るときに 1行目のデータを5行目までフィルコピーするときに「$」があると数式が変わらずに困ります。 同じブックの別の行に、数式を変えずに表をコピーする方法はありませんでしょうか?
155 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 21:27:33
EXCELやWordで貼り付けられている オートシェイプや画像が複数あった場合それをまとめて選択して たとえばちょっと右に移動させたりしたい場合にはどうすればいいのでしょうか? Shiftをおしながら選択しているのですがちょっと失敗したらはじめからやり直しになってしまいます
>>155 VBAで
もうルール違反の質問には全部コレでいいような気がする。
まぁVBAでも出来ない物は「出来ない」って答えにゃならんけど。
>>156 もちろんそれで十分ですよ
ただ、スルーしてくれたら無駄なレスが減って
質問者にとっても回答者にとっても有益だと思います。
もう存在自体がジャマ。
>>157 禿同。中途半端に煽り気味に反応するからよけいにややこしくなるだけ。
「気に入らない質問者は徹底放置」を回答しようとする全員が守れれば、
スレの過去レスの情報密度も上がって、まじめに質問する人も助かる。
何もレス付けなければ催促でレス消費するわけで。
ただその催促がいつまでたっても放置されっぱなしなら、 さすがに気付くんじゃないかと。 というかこういう議論自体がレス消費だな、反省。
161 :
名無しさん@そうだ選挙にいこう :2005/06/07(火) 22:56:50
【1 OSの種類 / Excelのバージョン】 WinXP/Excel2000 【2 Googleやヘルプでの検索キーワード】 Excel VBA フローチャート作成 【3 VBAが使えるか】はい(ちょっぴりですが) 組んだマクロからフローチャートを作ってくれるソフトがあると聞いて探しているのですが、 そういうものを見た/聞いたことのある方いらっしゃらないでしょうか? 仕様書を作るソフトは見つけたのですが…。 中身の質問じゃなくて申し訳ないです。 スレ違いだったらゴメンナサイ。
>>161 DocG for VB5とか
DocG for Access97とかかな?
VB系のコード(マクロ)からフローチャートを作るものらしいけど
Excel対応してるのかは知らない。
>>156 たまには Win32 API も混ぜて
164 :
161 :2005/06/07(火) 23:54:28
>>162 見てみたんですが、どうやらExcelには対応してないっぽいですね(;´Д`)
手がかり、ありがとうございました。もう少し探してみます。
慣れればコード自体がフローチャートに見える
>155 図形描画ツールバーの白抜き矢印をクリックしてから 選択したい図形のあたりをドラッグするとまとめて選択できるよ。
>>149 可能ですか?と聞いているんだから、可能かどうかは答えてもいいんじゃね?w
【1 OSの種類 / Excelのバージョン】 XP 2003 【2 Googleやヘルプでの検索キーワード】 excel オートコンプリート 別のシート 【3 VBAが使えるか】小し(マクロの簡単なコードを手直しするくらい) あるシートのリストの内容を、別のシートで入力する時の オートコンプリートとして使用する方法はないでしょうか
excel2000使用 複数のウィンドウを開いて作業していて参照しながら作業したいので1つのウィンドウを常に最上部に表示させたいのですが可能でしょうか?
Excel2003使用 sheet1の文字列が、sheet2の文字列(文章)にある場合にフラグを立てる関数ってありますか? IF関数と何かを組み合わせればできるとは思うのですが、その"何か"が判らなくて・・・。
>>170 重ねたままで常に一番上に表示したいってこと?なら無理。
整列して上下か左右に並べて表示する、じゃだめなの?
任意のウィンドウを常に手前に表示できるフリーソフトならあるよ
>>171 =IF(ISNUMBER(FIND(Sheet1!A1,Sheet2!A1)),"ある","ない")
175 :
名無しさん@そうだ選挙にいこう :2005/06/08(水) 17:00:32
ほんとに初歩的なことなのですが、困っています。 (30,10.5)、(50,7.9)…(130、1.9) というように(x,y)の一対の数字の組があってこれをエクセル上でプロット したいのですが。 期待しているのは、xが横軸、yが縦軸のとき、右下がりの直線っぽくなって くれればと思っているのですが、逆に右上がりのグラフになってしまいます。 実はxが製品ロット数、yが単価で発注する製品が多ければ多いほど単価が 下がっていく様を表現したいのですが、意図通りになりません。 どなたかご教示いただければ大変に助かるのですが、お願い出来ませんで しょうか。よろしくお願いいたします。
176 :
175 :2005/06/08(水) 17:07:49
書き忘れましたがxp sp2 2003です。 よろしくお願いいたします。
>>175 そのデータなら、普通に右下がりのグラフになると思いますが。
むしろ、どうやったら右上がりグラフになるのかわからない。
すいません、できるかできないかすらもわからないので質問に来ました。 なんかできそうな気もするのですが、あれ?こんな事を可能にする機能ってあったかな? などと思うそんな要望です。誰か知ってて下さいお願いします〜〜。 Excelで、 太一16歳 太郎18歳 次郎17歳 というあいうえお順に並べたシートと、 16歳太一 17歳次郎 18歳太郎 という年齢順に並べたシートでできたxlsファイルが仮にあったとします。 実は太一さんと太郎さんの名前を間違えていたため、年齢順の方を修正して 16歳太郎 17歳次郎 18歳太一 とした場合、上の方のあいうえお順のシートも 太郎16歳 太郎18歳 次一17歳 と直ってくれるような手法、手段は無いものでしょうか。 どなたかご存知でしたら、レスをよろしくお願いします。失礼します。
180 :
178 :2005/06/08(水) 20:21:53
VBAは使う事は可能です。 OSはWindows2000でOffice2000を使います。
>>180 このスレのルールに従う気がある→
>>1 読め
このスレのルールに従う気がない→ヘルプ読んで自分でやれ
182 :
178 :2005/06/08(水) 21:05:01
【1 OSの種類 / Excelのバージョン】 2000 / 2000
【2 Googleやヘルプでの検索キーワード】 Excel 連携 SELECT VLOOKUP その他多数。ポイントっぽいキーワードは左記です。
その他Excelを扱ったページをあちこち見てみましたけど、単純に隣のシートやファイルの中を参照するみたいな所でとどまってる感じで、
特定のセルの "隣が" "連動して直ってくれる" ようなのはかすりもしません。
VLOOKUP見つけた時は「これは!」と思ったんですが・・・なんか、うまく動いてくれない(汗 なぜ?
【3 VBAが使えるか】ずっと前にやったことがあります・・・1から作るのは無理で、あちこちから拾ったコードを貼ってこちょこちょいじって
なんとか動かせた〜☆ の、繰り返しでした。異常に時間がかかるのでできるだけ回避したいです。
以上、テンプレートです。何度もすいませんでした。
質問の内容は
>>178 です。どなたか知っている方、いましたらよろしくお願いします。
>>180 >>181 を意訳すると
「俺のケツなめたら教えてやらぁ」ということです。
聞きたければ、膝をかがめてください。
嫌ならば他者からの回答を待つか、他のスレへGo!
オススメは後者ですが。
A B 1 太一16歳 2 太郎18歳 A B C 1 太一 16歳 2 太郎 18歳 ↑のどっち? 名前、及び年齢の値が重複することはあるの?無いの? 修正は「あいうえお順シート」が基準でいいんだよね? 修正タイミングは内容を変更したら自動修正?それともボタンやマクロ実行で修正する? というか、名前と年齢が別セルで重複が無いなら、「年齢順シート」の方を参照のみで組んだ方が楽だと思うが。 参照なら元を変更すれば参照先も勝手に変わるし。
A | B | C | 1|=C1+ROW()/100 太一 16 2| 太郎 18 3| 次郎 17 A1を必要な行位置までフィルコピー、A列を非表示、C列の表示形式を「0"歳"」 項目数が100〜999件なら、A1の式は/1000で、1000〜9999件なら/10000で。 A 1|=VLOOKUP(SMALL(Sheet1!$A$1:$A$3,ROW()),Sheet1!$A$1:$C$3,4-COLUMN(),0) 2| 3| A1の式のSheet1の部分を環境に合わせて書き換えて、A1をB1までフィルコピー A1:B1を必要な行位置までフィルコピー
WinXP Pro SP1+Excel2003 Pro SP1についての質問です。 A1セルの内容が、0なら"--"を、それ以外ならそのまま表示したいので、 セルの書式設定>表示形式>ユーザー定義で、 [=0]--;G/標準 としています。 B1セルも同じ書式設定をにしています。 B1セルには他のセルの内容を参照比較して、条件が真ならA1の内容を表示します。 =IF(A2=B2,A1) としています。 ※実際はもうちょっと複雑なネスト条件が付加されています。 上記の設定で、A1の内容が0の時は"--"、空白の時は空白になるのですが、 B1の表示が、A1が0でも空白でも"--"が表示されてしまいます。 ツール>オプション>表示>ゼロ値のチェックをオフにすると"--"も表示されなくなってしまいます。 B1の表示条件が真の時にA1セルの表示そのままをB1セルに反映するにはどうすればいいのでしょうか? よろしくお願いいたします。
=IF(A2=B2,IF(ISBLANK(A1),"",A1))
>>188 実際のネストが複雑なのでそれにするとすんげー長い式になってしまいましたが、
それでできました。
ありがとうございます。
他セル内容参照時に0でも空白でも書式設定の[=0]が真になってしまうのは仕様なのでしょうか?
なんか納得いかない。。。
190 :
名無しさん@そうだ選挙にいこう :2005/06/08(水) 22:58:41
>187 セルの書式設定>表示形式>ユーザー定義で、 G/標準;-G/標準;"--"
>>179 みたいな対応ってのは、その直後に質問者がテンプレ張りなおしたら
確実に答えることが出来るって自信のある奴以外はやらないって事でどうだろう?
ろくに回答する知識もないくせに煽りだけは一人前ってのは排除できるかもだし、
「さすが煽るだけはある、上からものを言って当然だ」ってレベルの回答者なら
ふんぞりかえる権利はあると思うし。
m9(^Д^)プギャー
>
>>179 みたいな対応ってのは、その直後に質問者がテンプレ張りなおしたら
> 確実に答えることが出来るって自信のある奴以外はやらないって事でどうだろう?
んなの決める必要なし。
例え回答のルールを決めたところで、テンプレ必須というルールを守ってない質問者に
ルールに従った回答を付ける義理もないし。
というかテンプレ無しには定型的に
>>154 とか
>>179 みたいなレス付けて放置しておけばいいでしょ。
回答する自信が無いなら
>>179 みたいなレスはしないってルールを徹底したいなら、
それ以前に質問するときはテンプレ使うっていうルールを守らせろよ。
そしたら
>>192 の提案したようなルールを作るまでもなく、
>>179 みたいレスをする必要すら無くなる。
質問者のルール無視は許容して、回答者にルールを押しつけてるあたり、
>>192 はルール無視で回答貰えなかった質問者か?
複数のセルに入っている式を一覧表示して一気に編集したいんですけど、 そんなことできますか? 2003SP1です。
196 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 00:07:58
>>194 いや、俺は回答も質問もしたことあるが。
ある意味君のほうが俺よりやさしいとは思う。
君はテンプレ無しの質問者にもチャンスをやろうとしているが、
俺は最初から徹底スルーしてるから。
>>157-160 に激しく同意したから書いただけ。
>>196 そのとおりだな。
>というかテンプレ無しには定型的に
>>154 とか
>>179 みたいなレス付けて放置しておけばいいでしょ。
こんなことせずとも、
「レ ス す ら 付 け ず 放 置 」
すればいい。
203 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 00:38:13
>>202 荒らしになる前にやめとくわw
けどこのスレで、催促ってそんなにあったか?
俺が記憶してる限り数えるほどしかなかったように思えるんだが?
>>1 読めだのテンプレ使えだののレスを返してるから催促が無いだけ
放置したらそれらの注意レス以上の催促レスが来る
>>1 読めだのテンプレ使えだののレスを返してるから催促が無いだけ
放置したらそれらの注意レス以上の催促レスが来る
>>199 すまそん。
ヘルプで検索するキーワードを教えていただけませんでしょうか?
ヘルプとgoogleは一通り調べたのですがわからなかったのです。
検索している用語が正しくないのでヒットしないと思うのです。
それと設定ってセルの書式設定ですか?
そのような項目はみあたりません。。。
よろしくお願いいたします。
>>206 >>195 に対するものにしろ、検索キーワードにしろ、回答が欲しいなら
>>1 読んで従え。
それが出来ないなら全て自分でやれ。
全てのテンプレ無し質問に必ずレス返ってたか? 必ずしもそうでもなかったように思えるんだがなあ。 どっちにしてもここは2chで、俺の持ち物でも君の持ち物でもないし、 これ以上言い合っても仕方ないだろうから、これで最後にしとくわ。 まあ、どうしても付けたい人は付けてもいいとは思うが、 付ける限りはその後反省して忠告に従った質問者に答えてやるのが 人の道だと俺は思うわけで。 俺はわからん質問には全く手は出さないし、わかる質問でも テンプレない奴はひたすら無視するっていう今のスタンス守るわ。
そんなのわざわざ宣言せずに勝手にすればいい
210 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 01:29:55
【1 OSの種類 / Excelのバージョン】 Win2000/Excel2003 【2 Googleやヘルプでの検索キーワード】 Excel 日付 関数 【3 VBAが使えるか】いいえ 日付けと時間の表し方についての質問なのですが、 506011455 この数値は 2005年06月01日14時55分 です。 05/06/01/14:55 と表すには、どうすればいいですか?
質問する側はできるだけ煩わせないよう配慮すべきは当然だが・・・。 ごく一部の回答者にある、ストレス発散が目的とも取れる言動。そんな輩はここに来てる意味があるか? むしろ、質問者のほうがスレタイに沿ってると言える。
212 :
169 :2005/06/09(木) 01:50:20
テンプレ書いたけど、スルーされた俺が来ましたよ。 やっぱ無理っすか?
>>210 セルの書式設定>表示形式>時刻orユーザー定義
>>210 506011455がA1にあるとして
=DATE(LEFT(A1,1)+2000,MID(A1,2,2),MID(A1,4,2))+TIME(MID(A1,6,2),MID(A1,8,2),0)
で、式を入れたセルの表示形式を「yy/mm/dd/h:mm」
表示だけでいいなら「2000"/"00"/"00"/"00":"00」という手もあるけど。
>>211 回答貰えなかったルール違反質問者、乙。
>>212 オートコンプリートは値の位置を設定出来ないからたぶん無理。
入力規則のリストを使えば擬似的に出来ないこともないけど。
データの並び替えって データの数が多すぎたり+と−の数字が混ざってるっとできないの?
【1 OSの種類 / Excelのバージョン】XP/2003 【2 Googleやヘルプでの検索キーワード】excel 並び替え 【3 VBAが使えるか】いいえ データの並び替えって データの数が多すぎたり+と−の数字が混ざってるっとできないの? なんでできないんだろう…
並び替え実行してもなぜか数値がびくともしません…
>>217 Excelの仕様としては「出来る」はずなので、
OS、Excel、ブックorシート、方法、その他何らかの問題があるんだろう。
まさかとは思うけど基本的な並べ替えの方法は知ってるんだよね。
あとは保護が掛かってると並べ替えは出来ないし(並べ替えの機能自体使えないはず)
データが実数ではなく参照なら並べ替えても表示される値は変わらない。
ところで正数のみの少ないデータならソート出来るの?
それすら出来ないならExcelバグってるんだろうから再インストール。
少ないデータのソートが出来るなら
Excelで新規ブックを立ち上げ、
Sub test()
Dim i As Long
Application.ScreenUpdating = False
For i = 1 To 65536
Cells(i, 1).Value = Int(Rnd() * 200000 - 100000)
Next i
Application.ScreenUpdating = True
End Sub
を実行して、A列を並べ替えしてみな。
↑のマクロが動かないようならPCスペックの問題。
これで並べ替えできるなら、並べ替え出来なかったファイル(ブックorシート)の問題。
これでも並べ替え出来ないならExcelが壊れてるんだろうから再インストール。
2000です。 Aのシートのセルの値を、別のBのシートの値にするにはどうすればいいのでしょうか。 Bのシートのあるセルの数値が変わると、Aのシートのそのセルの数値も変わるようにしたいと思っています。 串刺し計算というやつとはちょっと違うのですが、どなたかよろしくお願いします。
正直「ヘルプに書いてある事を全て把握しろ」とかいうやつはこのスレに要らないのだが。 ヘルプをざっとみて見つからないとそれ以上時間の無駄だからから書いてるわけで。 知ってるなら煽りレス一ついれるまに一行でぱぱっと答えてやれるはずなのに。 そもそもこの手のスレはレクリエーション目的じゃないのだから 勝手に居付いて、「既出の質問ばかり、同じ質問ばかり見飽きた」などという意見の方が 勘違いはなはだしいのだが。 他のスレの話題についていけないからって 質問スレで質問者にちょっかい出すことに腐心するな阿呆。 面白さを求めるならよそいけ、よそ。
>>222 =223
誤爆?
「ヘルプに書いてある事を全て把握しろ」なんて言ってる奴も
「既出の質問ばかり、同じ質問ばかり見飽きた」なんて言ってる奴もここには居ないな。
逆に何度も出る質問はテンプレに入れる方向で議論したりはしてるけど。
質問者への指摘はほとんどがルール違反や質問内容や条件の不備。
条件が解っていればぱぱっと答えられる質問でも、
環境や条件が曖昧ではぱぱっと答えてやることも出来ないわけで。
たとえば「シート上の数値の合計を出したいです」なんて言われても
「SUM関数使え、使い方はヘルプ見ろ」程度しか言えないけど
「A1からA10まで数値が入っていて、合計をB1に出したいのですが」と条件をきちんと書いてくれれば
「B1セルに=SUM(A1:A10)と入力」というズバリの回答を簡単に教えられる。
「1+1はいくつですか」なんて問いには小学1年生でも答えられるけど
「足し算の答えはいくつですか」という問いには誰も答えられないのと同じ。
そういう曖昧な質問には、曖昧な部分は自分でやれと言うしかない。
それに実際にヘルプ見ればわかることも多いので、
「ヘルプを完全に把握して、ヘルプに書いてある質問はするな」なんて無茶は言わないけど
必要なときに参照出来るようでないとダメだな。
特に、操作の流れや数式の組み方なんかはヘルプじゃわからない部分も多いけど、
特定の機能や関数の使い方などの局所的なことはヘルプの方が詳しく書いてあるし。
【1 OSの種類 / Excelのバージョン】WINXP / 2000
【2 Googleやヘルプでの検索キーワード】ヘルプ読め >>1読め
【3 VBAが使えるか】はい
「ヘルプ嫁
>>1 嫁」派の人の主張は、「ルールを守れない質問者に対して、
ルールを守ってテンプレをつけさせる」為のものですよね?
では、「ルールを守れない質問者の質問にも答えている回答者」っていう
のも、皆さんにとっては苦々しい存在なのでしょうか?
皆さんの努力を無駄にしている存在ということですか?
/)_/) ( ・質問する人は可能な限り具体的に書いてね。 < ゚ _・゚> .。oO( ・情報は小出しにせず、きちんと書いてね。
質問者にも回答者にも自治気取りにも馬鹿はいるのでスルーして下さい。
>>184 さん ,
>>186 さん、レスありがとうございました。
>>184 さんへ、「どっち?」の返答ですが、後者です。(気配りが足りませんでした・・すいません〜)
名前及び年齢は基本的には重複しません。必ず一対一です。
(重複もOKとかだったらそれはそれの方が良いですが・・・)
ただ、あいうえお順シートを手作業で修正する際に、作業中に一時的に名前が重複したりとか、
気づかないうちに重複しちゃっていたり(修正ミス)は出る可能性はあります。
修正タイミングは内容を変更したら自動修正を想像していましたが、
自動連携してくれるならどんな形でも構いません。
自分の(人間の)目でなく機械にチェックしてもらいたいのです。
>「年齢順シート」の方を参照のみで組んだ方が楽
&
>>186 (やはり来たVLOOKUP!)
試してみます!ありがとうございましたっ! m(_)m (^0^)ノシ 〜☆
ルール、ルールってうるさいよ
自治厨がスレ立てして
>>1 に勝手に書き加えただけだろ?
次スレから前スレみたいに
テンプレ"推奨"に戻せばいいじゃん
で、回答したい質問にだけ回答すればいいじゃん
答えたくなければスルー
Excel2003です IF関数で10から20の間は真 って表記するのにはどうしたらいいの?
>>232 回答貰えなかったルール違反質問者、乙。
236 :
233 :2005/06/09(木) 10:41:20
>>235 Thanks!
他にAND使わないやり方ってある?
前やったとき出来たんだよなぁ
IF関数2段
>>237 二段にしないで
10<A1<20みたいな入力で出来る方法なかったっけ?
勘違いならマジすまん
IF(A1>10,IF(A1<20,真,偽),偽)
無い。
というか10<A1<20じゃ、A1にどんな値が入っても偽しか返らないだろ。
AND関数使うか、
>>239 みたいにIF関数2段にするかどちらかだ。
241 :
233 :2005/06/09(木) 12:53:02
242 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 13:12:36
Excelに関する質問は、ここで! /)_/) ( ・質問する人は可能な限り具体的に書いてね。 < ゚ _・゚> .。oO( ・情報は小出しにせず、きちんと書いてね。 ノ) / | ( ・回答がなくてもキレないで。(催促は程々に) \(_,,,_,,,) ( ・分かる人はできるだけ回答して下さいませ。 ( ・自己解決したって人はその解決手段を他の人の参考の為に書いてね。 ( ・回答された内容が理解できなくてもすぐに聞き返さず、自分で調べる努力をしよう。 【ゴミ箱】ヾ(0_0ヽ)ごみだな
243 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 13:15:27
【1 OSの種類 / Excelのバージョン】 2000/2000 【2 Googleやヘルプでの検索キーワード】 小数点 振分け if Excel 【3 VBAが使えるか】いいえ 例)セルに「8.5」入ってるいる場合、別セル2つに「8」と「1」 それとセルに「8」と入ってる場合は、別セル2つに「8」と「0」 を返したいのですが、どうしたらよいでしょうか? ※8.5の8の所は0以上24以下の数字 ※8.5の.5の所は0か.5です。0の場合は「0か空欄」、.5の場合は「1」を返したいんです。 よろしくお願いします。
244 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 13:26:00
245 :
243 :2005/06/09(木) 13:29:29
246 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 13:32:18
>>210 >>214 の方法で普通はOKだが、
2000年以前や2010年以降が出てくるなら、
RIGHT関数で右から数えるか、数値としてINTとMODで切り出す。
247 :
243 :2005/06/09(木) 13:39:43
できました。ありがd
そろそろ次スレたてますか…
【1 OSの種類 / Excelのバージョン】winxp/excel2002 【2 Googleやヘルプでの検索キーワード】 セル 合計 マクロ 可変 【3 VBAが使えるか】いいえ ┌──┬──┐ │ 1│ 10│ ├──┼──┤ │ 2│ 20│ ├──┼──┤ 〜 〜 〜 ├──┼──┤ │ n│ m│ ├──┼──┤ │total│ sum│ └──┴──┘ 縦にn個のセルがあり、その下に 「total」ならびに、「合計」を出力するマクロはどのように 作ればよろしいでしょうか?おねがいします。
250 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 14:18:22
Excelに関する質問は、ここで! /)_/) ( ・質問する人は可能な限り具体的に書いてね。 < ゚ _・゚> .。oO( ・情報は小出しにせず、きちんと書いてね。 ノ) / | ( ・回答がなくてもキレないで。(催促は程々に) \(_,,,_,,,) ( ・分かる人はできるだけ回答して下さいませ。 ( ・自己解決したって人はその解決手段を他の人の参考の為に書いてね。 ( ・回答された内容が理解できなくてもすぐに聞き返さず、自分で調べる努力をしよう。 【ゴミ箱】ヾ(0_0ヽ)ごみスレだな
winXP office2003 です。 同じブック内の異なるシートを同時に表示させる方法はありますか? 右半分シート1、左半分シート2 見たいな感じで表示させたいです。
252 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 17:33:35
【1 OSの種類 / Excelのバージョン】2000 【2 Googleやヘルプでの検索キーワード】 棒グラフ 間隔 【3 VBAが使えるか】いいえ excelの3−D縦棒グラフって棒と棒の間をくっつけられないんですか? もしくは他にいいグラフソフトないですか?
254 :
251 :2005/06/09(木) 17:42:52
自己解決しました ありがとうございました
>>249 VBAダメなら関数で出せばいいじゃん
開始が1行目で、totalがカウントでいいなら
total=ROW()-1
sum=SUM(INDIRECT("B1:B"&ROW()-1))
とかさ。
どうしてもマクロでやりたいならForステートメントを
開始行〜65536行目からEnd(xlUp).Rowまで回して
IsNumeric(セル)がTrueを返したら変数にセルの値を加算していくようにすれば?
Forステートメントを抜けた時点でカウンタ変数は最終行のひとつ下の行数になってるから
そこに結果を書き出せばいい。
開始行が1じゃないならForステートメント内にtotal用のカウンタも入れてね。
前にも出たけどVBAわからない人が他人の書いたコード実行するのは危険な場合もあるから
マクロでやりたいなら上記の説明で理解できるようになってからにしな。
>>254 ・自己解決したって人はその解決手段を他の人の参考の為に書いてね。
>>252 データ系列の書式設定>オプション>棒の間隔
この値を0にしたら隣とくっつくと思うけど、どう?
258 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 18:41:41
>>254 そう、どんなに単純なことでもそれで何人かの疑問が解決すると思ってね
今回はメニューから
ウィンドウ→新しいウィンドウを開く→ウィンドウ→整列→左右に並べて表示→OK
注意としては、終了するときに窓を一つだけにしておくこと、
でないと次回開いたときにタイトルがBook1:2となっててこんがらがる
259 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 20:33:39
セルに"0013445"と入力したいのですが、 「00」の部分が勝手に消えてしまいます。 どうしたら消えなくなりますか?
セルの書式設定→ユーザー定義書式
261 :
259 :2005/06/09(木) 20:38:35
テンプレにありました。失礼しました。
262 :
252 :2005/06/09(木) 21:41:42
>>254 できました。
本当にありがとうございます!
263 :
>>210 :2005/06/09(木) 21:59:56
>>214 >>213 >>246 返事遅れて、大変すみません!
できました。ありがとうございます。
叩かれても、何度かこのスレで助けてもらっています。
ヒントになる事も沢山あります。
話せる人も沢山いるのも事実です。
264 :
名無しさん@そうだ選挙にいこう :2005/06/09(木) 22:42:06
6月 5日 22時 22分の表示をVBAで2005/6/5 22:22:00の表示に 変換するにはどのような関数を使えばよいのでしょうか?
今日は「
>>1 読め厨」も「VBAで厨」もいないし、
回答もけっこう的確だし、
いい感じのスレの雰囲気だな。
この空気が続きますように。
>266 あんまり粘着するなよ
【1 OSの種類 / Excelのバージョン】 XP 2003 【2 Googleやヘルプでの検索キーワード】 vba If マクロ もし 【3 VBAが使えるか】勉強中 今日からVBAを勉強し始めました。 単純な条件式をテストしていたのですが、うまくいかないです。 マクロで、セルA10の値が2以上だった場合、セルA9に1を代入 ' ' If ("A10") >= 2 Then Range("A9").FormulaR1C1 = "1" End If End Sub
>>268 If Range("A10").Value >= 2
かな?Range忘れてるだけだと思うよ
>>268 Sub hoge()
If Range("A10").Value >= 2 Then Range("A9").Value = 1
End Sub
Formulaは数式ね
値はValue
あとは
If [A10] >= 2 Then
という書き方も出来るけど。
271 :
268 :2005/06/10(金) 00:54:53
ヾ(´ω`=´ω`)ノ オハヨォ
第15世
>>1 読め廚です。
テンプレ読んできます。
273 :
名無しさん@そうだ選挙にいこう :2005/06/10(金) 11:18:21
RANK関数で、0の値が入ってる部分を最下位の表示にするにはどうしたらいいですか? 0が入っている部分が1位表示になってしまいます。。
>>273 作業用列を用意して0なら最下位になるような値を設定、「=IF(A1=0,fuge,A1)」等
作業用列に対してRANKする
275 :
名無しさん@そうだ選挙にいこう :2005/06/10(金) 12:37:22
皆目検討がつかないのでお教え願えればと思い質問させていただきます。 オートフィルが効かないのです。 具体的にはD1が「=A1+B1+C1」となっていて、D2にプラスマークを ドラッグすると「=A2+B2+C2」となるのですが、計算結果の数値は変わらない のです。 ただし、プロテクトされた別ファイルから数字をコピーした、と申しており ますが(作業担当)、それが関係しているのかとも思いますが、検索しても なかなか解決するに至りません。 どなたかご教示いただければ助かります。 件数が多いのです・・・(オートフィルではなく手入力で式をいれれば正しい数値 になります) 環境はxp,sp2,2003です。よろしくお願いいたします。
>>275 新しいブックに値のみコピーして、ファイル作り直したら?
277 :
275 :2005/06/10(金) 12:56:40
>>276 レスありがとうございます。
なるほど、やってみたいと思います。
でも不思議でなりません>オートフィルが意図通りに動いてくれないこと
278 :
275 :2005/06/10(金) 13:01:54
うまくいきませんでした・・・ 賞状はかわりません・・・ 引き続きご教示願えればたすかります。
再計算が手動になってるからかも? ツール>オプション>計算方法
281 :
275 :2005/06/10(金) 13:24:25
>>279-280 レスありがとうございます
確認したところ、自動になっておりました。
なぞ杉です。。。
オートフィルの有効無効を選べる設定ってなかったっけ?
283 :
282 :2005/06/10(金) 14:12:08
ツール→オプション→編集→ドラッグアンドドロップ編集を行う のチェックが外れてないでしょうか?
284 :
282 :2005/06/10(金) 14:14:24
違うな、スマソ。これだとプラスマーク自体が出なくなるな。
シートを増やすにはどうしたらいいですか? 私のパソコンではシートが42個くらいしか増やせられません。 全部で100くらいのシートが必要です。 お願いします。
PCはXPです。 メモリは512MB エクセルのバージョンは2003 sp1です。 1枚のシートではA41枚使います
内容減らすかメモリ増やすかじゃね?
【1 Windows2000 / Excel2000】 【2 excel 印刷 シート グラフ】 【3 VBAが使えるか】いいえ グラフを4つ作り、1枚の紙にグラフを2つずつ印刷したいです。 私は以下のようにやったのですが、印刷結果は意図していたものではありませんでした。 1.グラフを4つ作る。 2.各グラフ、グラフ上で右クリック->場所->新しいシート->OKとして、4つのグラフを4つのシートに移す。 3.割り付けで印刷をするように設定し、1から4ページを印刷 印刷されたものは、1つ目のグラフが紙の半分に印刷されたものでした。 それ以降のグラフはまったく印刷されませんでした。 どのようにすればよいのでしょうか?お願いします。
>>289 複数のシート(グラフシート)をいっぺんに印刷するには
印刷対象を「・ブック全体」にするか、印刷したいシートを
Ctrlを押しながら複数選択して「・選択したシート」にするかだな。
1枚の用紙に複数シートを印刷する機能はExcelには無いから
プリンタ側の設定で対応出来ないなら諦めるか、印刷位置をずらして2度印刷するかだね。
因みに「印刷」ダイアログの「プリンタ」という枠内にある「プロパティ」以下の設定は
Excel関係無いし、使ってるプリンタのメーカー・機種に依存するので該当スレで聞いて。
あとは、VBA勉強して印刷の時だけ一時的に新規ワークシートに
グラフ1,2配置(コピー)→印刷→グラフ1,2削除→グラフ3,4配置→印刷→印刷用ワークシート削除
ってなことをやってもいいかな。又は最初からワークシートに2つのグラフを配置してもいい。、
その辺は印刷の頻度や事情(グラフはグラフシートに置きたい、とか)に合わせてご自由に。
291 :
289 :2005/06/10(金) 20:37:09
>>290 Ctrlを押して複数選択をしてみました。
グラフは4つ全部印刷されましたが、割り付け効果があったのは最初の1グラフのみで、
残りは通常サイズ(用紙いっぱい)で印刷されました。
プリンタの設定をもう少しいじってみます。
このレイアウトで印刷をするのは一年に数回程度なので、手作業で印刷していくと思います。
丁寧なご説明、ありがとうございました。
292 :
名無しさん@そうだ選挙にいこう :2005/06/10(金) 20:45:59
質問なのですが無料でワードでもエクセルでも模擬試験ができる サイトってありませんか? ありましたら教えてください。
たとえばA4に2シート印刷するなら、 A5で1ページに収めるでpdfで出力。 その後2つのpdfを1枚のA4に印刷。 とかどう?
294 :
名無しさん@そうだ選挙にいこう :2005/06/10(金) 20:56:03
【1 WindowsXP / Excel2000】 【2 エクセル テキスト読み込み 区切り】 【3 VBAが使えるか】はい テキストを読み込むときの区切り方の指定なのですが テキストファイルウィザードの2ページ目のその他の 所は1種類の文字しか指定できないでしょうか? VBAで指定できると助かるのですが・・・ Workbooks.OpenText Filename:="E:\ファイル名", Other:=True, OtherChar:=":" で読み込んでいるのですがもう1つ文字を入れたいのです。 よろしくお願いします。
>>294 OpenTextメソッドで任意の区切りを二つ以上指定する方法は知らないけど
VBA使えるならOpenステートメントでテキストファイルを開いて
Line Inputステートメントで行を変数に入れ、Split関数で多段分割すれば?
教えてください。 定時は7時〜16時 ・7時前は残業扱い ・9時間以上も残業扱い どういった数式にすればいいでしょうか? 自分なりに考えたのは、 まず始業時間に時間が入力されなければ、空白。 で、ここからが困ってます。
>>296 教えてください。
・残業扱いになるとどうなるんですか
・数式は何を返せばいいんですか
・現在シートにはどのようにデータが入力されてるのですか
・計算単位はいくつですか?(5分、15分、30分など)
いったい何がやりたいのでしょうか?
何をしたいのかサッパリわからないので
何について答えて良いのかわからず困ってます。
大変申し訳ありません。 ・残業扱いになるとどうなるんですか →特別なにも。単に始業・終業時間を入力したときの残業時間を出したいだけです。 ・数式は何を返せばいいんですか →ごめんなさい。意味がわかりません。 ・現在シートにはどのようにデータが入力されてるのですか →始業・終業時間をhh:mm形式で入力してます。 ・計算単位はいくつですか?(5分、15分、30分など) →1分単位です。 いったい何がやりたいのでしょうか? 何をしたいのかサッパリわからないので何について答えて良いのかわからず困ってます。 →個人毎の勤務時間管理を作りたいと考えています。
とりあえず仕様書書け。 そしたら自分でわかるよ。 それでわからなければもっぺんこい。
A1に始業、B1に終業時間がシリアル値で入っているとして =IF((TIME(7,0,0)-A1)>=0,TIME(7,0,0)-A1,0)+IF((B1-TIME(16,0,0))>=0,B1-TIME(16,0,0),0) かな これをこのまま実務で使うと酷いことになりそうだけどな
>>298 > ・数式は何を返せばいいんですか
> →ごめんなさい。意味がわかりません。
ここは「残業時間を」という回答でいいんですよ。
最初から
始業時刻と終業時刻が入力してあり、7時前、及び始業より9時間以降を残業とした場合に
入力値から残業時間を1分単位で出すにはどうすればいいですか
と(出来ればテンプレ使って)書けばいい
>>296 の質問じゃ勤務時間を出したいのか残業時間を出したいのか、時給制給料の計算をしたいのかわからん
で一番基本的な式はこんな感じかな
A
1|6:00
2|17:00
3|=IF(A1<TIME(7,0,0),TIME(7,0,0)-A1,0)+IF(A2>TIME(16,0,0),IF(A1>TIME(7,0,0),A2-(A1+TIME(9,0,0)),A2-TIME(16,0,0)),0)
この式はまだ詰めることが出来るけど、やりたければ式の意味を理解出来てから自分でやろう。
303 :
名無しさん@そうだ選挙にいこう :2005/06/10(金) 22:45:42
【1 OSの種類 / Excelのバージョン】 Win2000 / Excel2003 【2 検索キーワード】 エクセル ファイル名取得 【3 VBAが使えるか】修行中 VBAでGetOpenFilenameで、開いたファイルA1からAX68をシート1に貼り付けて、 シート2の表の計算式に参照しています。 その時、シート1に開いたcsvファイルの拡張子付きファイル名を、 シート2にファイルの名前を表記したいという質問です。 以前も質問しましたが、私の質問内容がうまく伝わらず、 未だ未解決まのです。師匠助けてください。
304 :
名無しさん@そうだ選挙にいこう :2005/06/10(金) 22:49:08
【1 OSの種類 / Excelのバージョン】 2000/2000 【2 Googleやヘルプでの検索キーワード】 Excel 時間 分間 変換 60進法 【3 VBAが使えるか】いいえ 1日の中で、異なる内容・時間のものを積み上げて最終的に総時間を出したいと思っています。 時間は5分単位で記入して、今は■■■分間という様な表示をしていますが、 ぱっと見でわかりにくいので、これを 第1希望 ■時間■■分 又は 第2希望 ■.■■時間 という様な表示に変えたいのですが、 教えていただけませんしょうか? 【例】 1| A 1 | B1 | C1 | D1 | E1 | F1 | G1 | 2| 総時間 | 国語 | 数学 | 社会 | 理科 | 英語 | 美術 | 3| 385 | 40 | 90 | 55 | 85 | 50 | 65 | ↑ A3の書式 =SUM(B3:G3)&"分間" 上の例ですと”385分間”という表示を、できれば”6時間25分”と 難しいようなら小数点第三位を四捨五入して6.41666…を”6.42時間”としたいです。
>>303 FSO使えば取得できますよ。
foo = FSO.GetFileName("パス")
bar = FSO.GetBaseName("パス")
これで変数fooに拡拡張子付きファイル名、barにファイルの名前が入るので
あとは好きなところに書き出せばいい。
FSO使いたくないなら
foo = Mid("パス", InStrRev(パス, "\") + 1)
bar = Left(foo, InStrRev(foo, ".") - 1)
で同じようにfooとbarに値が入る。
>>304 A3に
=TEXT(SUM(B3:G3)/1440,"h時間mm分")
表示形式は書式設定から行ってもいいけど。
307 :
304 :2005/06/10(金) 23:14:36
>>306 わずか10分でのスピード回答ありがとうございます。
自分では絶対解決できませんでした。
正直、答えを見ても理屈がわからない状態です。
これからしっかり、勉強したいと思います。
お教えください。 304氏の質問と似通っているのですが、「20」と入力した場合に 「20個」と表示させるにはセルの表示設定をどのようにすれば よいのでしょうか。
309 :
308 :2005/06/10(金) 23:29:12
>>308 「セルの表示設定」ではなく「セルの書式設定」でした。
>>310 即レス有難うございます。
助かりました。
313 :
名無しさん@そうだ選挙にいこう :2005/06/11(土) 00:00:06
>>305 回答ありがとうございます。
>>79 のVBAだと
myBookname = Application.GetOpenFilename _
("csv ファイル (*.csv), *.csv", , , , False)
の後に
foo = FSO.GetFileName("パス")
bar = FSO.GetBaseName("パス")
組み込むのでしょうか?
>>313 つうか、
myBookname = Application.GetOpenFilename _
("csv ファイル (*.csv), *.csv", , , , False)
だけをまずやってみろ
>>298 どーでもいーけど
チミの会社は休憩時間が無いのか?
深夜残業(とくに24時以降)の扱いはどーなの?
勤務時間の総計って時.小数? 時:分?
謎すぎる
316 :
名無しさん@そうだ選挙にいこう :2005/06/11(土) 00:10:07
>>314 アホですみません。
myBookname = Application.GetOpenFilename _
("csv ファイル (*.csv), *.csv", , , , False)
だけは毎回やっているのですが。。。。
>>313 「VBAでGetOpenFilenameで、開いたファイルA1からAX68をシート1に貼り付けて」
って部分はきちんと動いてるならmyBooknameにファイルパスが入ってるんだから
"パス"の部分をmyBooknameに置き換えればいいだけ。
あとはGetOpenFilenameの後で
foo = FSO.GetFileName(myBookname)
Sheet1.Range().Value = foo
とか
Sheet1.Range().Value = FSO.GetFileName(myBookname)
みたいな感じでもOKだ。
それと、FSO使うなら参照設定してインスタンス作るか、CreateObjectでFSO参照するかしろよ。
それが面倒なら下の方法で。
318 :
名無しさん@そうだ選挙にいこう :2005/06/11(土) 00:39:57
>>317 またまたアホですみません。
GetOpenFilenameの後で
foo = Mid("myBookname", InStrRev(myBookname, "\") + 1)
bar = Left(foo, InStrRev(foo, ".") - 1)
でいいのでしょうか?
>>318 とりあえずやってみろよ・・・
と言いつつ
Dim foo As String
foo = Mid(myBookname, InStrRev(myBookname, "\") + 1)
Range("拡拡張子付きファイル名を入れるセル") = foo
Range("ファイル名のみを入れるセル") = Left(foo, InStrRev(foo, ".") - 1)
って感じか。
"myBookname"のように""で囲ったら変数ではなく文字列になっちゃうよ。
320 :
304 :2005/06/11(土) 00:57:41
>>308 さん
>>310 さんのおかげで
>>306 さんの”表示形式は書式設定から行ってもいいけど。”の意味が
ようやく解った。
計算式の理屈も解ったし、これで気持ちよく寝れるよ。サンクス。
多分規定で、残業に入る前と残業?時間に?分間かの休憩が必要なはず。 その辺考慮しないと監査入った時に問題になるよ。
322 :
名無しさん@そうだ選挙にいこう :2005/06/11(土) 01:01:30
>>319 できました!ありがとうございます。
VBAの良さに気付き、少しずつ勉強していきます。
本当に、皆様ありがとうございます。
323 :
名無しさん@そうだ選挙にいこう :2005/06/11(土) 05:39:59
>>321 つーか、
給料どうする、心身ときどき休めないと生産性どーなる、
なんてことは(そのExcelシートで管理される)従業員も
自分でも気にするべきだし、気にすりゃ突き上げてくるだろうし、
(このままの仕様じゃ、このスレで犯罪の幇助をやってるみたいだ)
そーゆーことを気にしない従業員らのために
わざわざ我々がタダ働きさせられる所以のものではナイ
>>324 >>321 >>296 に書いてあるとおりなら法的には無問題では?
労基法ではたしか、8時間を「越える」労働を命じる場合は、
60分「以上」の休憩を取らせることとなってたはず。
>>296 では「9時間以上」となってるから、実働8時間休憩60分
ってことじゃないの?
以上スレ違いスマソ。
326 :
名無しさん@そうだ選挙にいこう :2005/06/11(土) 16:45:40
質問です。 セルA1〜A20まで文字列が入っている。(例として、A、B、C、D・・・と順番に1文字づつ) セルC1〜C4をセルの結合、C5〜C8をセルの結合、C9〜C12をセルの結合 C12〜C15をセルの結合、C16〜C19までセルの結合する。 C1〜C4のところで =A1 とすると C1〜C4は A が表示される。 C1〜C4 の結合されたセルの右下にポインタを置いて(ポインタを+にして) 下にどんどんセルのコピーをしていく。 このとき、C5〜C8に表示されるのは E でC9〜C12に表示されるのは I ・・・ 各々の数式を見ると C5〜C8セルでは=A5 C9〜C12セルでは=C9 ここで本題なんだけど C5〜C8セルでは =A2 C9〜C12セルでは =A3 とする技は無いでしょうか? データが少なければ手で1個ずつ直していけばいいんだけど データが多くなると流石にきついもんで。。。 いい方法があれば教えてください。
328 :
名無しさん@そうだ選挙にいこう :2005/06/11(土) 17:11:31
>>326 C1に=INDEX($A$1:$A$20,ROUNDDOWN(ROW()/4+1,0))と入れてコピペ
>>326 C1に「"=A1」と入力してフィルコピー
その範囲を選択したまま置換「"」→「」
331 :
名無しさん@そうだ選挙にいこう :2005/06/11(土) 17:25:48
>>143 と同じ事がしたいのですが、どうやれば良いのでしょう?
333 :
294 :2005/06/11(土) 20:42:16
>>295 レスありがとうございます。
VBAはまだ初心者でLine InputやSplitを調べている所です。
ただヘルプでこの2つが出てきませんね・・・
もう少し理解できるまでぐぐって調べてみます。
334 :
331 :2005/06/11(土) 20:57:57
【1 OSの種類 / Excelのバージョン】 Windows2000pro Excel2000 【2 Googleやヘルプでの検索キーワード】 Excel X軸 共通 【3 VBAが使えるか】はい・いいえ はい
335 :
331 :2005/06/11(土) 20:58:30
すみません、sage忘れました。。 これでいいのでしょうか?
いい加減ウザイな。追っ払っていい? 別々にグラフ作って「グラフエリアの書式設定」「軸の書式設定」ほか。 要するに手動でそっくりに合わせれ。
337 :
331 :2005/06/11(土) 21:23:21
なるほど、そういう事でしたか お騒がせしてどうもすみませんでした
>>333 Split関数を多段に掛けるより、Replaceで適当な区切り文字に
置換して、一気に分割した方がいいような気がしてきた。たとえばこんな感じで
foo = "aaa:bbb|ccc:ddd|eee" '区切り対象文字列 実際にはLine Inputがここに入る
For Each buf In Array(":", "|") '区切り文字をカンマ区切りで指定
foo = Replace(foo, buf, vbTab) '一時的な区切り文字に置換vbcrlfとかでもOK
Next buf
bar = Split(foo, vbTab)
'Range(Cells(1, 1).Address, Cells(1, UBound(bar) + 1).Address).Value = bar
最初に考えた方法はこんなかんじ
foo = "aaa:bbb|ccc:ddd|eee"
bar = Split(foo, ":")
For i = 0 To UBound(bar)
baz = Split(bar(i), "|")
For j = 0 To UBound(baz)
If n Mod 10 = 0 Then ReDim Preserve buf(n + 10)
buf(n) = baz(j)
n = n + 1
Next j
Next i
ReDim Preserve buf(n - 1)
'Range(Cells(1, 1).Address, Cells(1, UBound(buf) + 1).Address).Value = buf
どちらも一番最後の行のコメントアウトを外せば、A1:E1に分割結果が書き込まれる。
でもLine InputやSplitがヘルプに出ないってのはおかしいな。
うちは2002だけどどちらもヘルプ検索ですぐ出るし、
Line InputステートメントもSplit関数も2000で使えるはずだけど。(たしか97だとSplit関数使えなかった気がする)
ちゃんとVBAのヘルプ機能はインストールされてるの?
339 :
名無しさん@そうだ選挙にいこう :2005/06/11(土) 22:38:04
>>329 ありがとう
出来ました!!!
ところでROUNDDOWNは特にいらないっぽいね
【1 OSの種類 / Excelのバージョン】 WinXP 2003 【2 Googleやヘルプでの検索キーワード】 VBA リスト 検索 等しい 【3 VBAが使えるか】ほとんどできない A1、記入場所 A3:A200、リスト マクロでボタンを押したとき、A1に入れた値が、A3:A200の中で等しい値があった場合、 そのセルの隣の列に「*」印を付ける。 という処理は、どうすればよいのでしょうか?
>>341 Dim i As Byte
For i = 3 To 200
If Cells(1, 1).Value = Cells(i, 1).Value Then Cells(i, 2).Value = "*"
Next i
343 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 10:35:43
数値を入力して○○以上なら1000を表示して○○以下なら掛け算の計算をするってしたいのですが、ヘルプとか見ても何もわかりません。。。誰か教えていただけませんか?
>>343 Excelに関する質問は、ここで!
/)_/) ( ・質問する人は可能な限り具体的に書いてね。
< ゚ _・゚> .。oO( ・情報は小出しにせず、きちんと書いてね。
346 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 11:23:53
>343 =IF(A1<1000,A1*B1,1000) 1000以上,1000未満
347 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 12:02:19
表を作って、あとで手書きで表を埋めるようなものを をつくるとき、いちいち印刷しないと、表の間隔が 文字を書けるほど間があいているかわかりません。 ピクセル表示をcm表示にして間隔を調整する ことはできなのでしょうか?
348 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 12:02:24
バージョン:XP/2000 検索:統計? VBAが使えるか:いいえ ・改行エラーが出るので2つに分けて投稿します。 以前にも当スレで質問しましたが、解決出来ないので再投稿です。ヒントくれた方、すいません。 ・曜日、担当者の評価を数値”1〜3”で入力。未入力セルは休日です。 ・行方向「あ・い・う・え・・・」は担当者260人分。不定期に担当が替わります。 ・列→曜日を日毎に更新。一番上の曜日は本日。下方向になるにつれ古くなります。1年で一区切り。 ●目的 曜日毎に集計した担当者の評価”3”のセルだけをカウント。(=”3”1回につき+1) ●入力してる表のイメージ あいうえ・・・260人 日 3 月13 火132 水3 木3 1 金 3 土1 日3 1 月 3 3 火3 ・ ・ ・ 1年分
349 :
348の続き :2005/06/12(日) 12:03:02
●上の場合、最終的にこんな感じ自動でカウントしたいのです。 あいうえ・・・ 日1010 月1201 火0100 水1000 木1000 金0100 土0000 関数の種類・式の用例等、ご教授よろしくお願いします。
350 :
347-348 :2005/06/12(日) 12:12:04
>>348 の訂正。意味不明失礼しました。
>●目的
>曜日毎に集計した担当者の評価”3”のセルだけをカウント。(=”3”1回につき+1)
↓
●目的
担当者の評価”3”のセルを曜日毎にカウント。(=”3”1回につき+1)
なにいいたいかまったくわかんね
352 :
348-350 :2005/06/12(日) 12:22:28
>>351 すいません。
348:>行方向「あ・い・う・え・・・」は担当者260人分。不定期に担当が替わります。
ここは特に紛らわしいですね。
不定期に担当が替わります。→なかった事にして下さい。
担当者は不変です。
>>348 きちんとした回答はわからんけど、
合計を出したいセル(「あ」の「日曜」)に、
「あ」なら「あ」の一年間の日曜の評価3の
セル数の合計を出せばいいってことですな。
で、回答もわからんのに書いて申し訳ないですが、
「行」と「列」の認識が逆じゃないですか?
横の方向に幅を調整するときは、「列幅変更」っていうでしょ?
354 :
348 :2005/06/12(日) 12:33:27
>きちんとした回答〜出せばいいってことですな。 その通りです! >「行」と「列」の認識が逆じゃないですか? ありがとうございます。 はずかし〜
配列数式を使うことは判るが、それとCOUNTIFの組み合わせのアドバイスが思いつかん・・・。
>>348 >「一番上の曜日は本日。下方向になるにつれ古くなります」
これは、昨日2行目だったデータ列が今日は3行目になり、
2行目に新たに1行が挿入されるということですか?
な か っ た 事 に し て 下 さ い
よくこんなわけのわからん質問考える気になるなw もうちょっとちゃんとわかるように仕様書けよ。。。
359 :
348 :2005/06/12(日) 13:15:11
>>356 通じて良かったです!
はい。
>>355 通じただけでも収穫です。COUNTIFで進めたのですが・・・手詰まりでした。
お手数掛けました。
>>358 答えようとしている人間がいるのにそういうレスは不要。
煽りたければ他のスレか他の板へどうぞ。
>>360 そーゆー極小数の好事家のために
大多数がめんどくせー出鱈目言語を読まされる ( ゚Д゚)、ペッ
362 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 13:58:23
関数に限定? ピボットテーブルや集計機能なんかで解決してもいいの?
>>348 は伝達の要件を満たしていない。
レポートとか報告書書いたことあるのか?
他人に情報を伝えるという基本が全く無視されている。
軽く推古くらいしろよ。
推古? ぜひ軽くで良いから推敲してね。
そこをつっこんでこそ教えてクンHGだw
>>364 伝達の用件とかほざく前に
>>363 (=361)は日本語読解力&表現力を
身につけてからこのスレにくるようにというのは周知の事実だが、
もう前スレの703みたいに訳わからんスレになるのは勘弁だから、
>>363 の馬鹿さ加減は放置してやってくれ。
ヴァカばっかりだなw
週末になるとスレ違いのストレス発散者が大量にわいて出るな・・・。 質問と回答、回答に関する逆質問以外はこのスレには不要だ。 俺のこのレスも含めて。
370 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 14:46:13
なんか質問しづらい雰囲気が…まぁいいや。 実験で毎回excelにてグラフをたくさん作るんですが、 たくさん作りすぎて下側の選ぶ項目の所があふれちゃって 左矢印や右矢印を押さねばならずグラフを探すのが非常に億劫なんです。 で下側の項目を二段にすることとかって出来ないんでしょうか? 他にもいい解決策あったら教えてください。よろしくお願い致します。
371 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 15:10:25
エクセルでのグラフ作成について教えてください。 Y軸に表したい項目が三つあり、二つは表示できましたが 三つ目の表示の仕方がわかりません。 OSはWiondows2000, エクセルは2002です。 よろしくお願いします。
>>369 シートの枚数が増えすぎて、シートタブが表示しきれない。という事ね
左矢印や右矢印のある辺りで右クリックすると、縦長にシートの一覧が表示される。
シート枚数が多すぎると、やはり溢れるのでスクロールが必要にはなる。
タブを二段にすることは出来ない。
>>370 残念だけど、第3軸の設定は無理。
374 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 15:17:51
>>370 ctrl + page up/downの連打でシートを一つずつ移動できる。
他の案としては、一つのシートに複数のグラフを書くとか、ブックを分けるとか。
解像度でかいモニタにするとかw
376 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 15:26:15
Win98se Excel2000です。 例えば「11.22.33」という表記を 11分22秒33(=682.33秒)という数値として 処理することは可能ですか? 書式設定と関数を一通り調べましたが、日付や時刻でもないし、自分ではできませんでした。 よい方法があれば教えてください。
377 :
370 :2005/06/12(日) 15:31:06
>>372 ,
>>374 お二人とも解答ありがとうございました。
どうにか駆使して作成効率を上げたいと思います!
>>376 セルの書式設定>表示形式>ユーザー定義で。
test
>>376 数値として扱うには
=VALUE(TEXT("0:"&LEFT(A1,2)&":"&MID(A1,4,2)&"."&RIGHT(A1,2),"mm:ss.00"))
表示形式も mm:ss.00 なり [ss].00 なりに。
TIME()だとシンプルなんだけど、1/100が00にされた。
だれか、TIME関数で処理できる人教えて。
>>382 「00:11:22.33」と単純に入力しても演算できるようですよ。
試したのは+と*だけだけど。
入力から始める話なのかい? 00:11:22.33 と入力していいならセオリー通りで、 始めから何も問題ないんでないの。。。
386 :
376 :2005/06/12(日) 18:10:15
回答ありがとうございます。
mm:ss.00 にしても駄目でした。:と . を変えたり試したのですが
なんだかうまくいきそうでいきません。
>>384 ,385
すいません。すでに入力してあるものを処理したいのです。
387 :
348 :2005/06/12(日) 18:12:43
>>360 >>366 >>369 フォローどうもです。
自分に手落ちがあるものの、積極的に理解してくれる方がいて助かります。
>>362 関数に限定してません。
方法があれば具体的なヒントを頂けたら幸いです。
>>370 グラフのシート自体を全部非表示にしておく。
見出しシートみたいなもんを作って、
ドロップダウンリストを選択するとグラフシートが表示されるよう
VBAでモジュールを書いておく。
389 :
376 :2005/06/12(日) 18:56:44
表示形式を [ss].00 にすると
「11:22.33」は 382.33(秒)となるのですが
「11.22.33」はただの文字列扱いになってしまいます。
最初の「.」が問題みたいです。
>>382 の関数を応用すればできるのでしょうか・・
>>387 A B C D
.1| あ い う
.2| 日 {=SUM(IF($A$10:$A$380=$A2,IF(B$10:B$380=3,1,0),0))}
.3| 月
.4| 火
.5| 水
.6| 木
.7| 金
.8| 土
.9|
10| 日 3
11| 月 1 3
12| 火 1 3 2
13| 水 3
14| 木 3 1
15| 金 3
16| 土 1
17| 日 3 1
18| 月 3 3
何処に結果を出したいのかしらんが、とりあえずこれをやってみろ。
式は縦にも横にもオートフィルでコピー出来るように組んである。
>>389 > 382の関数を応用すればできるのでしょうか・・
そう思うなら何故試さない?
回答者が試行錯誤(と言うほどの数式ではないが)してくれてても
お前にやる気が無くちゃ何も解決しないぞ。
391 :
376 :2005/06/12(日) 19:29:34
>>390 なぜやる気が無いと思われたのか分かりませんが、試している途中での書いたものです。
とりあえず
>>382 のTEXT関数ではなく
Replace関数(こんなのあったんですね)で「.」を「:」に変換し
それをValue関数で時間に変換しました。
スマートとは思えませんが、一応成功です。
回答していただいた方々、ありがとうございました。
が、よりよい方法があればご教授下さい。
>>391 あの〜、382なんですけど、どうして382の数式は試してもらえないのでしょうか?
試して不具合が出るといわれるならともかく、今のままじゃ納得行かない気がしてるんですけど。
>391の方法よりずっとスマートだと自負していますが・・・
試して結果が出る前に聞き返すのがやる気の無さの現れだなw
394 :
376 :2005/06/12(日) 19:44:14
>>392 そのまま試しても「#VALUE!」と出たので「応用」と表現したのですが・・
すみません。言葉足らずでした。
>>393 ということなので
382です。 A1セルに 11.22.33 と入ってますか? 当方では、エラー確認出来ません。 391の方法に質問ですが、 「.」を「:」に変換したら、11.22.33 → 11:22:33 で、11時間22分33秒となりませんか?
まぁ、本人が成功したと言ってるんだから、どうでもいい気にもなってきましたが・・・
> そのまま試しても「#VALUE!」と出たので
何故それを最初から(
>>389 の時点で)きちんと書かないんだろう。
まぁ、
>>382 の数式は間違ってないから、使い方を間違ってるだけなんだけどね。
398 :
376 :2005/06/12(日) 20:04:23
>>395 桁数の問題だったようです。
「11.22.33」と入力するとエラーは出ませんでしたが、
「5.55.5」など10分以下のものだとエラーになります。(←こちらで試したので…)
私の例がまずかったな・・。
あと「:」に変えたのは最初の「.」だけなので時間:分:秒にはなりませんでした。
=VALUE(REPLACE(A1,2,1,":")) です。
ほんと何度もすいません。
> 「5.55.5」など10分以下のものだとエラーになります。(←こちらで試したので…) また情報後出しかよ。 10分以下に対応させるなら、LEN関数とか入れなければならない。 最初からそれを言っていれば382もきちんと考慮してくれたろうに。 馬鹿な質問者に当たった382(´・ω・) カワイソス
400 :
348 :2005/06/12(日) 21:19:58
>>390 感謝。
近づいてる気がしますが・・・
新シートに
>>390 の内容をそのまま入力。
大括弧を入れないと”#VALUE”が出ます。
大括弧を入れるとセルに、式”{=SUM(IF($A$10:$A$380=$A2,IF(B$10:B$380=3,1,0),0))}”が表示されますが、答えとなる数値が出ません。
オートフィルタ等、この次に操作が必要なのでしょうか?
式の意味を理解したいのですが、教えてください
”$A$10:$A$380”=曜日の範囲指定。
”$A2”=日曜日
”B$10:B$38”=数値1〜3を入力している範囲指定。
最後の・・・”3,1,0),0”ですが
3はカウントしたい数値ですよね?
,1,0がよくわかりません。
,0はブランクのセルですか?
重ね重ねお手数掛けます。よろしくお願いします。
>>400 「配列数式」でググッてみましょう。
「{」「}」はキーボード上から入力するのではなく、「=if(〜〜)))」と通常の入力が
終わった段階で、enterで確定ではなく、Ctrl+Shift+Enterで確定させると、{ }で
自動で囲われます。教えてくれた
>>390 のためにも、ぜひとも「配列数式」でググる
ことを忘れないように。
390氏じゃないけど答えてみる。
>大括弧を入れないと”#VALUE”が出ます。
式を入力したら、Shift+Ctrl+Enter で確定する。 詳しく知りたければ「配列関数」で調べるといい。
>最後の・・・”3,1,0),0”ですが
3はカウントしたい数値ですよね? → YES
,1,0がよくわかりません。 →「3」の時は1とし、それ以外は0 ・・・ IF()関数について
>>4 参照
,0はブランクのセルですか? →上に同様に、曜日が一致しない時は0とする。
403 :
348 :2005/06/12(日) 22:56:38
>>390 出来ました!
>>390 氏をはじめ、>>401-
>>402 両氏の補足のおかげでもあります。
早速、本シートに入力した結果、機能しました。
1つ引っ掛かったのがありました。
今まで曜日欄にはWEEKDAY関数から入力。
そのままでは動かなかったのですが、直接文字で入力した結果、動きました。
悩み解消でホント感謝です。
>>401 それぞれアドバイス通りに実行しました。
収穫ありです。配列数式でググると、今回に使えるかなりのヒントが!
楽してるとバレバレですねW。なるべく自己解決に努めます。
>>402 >>390 氏ではないのに補足どうもです。
解説もわかりやすく、おかげ様で次のステップに使えそうです。
ありがとうございました。
皆様
こちらの落ち度で気分を害した方、失礼しました。
批判を受け止め、BBSに慣れていきたいと思います。
一部、私物化してしまった流れをお許し下さい。
404 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 23:15:06
ひとつお聞きしたいのですが。 年と月を入れると、その年・月の曜日がいっぺんに反映させるようにするには、 どうすればよろしいのでしょうか? たとえば2006年6月と入力すると・・・ 1 火 2 水 3 木 4 金 と自動反映されるようにしたいのです。
>たとえば2006年6月と入力すると・・・ どこに? >と自動反映されるようにしたいのです。 どこに?
406 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 23:36:06
>>404 日付が入っているセルに、セルの書式設定で表示形式を aaa にすると、日本語で曜日が表示される。
自動反映については何がどう自動なのか自分で考えて。
>>404 A B
1| 2005 6
2| 1 =TEXT(DATE($A$1,$B$1,A2),"aaa")
3| 2
4| 3
=CHOOSE(WEEKDAY(VALUE($A$1&"/"&$B$1&"/"&A2),1),"日","月","火","水","木","金","土")
これも結果は同じですが、
>>407 さんの方がシンプルでいいですね。
逆に勉強になりました。
409 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 23:48:14
すいません。404です。 なんか説明下手ですいません。 たとえばですが・・・ 2006年 6月 と上部の方に項目欄を作って入力できるようにします。 下記には・・・ 1 2 3 4 と予め入力してあり、数字の横に各年の曜日が反映されるように自動入力 されるようにしたいのです。 使うときには、最初の上部項目の年・月を入力するだけにしたいのです。 そういうのは可能なのでしょうか?
410 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 23:51:09
1 火 ←この曜日を自動に出るようにしたい 2 水 ←この曜日を自動に出るようにしたい 3 木 ←この曜日を自動に出るようにしたい 4 金 ←この曜日を自動に出るようにしたい 月が替われば曜日も変わりますよね・・・?
411 :
名無しさん@そうだ選挙にいこう :2005/06/12(日) 23:53:15
>>409 だからそのセルに予め、思った年月日の日付が出るような数式を入れとくのよ。
=DATE(年のセル,月のセル,日のセル)
のように。
そしてそのセルの表示形式を aaa にすれば完成。
>>409 >>407 さんのやりかたでOKでは?
>>407 さんは、「A1」に年、「B1」に月を入力した状態で、
「A列」に「日」を設定し、「B列」に曜日が自動更新されるように
設定されていますが?
年月を変えたければ、
>>407 さんのA1とB1の値を変更すれば、
曜日は勝手に変わるはずですが。
ひょっとして、B列には数式、関数などを何も入れず、1行目のどこかに 「200年06月」と入力する→B列に「自動的に」曜日がパラパラと表示される というようなマクロを書いて欲しいということでは?
>>391 >試している途中での書いたものです。
グダグダいわねぇで最後までやれよ カス野郎
>414 1900年以前は扱えませんよw
417 :
414 :2005/06/13(月) 00:27:14
>>414 Dim buf As Variant, i As Byte
buf = Split(Range("C1").Value, "月")
For i = 2 To Cells(65536, 1).End(xlUp).Row
Cells(i, 2).Value = Format(DateSerial(Val(buf(0)), Val(buf(1)), Cells(i, 1).Value), "aaa")
Next i
こんなのとか?
419 :
名無しさん@そうだ選挙にいこう :2005/06/13(月) 00:29:56
今晩は、マクロに興味を持った初心者です。 あるファイルを開いて、作業している途中で、 一番最初(ファイルを開いた状態)に戻りたい時があるんですよ。 ファイルを閉じる動作で「保存をしない」で指定すれば事すむんですが、 ファイルを閉じないで、出来る方法 マクロってないですか?
>>419 閉じる→保存しない→開き直す
より
開く→編集破棄
の方が良くないか?
というか、この程度にマクロ必要無いだろ。
今開いてるものと同じファイルを開けば
コレまでの編集を破棄するかどうかを聞いてくるので
「はい」を押すだけで前回保存時の状態に戻れる。
まあ、マクロに興味があって、どうしてもマクロでやりたいなら
マクロの記録やヘルプでも読んでがんがれ。
421 :
414 :2005/06/13(月) 00:39:55
422 :
名無しさん@そうだ選挙にいこう :2005/06/13(月) 00:53:29
>>420 ご回答有難う存じます。
編集の破棄で作ってみたいと思います。
では、お休みなさいませ。
>>419 つーか
開いた直後にファイルまるごとコピー保存しておくように
マクロでマクマクしておけばいいね
>>423 サンヽ(´∀`)ノクスコ
【1 OSの種類 / Excelのバージョン】 Windows XP / Excel 2000 【2 Googleやヘルプでの検索キーワード】 日付 計算 Excel 【3 VBAが使えるか】いいえ 2日出勤し、2日休んで2日出勤し・・・というローテーションを繰り返すスタッフの、 最後に出勤した日から、任意の日にちの差をDATEIF等で求め、 その日が出勤日であるか、公休日であるかを求めたいのですが、 どのようにすればよろしいのでしょうか? よろしくお願いします
427 :
425 :2005/06/13(月) 15:33:35
>>426 成る程!有難うございます。MOD使ってできました。
何か色々考え込んでしまいました。
428 :
名無しさん@そうだ選挙にいこう :2005/06/13(月) 17:08:20
自分の能力では解決不能です。どなたかご回答お願いいたします。 Excel2002で、ファイルを検索を使って開きたいのですが、検索結果に 使用できない場所と表示され、ファイルを開くことが出来ません。 開く→ツールボタン→検索→高度な検索タブ→条件を入力・追加、場所を指定して検索 という手順です。デスクトップにファイルを置いて、条件と場所の指定を絞ってやってみましたが、 使用できない場所と表示されます。 どうすればよいでしょうか・・ よろしくご教授ください。
429 :
428 :2005/06/13(月) 17:11:17
428はExcel2002のSP3です。 よろしくお願いします。
431 :
名無しさん@そうだ選挙にいこう :2005/06/13(月) 18:34:15
A B C 1 関東 東京 新宿 2 渋谷 3 目黒 4 神奈川 横浜 5 川崎 6 千葉 市川 7 東海 愛知 名古屋 8 近畿 大阪 梅田 9 天王寺 10 京都 京都 例えば上のように会社の支店があったとして、 D1 関東・東海・近畿 をリスト表示させて選択 D2 D1の結果を反映して都道府県名を、リスト表示し選択 D3 D2の結果を反映して支店名を選択 というふうにしたいのですが、 D1=東海 と選択した時に、東海に支店は1店舗しかないので D2=愛知 D3=名古屋 と自動的にD2とD3が表示されるようにもしたいです。 同じく、D1=関東 D2=千葉 まで選択したら、 D3に市川が自動表示されるようにしたいです。 こんなことは可能なのでしょうか? 定義と入力規則を使っても自動表示はできないみたいで・・・ わかる方いらっしゃいましたら教えてください。
433 :
名無しさん@そうだ選挙にいこう :2005/06/13(月) 21:53:54
質問です。よろしくお願いします 以下のように、1列のデータがあります。 ********** 太郎 太郎 花子 太郎 沢田 沢田 ********** このデータから、以下のようなグラフが作りたいです。 ********** ■ ■ ■ ■ ■ ■ 太 花 沢 郎 子 田 ********** どうにか、簡単に作りたいのですが、 今のところ、countif使う方法しか思いつきません。 ただこれの場合、新しい人が追加されるごとに、 countif(範囲,"角田")みたいにしなければならなく手間がかかる気がします。 ("角田"をA5のように参照にしても面倒そう) 何かよい方法はありますでしょうか。 それとも、countifを使うしかないでしょうか。 以上、よろしくお願いします。
434 :
433 :2005/06/13(月) 21:55:07
すみません。 グラフは、 花子が1で、沢田が2です。 よろしくお願いします。
>>433 ならVBAで
項目追加時の手間と
VBAを勉強する手間の
どちらを省きたいかは自分で決めればいい。
■ ■ . ■ ■ ■ ■ 太 花 沢 郎 子 田 じゃないのか?
436さん、434は読んだ?
438 :
名無しさん@そうだ選挙にいこう :2005/06/13(月) 23:08:29
なんで3行程度のテンプレ書かないのかなぁ?
439 :
名無しさん@そうだ選挙にいこう :2005/06/13(月) 23:21:09
【1 WindowsXP Home SP2 / Excel 2003】 【2 条件に一致したセルを合計】 【3 VBAが使えるか】 いいえ SUMIFで何とかなるかと思いきや何ともならなかったので質問します。 A B C D E 1 年度 3 4 5 6 2 金額 100 150 200 300 3 年度 4 5 6 7 4 金額 250 100 350 450 となっていた場合、む年度が4の金額を合計したいのです。 この場合だと、150+250で400。 SUMIFでCtrlを押しながら1行目と3行目、2行目と4行目を選択するとエラーになってしまい、 計算させる事が出来ませんでした。 何か良い方法があればよろしくお願いします。
440 :
431 :2005/06/13(月) 23:31:21
すみませんテンプレ貼り忘れてました
【1 OSの種類 / Excelのバージョン】 WinXP/Excel2003
【2 Googleやヘルプでの検索キーワード】 入力規則 リスト 自動 表示
【3 VBAが使えるか】いいえ
>>432 さんありがとうございます。
VBAは使ったことがないのですがどうしても必要なので
勉強しようと思います。
VBAなら可能ということですが、検索のヒントだけでも教えていただけないでしょうか?
>>439 表を整えた方がいいような気もするが、その状態で出したいなら
=SUMIF(B1:E1,4,B2:E2)+SUMIF(B3:E3,4,B4:E4)
でいいじゃん。
>>440 Private Sub Worksheet_Change(ByVal Target As Range)
Dim ListRng As Range, ListCol As Byte, i As Integer, j As Byte, foo As Boolean, bar() As String
If Target.Address(0, 0) = "D1" Then
Set ListRng = Range("D2")
ListCol = 2
ElseIf Target.Address(0, 0) = "D2" Then
Set ListRng = Range("D3")
ListCol = 3
Else
Exit Sub
End If
Application.EnableEvents = False
foo = False
en = Cells(65536, 3).End(xlUp).Row
For i = 1 To en
If foo And Cells(i, ListCol - 1).Value <> "" Then
en = i - 1
Exit For
ElseIf Target.Value = Cells(i, ListCol - 1).Value Then
st = i
foo = True
End If
Next i
ListRng.Validation.Delete
Application.EnableEvents = True
If st = en Then
ListRng.Value = Cells(st, ListCol).Value
ListRng.Select
Else
For i = st To en If Cells(i, ListCol).Value <> "" Then If j Mod 10 = 0 Then ReDim Preserve bar(j + 10) bar(j) = Cells(i, ListCol).Value j = j + 1 End If Next i ReDim Preserve bar(j - 1) ListRng.Validation.Add Type:=xlValidateList, Formula1:=Join(bar, ",") ListRng.ClearContents ListRng.Select SendKeys "%{down}", True End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address(0, 0) = "D1" Then Dim bar() As String For i = 1 To Cells(65536, 1).End(xlUp).Row If j Mod 10 = 0 Then ReDim Preserve bar(j + 10) bar(j) = Cells(i, 1).Value j = j + 1 Next i ReDim Preserve bar(j - 1) With Range("D1").Validation .Delete .Add Type:=xlValidateList, Formula1:=Join(bar, ",") End With SendKeys "%{down}", True End If End Sub 以上をシートモジュールにコピペしてD1を選択してみな。
444 :
431 :2005/06/13(月) 23:53:51
>>442 さん
できました、ありがとうございました!!
全く意味不明ですが勉強していきたいと思います。
本当にありがとうございました。
>>444 変数の宣言に抜けがあったから必要なら訂正しておいて
まあ、そのままでも普通に動くけど
Dim ListRng As Range, ListCol As Byte, i As Integer, j As Byte, foo As Boolean, bar() As String
↓
Dim ListRng As Range, ListCol As Byte, i As Integer, j As Byte, foo As Boolean, bar() As String, st As Integer, en As Integer
Dim bar() As String
↓
Dim bar() As String, i As Integer, j As Byte
446 :
433 :2005/06/14(火) 03:06:00
私も、すみませんテンプレ貼ってませんでした。
【1 OSの種類 / Excelのバージョン】 WinXP/Excel2002
【2 Googleやヘルプでの検索キーワード】グラフ 累計 個数 COUNTIF ユニーク
【3 VBAが使えるか】はい
>>435 回答ありがとー^^
やっぱり簡単にはいけず、
VBAか追加時に面倒なことをするかどっちかなんですね。
実は、今回VBAを使いたくなかった背景には、
これを導入したシートを使用する人が
あまりExcelに詳しくない人なので
VBAを使うと、いろいろ
めんどうなことが起きそうだと感じたからなんですよー。
ですので、その人と相談してどっちにするか考えてみます。
どうもありがとうございました。
ワークシート関数は関数(数式)を入れたセルに値を返すことしか出来ないからね。 データ拡大に応じて値を返す範囲も広げたい場合はVBAだろ。 まあ、IFとISBLANKとかで対応出来る場合もあるけど無駄が多いし。
448 :
名無しさん@そうだ選挙にいこう :2005/06/14(火) 09:04:48
50銭以下を切り捨て、51銭以上を切り上げにしたいのですがどのような関数を使えば良いのでしょうか? 給料に対する健康保険料等を求めたいのですが 例えば 125,628*0.06967=8752.5027 を8752と表示させたいのです。 使用OSは98SE、Excelのバージョンは2000、VBAは使えません。
カウンター変数にByte型使うアフォがいるな。w
>>448 計算結果から0.01引いたら通常の四捨五入でいけますよね?
ならROUND関数で。
>449 m9(^Д^)プギャー
>>450 それだとうまく行かなかったです・・・
>>451 この場合だと
ROUND(125,628*0.06967-0.01,2)ですよね?
実際にはROUND(F16*0.06967-0.01,2)って式になるんですけど
これだと8753になっちゃうんですよね〜・・・
>>453 だから0.49加算してセルの書式設定で少数以下を表示させないようにすんだよ。
>>453 ただ
>>448 のおまいの書き方はおかしい。
51銭以上切り上げ、51銭未満は切り捨てな。
おまいの書き方だと、50銭より大きく51銭未満の数値の判断が抜けてる。
例から判断したが。
456 :
名無しさん@そうだ選挙にいこう :2005/06/14(火) 10:05:08
なぜカウンタ変数に基本的にByte型が使われないのか、 その本当の理由を知っていれば、臨機応変でByte型を使うことが出来る。 その理由さえ知らず定型的にByte型を避け、 Integer型を使う素人も多いけど実は無駄なこと。 まぁ昨今のPCはその程度の無駄など計測しても差が出ないほど高性能になってるし 素人と素人に渡すコードはByte型避けた方がいいだろうけどな。
>>454 そうですか、もうちょっとがんばってみます。
>>455 これって厚生年金の算出方法なんですけど社会保険庁から送られてきた資料にそうやって
書いてあるんですよね・・・
>>457 じゃあおまいの理解が間違っている可能性もあるんでは?
「50銭以下を切り捨て、51銭以上を切り上げ」
だと、50.5銭はどうしていいかわからない。
それ以外の所に、0銭以下の取り扱いに関して記述してる部分があるのかもしれないが。
調べるか問い合わせてみれ。
以上、以下、未満の言葉の意味はちゃんとわかってる?
>450, 451 どちらでも良いけど、451のときは丸めの桁を0に 450のときはintで切り捨て、表示だけではダメ。
460 :
451 :2005/06/14(火) 10:49:08
>>453 >この場合だと
>ROUND(125,628*0.06967-0.01,2)ですよね?
違います。
>>459 さんも言っておられますが、
ROUND(125,628*0.06967-0.01,0)です。
あなたのやり方だと、表示上は「8753」かもしれませんが、
実際の数値は「8752.49」という計算結果になっているはずです。
461 :
451 :2005/06/14(火) 10:56:16
で、50銭以下51銭以上の件ですが、たしかに社会保険庁の書類にはそう書いてあるようです。 うろ覚えなので確実ではないですけど、あなたの計算で言う「125,628」は本人の給与ですか? 社保の計算は給与そのものではなく、標準報酬月額で行うのではなかったでしたっけ? ちょっとスレちがいな回答補足でスマソ。
HTMLなどから複数行の文章をコピペすると、 改行が入ってた場合複数のセルを使用して貼り付けちゃうんですが、 一つのセルに改行を含めて貼り付ける事ってどうすれば出来るんでしょうか?
編集モードにして張り付けるか、数式バーに張り付け
464 :
451 :2005/06/14(火) 11:19:09
465 :
457 :2005/06/14(火) 11:27:31
>>458 実際に「50銭以下を切り捨てし、51銭以上を切り上げして1円となります」とあるので理解が間違っているとかじゃないと思うんです。
51銭以上を切り上げって事は51銭未満(50.99以下とか)は切り捨てちゃって良いのかな〜ってのが個人的見解なんですが。
>>460 あ、0なんですか・・・
ちょっとやりなおしてきます。
>>461 すいません、給与ではなく賞与です。
賞与の場合は等級ではなく料率で求めるって聞いたんですけど・・・。
>>463 ありがとうございます
編集モードっていうのが分からなかったのですが数式バー貼り付けで出来ました
ただ貼り付けるとその列の高さが貼り付けた文章分、
いちいち変更されてしまうのですがこれってどこかで設定出来ますでしょうか
>>466 デフォルトでは行高、列幅ともに「自動」になってます。
一度行の高さを数値設定すれば、以後張り付け文字がセル内に収まらなくても
高さが変更されることはありませんよ。
因みに編集モードは、セルダブルクリックかF2キーで。
>>467 無事出来ました
ありがとうございましたー
469 :
457 :2005/06/14(火) 11:50:21
社会保険事務所に問い合わせてきました。 料率で求めるようです。 50銭〜の話はちょっと頭がこんがらがってきたので整理してきます・・・。
>>465 >実際に「50銭以下を切り捨てし、51銭以上を切り上げして1円となります」とあるので理解が間違っているとかじゃないと思うんです。
>51銭以上を切り上げって事は51銭未満(50.99以下とか)は切り捨てちゃって良いのかな〜ってのが個人的見解なんですが。
50銭以下を切り捨てって事は50銭より大きければ(50.01以上とか)は切り上げちゃって良いのかな〜ってのが個人的見解もできる罠。
471 :
457 :2005/06/14(火) 12:12:13
すいません、勘違いしてた事がありまして・・・ 金額を求める際に賞与額の1000円未満は切り捨ててしまうそうです。 それによって厘にあたる数値は出てこないので50銭以下〜、51銭以上〜で大丈夫だと 社会保険庁の人が言っていました。 って事で、まずは125,628の1000未満の数字を切り捨てる必要があるんですね。
じゃあ1000で割ってintして1000掛けてだな。
>>472 ですよね!
とりあえず =ROUND(INT(F16/1000)*1000*0.06967-0.01,0)
こんな感じになりました。
手計算の数値とも一緒ですし、どうでしょうか?
474 :
451 :2005/06/14(火) 14:56:36
>>473 解決ですね。こちらも賞与にかかる社保の事がわかって勉強になりました。
>>451 さんや他にレスを下さった皆さんどうもありがとうございました。
どうもお世話になりました!
>>456 VBのカウンター変数にInteger型使う奴ってほとんどいないぜよ。
Long型一本で正解。
あー、なるほど。 世の中のコードが重くなってる一方なのはそーゆー考えが蔓延してきたからか? やっぱ極力スリムにしないと美しくねぇと思うんだが。。。
2行で1つの項目のリストにオートフィルタをかけると1行しか 反映されません。これを2行とも抽出できるようにするための いい方法はありますか。
480 :
479 :2005/06/14(火) 15:35:13
説明がおかしいですね。 2行で1項目ですが、オートフィルタで抽出すると 1行目のみ抽出されます。これを2行とも抽出結果として 表示したいと思っています。
481 :
479 :2005/06/14(火) 15:39:41
なんで説明がへたなんだろ。 2行が列によってはセルの結合がされているという意味です。
今どき LongがIntより遅いとか、 Longにするとメモリが足らなくなるとかってあるの?
貧乏性だからかなあ。 LongやDoubleは特別な理由がない限り使わない。
Integer型だって32ビットCPUだとLong型に変換して実行してる。 だから最初からLong型が正解。
487 :
長文すみません :2005/06/14(火) 16:23:53
FTPを使ってexcelファイルをサーバーに自動でアップロードするマクロがどうしても成功しません。
検索もかなりしたのですがお手上げです。どうか教えてください。
毎日社内の報告書データをExcelで作成し保存して、
フリーのFTPクライアントソフト『FFFTP』を利用して
FTPサーバーに上書きでアップロードしています。
環境はこのようになっています。
社内FTPサーバー:Win2000Server SP4
保存場所フルパスD:\FTPROOT\保存フォルダ\報告書データ.xls
サーバーIP:192.168.*.**
クライアント:Winxp SP2
Office Pro 2003内のExcel2003
VB6.0
保存フォルダ及び報告書データ.xlsのアクセス権はフルコントロールで設定してあります
マクロ起動時は報告書データはマクロが保存されているExcelファイルと別に開いてある状態です。
1
FFFTPではロックも掛からず何回でも上書きアップロード可能です。
2
フォルダ等のアドレス欄にサーバーのアドレス
ftp://ユーザー:パス@192.168.*.**/保存フォルダ/を入力して 開き、ドラッグして上書き保存も何回でもできます。
488 :
長文すみません :2005/06/14(火) 16:25:19
3
Excelのマクロの記録を使い、
ファイル名をつけて保存ダイアログにて
ファイル名に
ftp://ユーザー:パス@192.168.*.**/保存フォルダ/報告書データ.xls 上記で正常に保存され、
下記マクロが作成されます
Excel内のマクロ
Sub Macro1()
'
Windows("報告書データ").Activate
ActiveWorkbook.SaveAs Filename:="
ftp://192.168.*.**/保存フォルダ/報告書データ.xls ", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
End Sub
このMacro1をF8キーやコマンドボタンに登録して実行すると一回は成功するのですが
以降は
489 :
長文すみません :2005/06/14(火) 16:28:03
--------------------------------------------------------------------------------------------------------
実行時エラー '1004'
SaveAs'メソッドは失敗しました:'_WorkBook'オブジェクト
上記のメッセージが出現し失敗してしまいます。
同時にサーバーのイベントビュアーのシステムログを見ると
ソース:MSFTPSVC
ログオン失敗:ユーザー名を認識できないか、またはパスワードが間違っています
--------------------------------------------------------------------------------------------------------
上記のログが作成されています。
このメッセージは検索したところ
要約するとサーバー側のキャッシュが残っているのが原因と書いてありました。
Sub Macro1()
'
Windows("報告書データ").Activate
ActiveWorkbook.SaveAs Filename:="
ftp://ユーザー:パス@192.168.*.**/保存フォルダ/報告書データ.xls ", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
End Sub
ActiveWorkbook.SaveAs Filename:="
ftp://ユーザー:パス@192.168.*.**/保存フォルダ/報告書データ.xls ", FileFormat:=xlNormal, CreateBackup:=False
BASP21というソフトのFTPオブジェクトを利用
全て失敗しました。
もう何日も費やしても成功しません。クライアント側のマクロでなんとか自動でアップロード試す手が御座いましたらお教えください。
又、FFFTP及びフォルダのドラッグでキャッシュは影響しないのでしょうか?
長文誠に申し訳御座いません
カウンター変数でLong型が速いのは
>>485 が書いてるとおり常識だけど、へんなこと書いてるやつって一人じゃないの?
すごい低レベルの質問で申し訳ないのですが 列幅を指定して印刷したいのですが印刷プレビューの時点で指定した列幅とは違う値のが表示され弱冠狭くなってます。 たとえば列幅を2.5cmにしたいのでピクセルに換算して71ピクセルになるように設定をします。 しかし印刷プレビュー表示すると数mmせまくなっていて、印刷してみるとやはり狭くなっていて約2.1cmになっていました。 こんな場合はどこの設定をしなければならないのでしょうか。 OSはWinXPsp2、Excelは2000でプリンタはEPSON PM-780Cでプリンタドライバは最新です。 よろしくお願いします。
>>491 プレビューをちょくちょく見ながら微調整してくださいです。
さらに、プレビューと実際の印刷結果もズレます。
これは昔から直らないExcelのクソ仕様なので、地道に微調整を繰り返してください。
>491 マックに換えな!見たまんま印刷できるから
>>491 表計算ならExcel
表作成ならWordや平面CAD
表計算ソフトはCADでも表作成ソフトでも無いので
指定したmm数に印刷するという使い方自体が間違い。
まぁ、同じ表計算ソフトでも三四郎だとほとんどずれないけどね。
Macもフォントに因ってはズレる
>>493 なんとそういった仕様だったのですか・・・ExcelのFAQ集等も検索したのですが載ってなくて…
たいした表じゃないのでWordで作成することにします。
>>494 さすがにそこまでは…でもヴィジュアルにこだわるMacらしいですね
>>495 Excelの方が簡単な表だったら簡単に作れたもので重宝してました。
しかし何故仕様を直そうとしないのかが納得できません…
皆さんレスありがとうございました。
498 :
名無しさん@そうだ選挙にいこう :2005/06/14(火) 21:35:09
オートフィルタの下向き三角を、大きく表示する方法を教えていただけませんか? ME,2000では大きくできたのに、XP,2003では米粒より小さい三角のままです…。
オートシェイプ? サイズ変更のしかたは2000と同じだが。
500 :
498 :2005/06/15(水) 00:38:34
オートフィルタをオンにした時に表示される、プルダウンボタン? (正確な名前はわかりません)です。 下向きの三角形で、データを抽出すると三角形が黒から青に変わる… よろしくお願いします。
501 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 01:41:54
すみませんが教えてください。 ある数字が重複していてもそのグループを一件と数える関数はありますか? 1234 1234 1234 1件 4567 1件 5678 5678 1件 です。
ワークセルを設けてそこでソート。 一個上と同じならカウントしないとかでどうよ?
VB3以降の Integer と Long は同じバイト君を消費すするんだが 実際に使える範囲が悲しい Integer 型は悔しい
ム板じゃなくてもシッタカしてると恥かくぞw ってことで、この話題は終了。 以後、負け犬の遠吠えがあるかもしれんが放置ってことで。
506 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 13:08:00
お尋ねします。 セルを選択したときに強調表示される色の変更は可能ですか? 編集→初期設定→表示タブ→ウインドウオプション→色で見ると 自動になっていてグレーぽい色なのですが、選択したときだけ ピンク ミヤスイ ウマーとしたいのです。 MacOS9.2.2でExcel2001使用。 (Excel2001はWin版のExcel2000と同じ仕様と聞いています) MacでExcelかよ!と煽られそうなのでsage。 どなたかご存じでしたらお願いします。
507 :
506 :2005/06/15(水) 13:08:42
sage忘れました・・・
>>506 Win版の場合、Excelの選択部分の色はExcelの設定ではなく
OSの設定で変更するので、Mac版もそうだろう。
ってことでスレ違い。
509 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 14:19:08
デ−タの並び替えに失敗します。 デ−タの番号は152−1 152−2 152−3 と152の枝番で管理し、その枝番には 会社名と金額が対応します。 たとえば 152−1 関西商事 500円 152−2 関東商事 2563円 152−3 関知商事 5462円 と続くのですが、デ−タの並び替えで枝番で並び替えるように してもなぜか金額で並び替えられてしまいます。 デ−タ−−−並び替え とたどって設定しているのですが どうしてでしょうか?
>>509 > どうしてでしょうか?
やり方を間違ってるから。
優先キーがC列になってるとか、昇降順を勘違いしてるとか。
511 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 15:05:56
関連会社からデータが欲しいと言われ、あげるのはいいのですが そのデータの書かれた下に会社の名前を入れたいのですが、どうしたらいいのでしょう 下というのはフッターのことではなく、印刷された紙の中心くらいに、うすーく見える程度の文字で入れたいです。 ヘッダーやフッターなどではその部分を消されてしまうのではないかと思って… 一応会社のロゴの画像を作って、ワードみたいに背面表示にさせようと思ったのですが エクセルではできないみたいなんです どうぞよろしこお願いします。OSはXP home、エクセルは2003です。
>>511 WORDの透かしみたいな機能はみつからなかったよ
うすーく見えるような画像を作って背景として表示しては駄目かしら
514 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 15:38:47
>>512-513 スバヤイご回答ありがとうございます。
やっぱりワードアートを使うしかないみたいですね…
罫線がしっかり隠れる…orz
ダメぽ
現実的でない方法で今回はなんとか凌ぎます。
ありがとうござまいした。
515 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 16:03:30
現実的じゃない方法SUGEEEEEEEEEEEE!! キッチリ背景になりましたハハハ…ありがとうございます
狂気の法案を拉致問題の安部晋三先生と阻止しよう!!【■■2ちゃんねるが消滅します】
とんでもない言論弾圧法案=「人権擁護法」が国会に提出されようとしています!!!
この法案の真の狙いは、
@社会的には、2ちゃん/ブログをはじめとしたネット世界の一般人の小うるさい言論の圧殺であり、
A政治的には、拉致問題強硬派&在日参政権反対の自民右派の消滅です。
民族(朝鮮・中国・韓国)/ 同和 /信条(宗教・層化・赤化)他に関する一切の差別的発言を禁じるという狂気の法律です。
この法律の前例の無い恐ろしい特徴は、特定人に関する言動は当然、不特定多数の集団に関する一般的発言
(朝鮮人は〜〜と書くこと)までも圧殺しようとする点にあります。
◆違反者には、無令状捜索・差押、出頭要求、矯正教育が待っており、それを拒否すると、
さらに罰金30万&氏名・住所などの全国晒し上げを食らう(61条)という仰天内容です。
一刻も早く、防戦する安部先生達に、日本国民の怒涛の援護射撃をお願い致します!!!
※※以下5つともアドレス中に★をはさんであります、★を消去の上、どうか必ずご覧下さい!!※※
http://zinkenvip.fc2web.co ★m/
http://blog.livedoor.jp/no_gest ★apo/
http://blog.livedoor.jp/monste ★r_00/
↑↑【凶悪法案の問題点&背景の全て】
http://www.kantei.go.jp/jp/forms/goik ★en.html
↑↑【首相官邸ご意見フォーム】イメージと違って、ここは非常に効果ありです!
全部読んでくれます、投稿テーマで返事が変わります!
http://meyasu.jimin.or.jp/cgi-bin/jimin/mey ★asu-entry.cgi
↑↑【自民党目安箱】事態は急を告げています。文章は簡単でいいので、国民の「人権擁護法」への反対意思を、
とにかく 1 秒 も 早 く 党本部に伝えて下さい!
■□■人権擁護法ストップin日比谷公会堂 6/19(日)12:30〜16:00超大物国会議員登場・皆さん大挙してご参加を■□■
基本的な質問で申し訳ないのですが、 フォント追加した際の適用方法ってどうやるのでしょうか? コンパネのフォントの追加で実行したのですが、Excelでは適用できませぬ。 使用してるのは、 WIN XP Excel 2003 ちなみに、Wordでは適用できたので、Excelでの適用方法が判ると良いのですが。
自動で出るでしょ。 因みにWordで使えてExcelで使えないフォントもある。 Excelは文字を扱うのがメインじゃなくて計算するのがメインだから。
519 :
517 :2005/06/15(水) 16:47:47
いや、自動ででないのさ、何故か。
ということは、TRUE TYPEだっけ?
あれが表示されててもExcelじゃ使えない場合があるのね。
>>518 ありがとう
質問させてください。 表示形式が標準になっているセルに、000000:06:08.00 という数値が入っています。 この数値は、6分08秒ということなのですが、mm:ss形式で表示するように、 出来ればマクロを使って行いたいのです。 どのように記述したらよいでしょうか?
>>520 VBAわかるなら、ヒントくらい教えるけど
「VBA勉強するの面倒だから、俺の代わりにコード書け」
ってことなら帰れ。
ヒント欲しいなら最低限の環境(OS・Excelのバージョン)と
条件(データのある範囲と結果を返す位置)くらい書こうぜ。
申し訳ないです。 VBAは入門書片手にやってるレベルです。 OSはWin2K、Excel2003で、データはシート毎にバラバラですが、 500行〜4000行で、一列に収まっています。 結果に関しては、すぐ隣の列に出てくるのが一番望ましいです。
>>522 Forステートメントで1行目からデータの最終行までループ回し
行単位で隣の列にTimeValue関数とMID関数で"00:06:08"部分のシリアル値を返し
NumberFormatプロパティで表示形式を"mm:ss"にする。
セルの参照はRangeでもいいけどCellsの方がいいな。
データの最終行はシートの最終行(65536行目)からEnd(xlUp).Rowで取得。
524 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 17:53:37
>>521 なんでこいつはこんなに偉そうなんですか
教えてください
525 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 18:05:13
教えるだけの知識があるからじゃねーの ところでなんで>524はこんなくだらないことを気にしてるんですか 教えてください
程度の低い煽り@
>>526 が、何か申しております。
このスレはID表示必要だなw
530 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 18:17:45
> ID出たところで●持ちなら串使ってID変え放題だし > ●無しでも使える串探すツールもあるし > ADSLはつなぎ直せばID(というかIP)変わるし > ってことで意味ねーよ > 自演ミスったときにプチ祭りになるくらいで
>>530 串探すツールのあるサイトってどこ?
2ちゃんねるはすぐBBQにされちゃうから。
>>527 気に触ったなら謝るけど、俺はマジレスしたつもりなんだが。
少なくともこのスレは煽りあいを楽しむ目的のものじゃ無いよな?
そういうのがやりたきゃ他に相応のスレなり板があると思うんだが。
この類のスレの主旨から外れたレスは俺も含めていい加減やめにしないか?
>>532-533 > この類のスレの主旨から外れたレスは俺も含めていい加減やめにしないか?
そう思うなら自分からやめればいいのに。
周りをなだめてる気になってるようだけど、
実は言い返さずにいられないだけの大人げなさは漏れ等と同じ。
客観的にみて、 君、非常に カコワルイヨ
537 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 18:45:55
くだらない煽り合いに参加してる人が「客観的」ですかそうですか。。。
539 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 19:24:59
質問なのですがエクセルの資格で一般と上級では やはり雲泥の差(難しさ)がありますか?
>>521 必死すぎる
暇なのはわかるがこのスレで暇つぶしするな
せっかくマターリしてたのにいつも荒れるきっかけはVBA&点プレ厨だな おまえどっか逝けよ
なに?またbyte君?
544 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 19:40:13
VBAでIFで以上以下を処理するとき 5>a>1では駄目ですよね。 どう式を書けばよいのでしょう
5>a and a>1
byte君も粘着だったよな 回答もしてないのに回答者にケチ付けて 今日のも偉そうだろうとなんだろうと、回答してる奴にケチ付けるだけで なにか回答するわけでもない 回答してる奴にケチつけるだけの常駐粘着は消えろよ
>>546 byte君がなんなのかしらないけど煽らずスルーしてくれ
煽りたいだけならば他所へ行け
〜マターリのために〜 次スレからVBAを使った回答を禁止して別スレにて隔離 必要な際にはそちらへ質問者をそちらに誘導 教えたがりVBA厨にはそちらに待機していてもらって 「ルール」に従わない質問者を思う存分叩かせる
こういう仕切り厨がまた〜りへの道を遠ざけるという法則
550 :
544 :2005/06/15(水) 20:35:56
>>545 ありがとうございます。
ばらばらにするしかないのですね .
551 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 20:46:39
VBA教えたクソは自分が叩かれるとさりげなく自作自演の質問を挟み込んで沈静化させようとするのはなぜですか?
ほんと見てて笑えるよな。毎回バレバレなのに必死でさwww 自分が消えるのが一番いいってのは一生わからないんだろうな。
553 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 21:05:18
OfficeXPを使っています。 取引先へ送る封筒の宛名書きをすばやく済ませたいと思っています。 200以上ある取引先の社名に3ケタのコードを割り当て、エクセル上でそのコードを入力すると 自動的にワードが開き、しかも会社名と住所が自動的に封筒レイアウトに入力されているというプログラムを作りたいです。 アクセスで作ったほうが速いのでしょうか? 一応、エクセルのsheet2にコードと会社名と住所を入力しておき、sheet1に関数を入力するという案があります。 しかしそこからどうワードに結びつけるのかがよくわかりません。 アドバイスお願いします。
ここでByte関係の書き込みしたの何人いるんだ?
もれはごく常識的な
>>475 と
>>485 を書いただけだが、もしかして盛れもByte君か?
それともByte型使った人のことかい?
557 :
554 :2005/06/15(水) 21:10:21
558 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 21:16:29
>>558 うざいテンプレがない分、そっちの方がよさそうだな。
ここは馬鹿テンプレ仕切り屋がいるからだめだ。
それを言わずに移動するのが大人
移動するのは質問者だけでいいよ。
可哀相な子が増えたねw
Excelに関する質問は、ここで! ★★★★★ 質問者を罵倒するのは厳禁です ★★★★★ ★★★★★ 質問者にテンプレを強要しない ★★★★★ ■下記の質問用テンプレ推奨■ --------------------------------------- 【1 OSの種類とExcelのバージョン】 【2 Googleやヘルプでの検索キーワード】 【3 VBAが使えるか】 --------------------------------------- 1.質問は具体的に。「なにがわからないか」をできるだけ詳しく。 2.手元にある情報(シートの内容やソースなど)は可能で妥当な内容を提示。 (図を書く場合、TABや連続する半角スペースは無視されるので注意。 ★回答者はマターリで。答えたくなければスルーで処理★
どうしたの?
空気読まずに質問 ここで質問に答えてる皆さんは、どんな仕事の方ですか? あんなにスラスラとコード書けるのは、やっぱり、プログラマーとかシスアドとか総務とかの方が多いんでしょうか? ちなみに私は普通の営業。 定型業務を手抜きする為に、自動記録に毛の生えた程度のVBAで悪あがきしております。
>>564 「エスパー以外に」とか「標準用語」とか恥ずかしげもなく書かれている現行
>>1 よりずっとマシだ
2003ですが2000と同じスキンに変える方法ってありませんか?
自分にレスするのが流行ってるんですか?
ちがいます。
可哀想な
>>521 を哀れむためのスレです。
ああ、○66=5○9=57○ってことか
>568 スキン? 画面のプロパティでデザインをクラシックにしれ。
今日も楽しく荒れてますね プププ
テンプレさん、いつもご苦労様です! できれば御自慢のテンプレに以下の2項目を追加していただけないでしょうか? ● VBAを自慢げに披露する可哀想な人がいますけどスルーで(ああ、byteくんね・・・と見守って下さい) ● テンプレにうるさい自作自演な人がいますけどスルーで(ああ、テンプレさんね・・・と見守って下さい)
なんか、今このスレに来たばかりのような書き方ですねw
いやまあ他人に伝達する能力がある香具師はテンプレなんて使わなくていいんだけどな。 伝達する能力のない香具師向けにテンプレがあるわけで。 テンプレ使わなくても情報が不足なく提示されてれば桶。 しかし必要な情報がなにか想像できないかわいそうな香具師にわざわざテンプレが存在してるんだよ。 なにもこのスレだけに限った話じゃない。 質問スレってのはそういうもんだ。
578 :
名無しさん@そうだ選挙にいこう :2005/06/15(水) 22:48:11
【1 OSの種類 / Excelのバージョン】WindowsXP Excel2003 【2 Googleやヘルプでの検索キーワード】煽り合い Loop 抜ける 【3 VBAが使えるか】はい Do くだらない煽り合い Loop 上記のコードで、ループを抜けるにはどうすればいいですか? かなり切羽詰まってます。宜しく御願いします。
GoTo OfficeTanaka
581 :
506 :2005/06/15(水) 23:01:37
>>506 です。
MacでもOS→コンパネ→アピアランスで一発で設定完了。
色んな面で使いやすくなりました ヤター。
大変遅くなりましたが
>>508 に大感謝。
>>577 >伝達する能力のない香具師向けにテンプレがあるわけで。
そういう人間に限ってテンプレを見ようとも使おうともしないわけで。
>>582 だからそーゆー香具師に対しては
>>1 嫁
なりネタで返すなり煽るなりは正しい反応だからそれでいいじゃん。
ちゃんとした質問にはわかる香具師がちゃんと答えてるし、
スレとして機能してるんだからそれでいいと思う。
ただ、質問に関する情報がすべて提示されているにもかかわらず、 テンプレ使ってないだけで脊髄反射する香具師は正直どうかなぁと思う。 そういう質問で漏れがわかるなら漏れは答えてるけど。
×質問に関する情報が ○質問に関する必要な情報が ですorz
とりあえずさぁ、単に煽りたいだけの香具師は別として、 質問者・回答者としてこのスレにいる人へ提案なんだが、 このスレの別館的なスレを立てて、質問と回答以外の 議論や雑談なんかはそっちのスレに統一したほうがよくね? もしこのスレでスレ違いな議論が起こった時や、今みたいに いや〜な空気の時は、そっちに誘導するってので。
>>583 だ〜か〜らぁ、そこで「煽る」から荒れるんだろ?
素直にモーグで質問したほうが手っ取り早いかも。
え〜、みなさん。
>>369 や
>>527 の言うことに禿同のワタクシなんですが。。。
ホントやめようよ、今みたいなスレの流れはさぁ。。。
またまたミスってた。。。
>>526 さんへレスした
>>527 に再レスしてる
「
>>532 」さんでした orz orz orz
夜中に何やってんだろ。。。自分が情けない orz
職業登録制なんだが
596 :
名無しさん@そうだ選挙にいこう :2005/06/16(木) 07:29:23
>>596 そちらにもすでに彼がいるんですが・・・。
177 名前:ひよこ名無しさん 投稿日:2005/06/14(火) 20:58 ID:???
>>176 VBAで並べ替える
詳しくはヘルプ参照
180 名前:ひよこ名無しさん 投稿日:2005/06/15(水) 01:10 ID:???
>>179 入門書を読めば1時間以内で完成できる。
自治厨が被害拡大させてんのか。救いようがないなww
あっ、まだ終わってなかった?失礼w
ここのMOSスレのアドレス教えてください。
現在excel2002をwindows Meで起動させています。 さて、excelで関数(fx)を良く使うのですが、(Ctrl)+(キー)でショートカットで 関数を起動させることは可能なのでしょうか? 関数の(Fx)までマウスをなんども持っていかなくて済むと助かるのですが。 ご存知の方いましたら、レスお願いしますm(__)m
604 :
603 :2005/06/16(木) 17:10:34
ググって自己解決できました お騒がせしました
605 :
名無しさん@そうだ選挙にいこう :2005/06/16(木) 17:26:05
【1 OSの種類 / Excelのバージョン】 XP/Excel2002 【2 Googleやヘルプでの検索キーワード】 差し込みウィサード 変換 日付 【3 VBAが使えるか】いいえ エクセルで作った名簿をワードでラベルにしようとしたら 住所が、たとえば 3−1−7と記入されていると 2003/1/7と印刷されてしまいます。半角でも全角でも同じことに。 改行させるために住所は2枠使っているのですが、 どうしたら直るでしょうか。
【1 OSの種類 / Excelのバージョン】 2000/Excel2000 【2 Googleやヘルプでの検索キーワード】 文字 合成 ファイル名 【3 VBAが使えるか】いいえ 分かる方、教えてください。 ファイルを『経理200503.xls』『経理200504.xls』のように分けて 『経理200504.xls』の中で [経理200503.xls]内訳'!RC14 という感じで参照 したいのですが、この『経理200503.xls』の部分を『経理200504.xls』の中 の「2005/04」という年月を入れたセルから自動で作り出すことは可能で しょうか? よろしくお願いします。
まがりなりにも回答していたかも知れない「VBAで君」は消え失せて、模倣煽り厨だけが残ったか…
>>606 ちょいとどんくさい方法でよければ。
="経理" & YEAR(A1) & TEXT(MONTH(A1),"00") & ".xls"
A1は年月の入ってるセル。
この数式を入れたセルに「経理200503.xls」のように出る。
612 :
609 :2005/06/16(木) 22:18:03
>>610 ごめんごめん、ついつい脊髄反射的に愚痴レスしてしまった。
けど俺は
>>521 じゃないよ?
だって俺、VBAつかえねーもんwww
さっきは携帯で見てたんで回答できなかったけど、
せっかくのご指名ですからチャレンジしてみますか。
>>605 1:「2003/1/7」ってのは、印刷時ではなく、エクセルで作った段階で「3-1-7」と
表示されていないのではないですか?
2:住所を2枠に分けているとのことですが、2枠目に番地のみを入れておられる
のではないですか?
もしこれが当ってるとしたら、セルの書式設定→文字列
でOKではないかと。
間違ってたらごめんなさい。
では、
>>606 さんのぶんは
>>610 さんに回答をお任せいたしますw
614 :
609 :2005/06/16(木) 22:40:39
って、恋に落ちたら見ながらダラダラレスしてたら すでに回答出てたかw
>>609 の言うとおり、607-608は単なるコピペだな。
VBA厨ならテンプレさえきちんと書いてあれば、
少々煽りながらでも回答はしっかりしただろうから。
ってことで、今後質問される方は、
「VBAで 詳しくはヘルプ参照」
と言う言葉をNGワード設定されることをお勧めします。
616 :
名無しさん@そうだ選挙にいこう :2005/06/16(木) 23:17:26
セルの書式設定(ユーザー設定)で、小数点第2位を0か5にすることはできますか? もし出来るなら記述方法を教えてください 例えば 0.289→0.30 0.237→0.25 0.199→0.20 0.143→0.15 のように表示させたいのです。 マクロを使わなければいけないのなら諦めます
数十人分の点数が書かれている中から、上位3人分の点数合計を 求めたいのですが、どのような関数を使えばいいでしょうか?
>>616 書式設定は知らんが
=MROUND(セル, 0.05)
でできなくもない。
この関数はツール>アドイン>分析ツールをチェックしとけば使える。
619 :
名無しさん@そうだ選挙にいこう :2005/06/16(木) 23:37:42
>616 =CEILING(A1, 0.05)
>>620 質問者じゃないけど、勉強になった。
こんな関数使ったこと無かったから、
「RANK関数で順位出してそれをvlookupで1,2,3位の値を出して合計」
みたいなブサイクな回答するところだったwww
622 :
名無しさん@そうだ選挙にいこう :2005/06/16(木) 23:57:33
>>618 できたぁああああああああああああ!
ありがとうございます
623 :
名無しさん@そうだ選挙にいこう :2005/06/17(金) 00:48:50
セルの書式設定の表示形式をいじって 6000 → 6 3000 → 3 のように見た目だけ1桁にしたいのですが無理でしょうか? 関数なら出来るのでしょうか?ご教授を・・・
>>623 四捨五入の形になりますが、とりあえずこれでどうでしょう
ユーザー定義→「###.」
>>624 レスありがとうござます
###.をユーザー定義に入力しましたが
6000は6000.と表示されてしまうようです。
6000と入力した場合に6と表示したいのです。
説明の仕方が悪かったですね、すいません
なんとかなりますでしょうか?
あ リロードしてなかった・・・
>>625 ヘルプ読んだのですが発見できませんでした
解決できました、ありがとうございました
628 :
624 :2005/06/17(金) 01:33:48
629 :
名無しさん@そうだ選挙にいこう :2005/06/17(金) 01:59:15
文字列で ○月○日 と入力されているものをシリアル値に変換ってできますか?
630 :
名無しさん@そうだ選挙にいこう :2005/06/17(金) 06:05:35
>>629 その文字列が入ってるセルがA1として、
どこか他のセルに=A1+0と入れる。
必要なら表示形式を変更する。
Excelはなんでここまで柔軟なのかね。
631 :
名無しさん@そうだ選挙にいこう :2005/06/17(金) 15:43:49
EXCEL2003使っています。 2軸をつかった散布図を作ったんですけども、第2数値軸をy軸(もとのある1軸目のもの) の後ろに表示することはできるのでしょうか? 簡単に言うと、第2数値軸を左へ表示させたいのです。 よろしくお願いいたします
632 :
名無しさん@そうだ選挙にいこう :2005/06/17(金) 16:55:16
エクセルで帯グラフを作成しております。 モノクロプリンタで印刷したところ、水色と黄色の区別がつかなくなりました。 オプションで水色を赤色にしたり、黄色を黒にしたりすることができるのは知っているのですが、 なんといいますか、モノクロプリンタで印刷しても分かりやすいようにグラフの凡例が網掛けになったり、 斜線になったりするようにできないものでしょうか。 使用OSはウィンドウズ2000、エクセルバージョンは2002です。
>>632 ファイル>ページ設定>グラフで「白黒印刷」をチェック
・・ではダメかな?
634 :
632 :2005/06/17(金) 17:29:41
>>633 ご回答ありがとうございます。エクセル上でご指示の通り、
やってみたらできました。
ですが、ワードにコピーアンドペーストでプリントアウトしたところ、
従来どおりの状況になってしまいます。なにかよいお知恵を
頂戴できればとおもいます。
ログを読もう!!!!!! /)_/) ( ・質問する人は可能な限り具体的に書いてね。 < ゚ _・゚> .。oO( ・情報は小出しにせず、きちんと書いてね。 ノ) / | ( ・回答がなくてもキレないで。(催促は程々に) \(_,,,_,,,) ( ・分かる人はできるだけ回答して下さいませ。 ( ・自己解決したって人はその解決手段を他の人の参考の為に書いてね。 ( ・回答された内容が理解できなくてもすぐに聞き返さず、自分で調べる努力をしよう。 ★質問にはテンプレ必須★ (下の3行をコピペして各項目を埋め、・1、・2、・3をよく読んで質問しましょう) 【1 OSの種類 / Excelのバージョン】 【2 Googleやヘルプでの検索キーワード】 【3 VBAが使えるか】はい・いいえ
637 :
名無しさん@そうだ選挙にいこう :2005/06/17(金) 18:17:33
【1 OS / Excelのバージョン】 XP Pro / 2003 【2 Googleの検索キーワード】 excel 振り分け 均等 【3 VBAが使えるか】 はい 入力した数値を均等に分けて100単位で表示させ、 余る部分は上から振り分けたいのです 具体的には A1に5000と入力すると B列には3等分した数値で 1700 1700 1600 C列には4等分した数値で 1300 1300 1200 1200 といった具合に分けたいのです 数値は3等分か4等分にしか分けません
>>635 別の質問じゃねーか
自治厨Uzeeeeee!
639 :
634 :2005/06/17(金) 18:38:58
634です。いや、どうも申し訳ありません。
エクセル上でできるのであれば、ワード上でも当然可能なものと思っておりました。
>>635 さんイヤゴト言わずに知ってるなら教えてください。
知らないなら氏ね。
>>637 VBA使えばいいじゃん
数 値:foo = 1700
分割数:bar = 4
だとして
Columns(2).ClearContents
For i = 0 To foo / 100 - 1
Cells((i Mod bar) + 1, 2).Value = Cells((i Mod bar) + 1, 2).Value + 100
Next i
とか
Range(Cells(1, 2).Address, Cells(bar, 2).Address).Value = (foo / 100 \ bar) * 100
Range(Cells(1, 2).Address, Cells((foo / 100 Mod bar), 2).Address).Value = (foo / 100 \ bar) * 100 + 100
とかさ。
あとは自分で出来るでしょ。
>>637 B1:=INT(A1/300+(MOD(A1,300)>0))*100
B2:=B1-((A1+200)<(B1*3))*100
B3:=B2-($A$1<(B2*3))*100
とか?あんまきれいじゃないけど、割ってみて余りあったら100を処理する感じで。
400の場合も同じ考えでいけると思います。
642 :
641 :2005/06/17(金) 18:58:10
あ、なんか計算違うみたい。すまんです。
643 :
641 :2005/06/17(金) 19:01:20
B2:=B1-(($A$1+200)<=(B1*3))*100 だった。連投ごめん。
>>641 VBAって何処で身につけたの?
煽りとかじゃないので、良かったらレス下さい
641はVBA使ってないように見えるが
646 :
644 :2005/06/17(金) 19:13:49
>>643 B2は=INT(A1/300+(MOD(A1,300)>100))*100
B3は=INT(A1/300)*100
のほうが、シンプルじゃね?
648 :
647 :2005/06/17(金) 19:26:56
B3は =A1-B1-B2 の方がシンプルか・・・orz
649 :
617 :2005/06/17(金) 19:27:19
>>620 有難う御座います。
では、早速やってみますね!
650 :
629 :2005/06/17(金) 19:28:58
>>630 試してみたんだができねぇす・・・orz
B1=A1-B2-B3 B2=INT(($A$1-B3)/200)*100 B3=INT($A$1/300)*100
>>639 ふーん。
氏ねとか言いながらまだ人に教えてもらおうと。
だいたい634はエクセルの質問ですらないんでスレ違いでは?
どうしてもやりたきゃエクセルで表示させた上で画像扱いで処理。
エクセルともワードとも関係ない対処法。それ以上知らん。
>>639 データ系列の色を変える方法がわかっている(
>>632 )なら、
「塗りつぶし効果」ボタンから手作業で系列ごとに変更。
エクセル上でモノクロにしときゃどこにコピーしようと関係ない。
654 :
名無しさん@そうだ選挙にいこう :2005/06/17(金) 21:41:03
【1 OSの種類 / Excelのバージョン】 XP Excel2003 【2 Googleやヘルプでの検索キーワード】 index 単価計算 など 【3 VBAが使えるか】 いいえ 得 得 得 意 意 意 先 先 先 1 2 3 メーカー1 4 5 4 メーカー2 6 7 6 メーカー3 4 4 4 こういう表を作りました。データの意味は値引き掛け率です。 これを元に販売価格の計算をしたいのです。 やりたいことは 1、▼ボタンなどを押して、リストから得意先とメーカーを選択すれば掛け率が表示される。 2、その掛け率をもとに、セルに標準価格をどんどん打ち込んでいけば、その右側に販売価格が計算される。 です。 2はわかります。1はどうやったら実現できるでしょうか? INDEX関数というのを使ってデータを参照できそうだというあたりまで分かりましたが そこでお手上げです。
>>654 INDEXとMATCHの組み合わせ。
仮に654の表がA1:D4にあるなら、
=INDEX(B2:D4,MATCH("メーカー2",A2:A4,0),MATCH("得意先2",B1:D1,0))
といった要領。
>>655 わかりました! ありがとうございます。
658 :
630 :2005/06/18(土) 00:52:24
>>650 うちではできるけど。
どんな風になるの?
VBAでセルの値を変数に入れるとき、元の値ではなく、表示されている 文字列のまま入れる方法はありますか? 例えばセルA1に 2005/5/1 という日付データが入っていたとします。 このセルの書式が yyyy"年"m"月" で、表示が 2005年5月 の場合 A=Range("A1")だと、Aには元の2005/5/1が入ってしまいます。 これを表示されている 2005年5月 をAに入れるにはどうすればいいですか。
660 :
659 :2005/06/18(土) 02:12:11
自己解決しました。 A=Range("A1").text で思い通りの結果が得られました。
662 :
637 :2005/06/18(土) 12:15:20
>>640 >>641 >>647 >>651 今回は一番すっきりしている
B1=A1-B2-B3
B2=INT(($A$1-B3)/200)*100
B3=INT($A$1/300)*100
を使わせてもらいます。
テンプレに【VBAが使えるか】はい
と書いていましたが、関数で処理したかったのです
ありがとうございました
【1 OSの種類 / Excelのバージョン】 win98 excel2002 【2 Googleやヘルプでの検索キーワード】 イベント VBA 保護 【3 VBAが使えるか】はい(と言っても、まだ勉強を始めたばかりです) c23,c24,c25,c26を入力欄とし、$ab$24:$ab$25をリスト範囲とした入力規則を設定しています。 (「無効なデータが入力されたら…」のチェックは外し、例外データの入力も許可しています。) 上記入力欄以外にも飛び飛びで入力欄が有り(これらはリスト選択ではなく、直接入力)、Tabキー で移動するよう、入力欄は全てロック解除したうえでシートの保護を掛けております。 リスト範囲の値の場合や、例外データを直接入力する場合は問題ないのですが、リスト範囲に類似 した値を編集モードで修正したい場合、保護が掛かっていると修正が出来ません。 (例:ab24が「りんご」で、c23に「青りんご」と入力したい場合、直接「青りんご」と入力する事 は出来るが、リストで「りんご」を選択した後、編集モードで「青」を文頭につけたい。) その為、下記のコードでシート保護を解除する事で、編集モードにする事はできました。 (「改行が大杉」と怒られたのでレスを分割させていただきます)
664 :
663 :2005/06/18(土) 13:00:43
(続きです)Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False With Target If .Row = 23 And .Column = 3 Then ActiveSheet.Unprotect End If If .Row = 24 And .Column = 3 Then ActiveSheet.Unprotect End If If .Row = 25 And .Column = 3 Then ActiveSheet.Unprotect End If If .Row = 26 And .Column = 3 Then ActiveSheet.Unprotect End If End With Application.EnableEvents = True End Sub しかしこの場合、保護は解除されたままになる為、Tabキーでの移動が1セルずつとなり、次の入力欄 へ移動してくれません。 編集終了後、再度シート保護を掛ける場合はどのようなコードを書けばよろしいでしょうか?
666 :
663 :2005/06/18(土) 13:08:19
>>665 レスありがとうございます。
「ActiveSheet.protect」で良いと言う事はわかるんですが、
イベントプロシージャをマクロの記録で記述することが可能なんでしょうか?
667 :
663 :2005/06/18(土) 14:16:16
>>665 さんはいらっしゃらないようですので、他にお判りの方が
居られたらお願い致します。
「イベントプロシージャをマクロの記録で記述する方法」の回答ではなく、
「編集終了後に再度『ActiveSheet.protect』を設定するコード」のほうで。
668 :
663 :2005/06/18(土) 18:10:13
自己解決しました。 Worksheet_SelectionChangeイベントで、ターゲットセルの右隣のセルが アクティブになった時にActiveSheet.protectを設定しました。 お騒がせしました。
と、>663に軽くイヤミ言われた事にようやく気が付いた
>>665 が、怒りの余り妄想をほざいております(プゲラ
671 :
名無しさん@そうだ選挙にいこう :2005/06/18(土) 19:50:30
office xpの資格を取ろうと考えているのですが 最新ヴァージョンは2003のほうらしいので2003のソフトを 買おうか迷っています。 資格代+教材+ソフト代=55000円はかかるので悩んでいます。 XPと2003のシステム面での差はありますか? なければ特に買うのを控えたいと思うのですが使ったことがないので 良かったら教えてください。
672 :
名無しさん@そうだ選挙にいこう :2005/06/18(土) 20:07:03
>671 学生の知り合いに学生証借りて、エデュケーショナル版買え。 同じよ。
675 :
名無しさん@そうだ選挙にいこう :2005/06/19(日) 05:30:57
IFの条件にあったデータのみで、グラフを書きたいのですが、 条件に合わなかったセルが0と認識されてしまい、グラフに反 映されてしまいます。 IFの条件に合わなかった場合に、そのセルを0ではなく、未入 力セルとする方法を教えてください。
>>675 条件に合わない場合0ではなく、#N/Aにするようにif関数を
書けばいい。NA()をヘルプで調べろ
VBA上で {=SUM(IF((sheet1!$B$1:$B$100="ねこ")*(Sheet1!$A$1:$A$100=$A2),sheet1!C$1:C$100))} みたいな配列数式を計算することってできますか?
>>677 Dim i As Long, buf
With Worksheets("Sheet1")
'変数 i を1から100(1行目から100行目)までを繰り返し処理
For i = 1 To 100
'Sheet1の2列目(B列)の i 行が"ねこ"で
'Sheet1の1列目(A列)の i 行がA2と同じなら
If .Cells(i, 2).Value = "ねこ" And _
.Cells(i, 1).Value = Range("A2").Value Then
'Sheet1の3列目(C列)の i 行の値を変数に加算
buf = buf + .Cells(i, 3).Value
End If
Next i
End With
'結果を指定セルに入力
Range("A1").Value = buf
こんなかんじ?
679 :
名無しさん@そうだ選挙にいこう :2005/06/19(日) 21:51:22
【1 OSの種類 / Excelのバージョン】 XP/2000 【2 Googleやヘルプでの検索キーワード】 書式・文字修飾 【3 VBAが使えるか】いいえ 入力した数値の大小により文字修飾を自動でさせたいのです。 例えば、入力した数値が・・・ 80以上=「太字+赤色」表示。 79以下=標準の書式(=黒) という具合にです。 ある計算の答えを出すセルではなく、入力していくセルです。 よろしくお願いします。
681 :
679 :2005/06/19(日) 22:04:08
>>675 たとえばA1に入れる式として
IF(条件,A1,"")
で宜しいかな?
すんません、教えてください。 セルポインタ(アクティブセル)を移動するために、普段は上下左右のカーソルキーを 用いています。 ところが、数日前からカーソルキーを押すとワークシート全体がスクロールするように なってしまいました。希望としては固定したワークシート上をセルポインタが移動するように 戻ってほしいです。 どうかよろしくお願いします。
684 :
683 :2005/06/20(月) 02:45:25
自己解決しました。ScrollLockがいつの間にかオンになっていました。 お騒がせいたしました。
ver2002です。 Accessのformat関数みたいなものは無いでしょうか? A B 1 文字列 日付 というセルで、A1&B1といった結合をすると 文字列シリアル値になってしまって困っています。
>>686 help探すも見落としてました。thx!
688 :
名無しさん@そうだ選挙にいこう :2005/06/20(月) 18:05:16
エクセルXPを使っています。 質問なんですが、掛け算の結果小数点がでてしまっても、小数点第3位以降は切り捨ててしまいたいのですが、 どうすればいいでしょうか? 例えば1.802*0.363=0.654126ですが、0.654とさせたいんです。 四捨五入ではなく切り捨ててしまいたいんです。 宜しくお願いします。
【1 OSの種類 / Excelのバージョン】XP / excel2000 【2 Googleやヘルプでの検索キーワード】エラーバー 棒グラフ 【3 VBAが使えるか】いいえ 生物の実験やってるんですが、細胞Aと細胞Bに試薬ア、イ、ウをかけてそのときの 細胞内の物質Xの量の変化を見る、って実験を3回繰り返してやってるんですが、 データ系列1を細胞A、データ系列2を細胞Bとし、各項目(試薬ア、イ、ウ)ごとに Xの量の平均値を縦棒グラフで、標本誤差をエラーバーで表示するにはどうすれば よいのでしょうか。 Y誤差範囲でエラーバーを出してみると、一つのデータ系列全部が同じ幅のエラーバーを 出てしまいます。個別に幅を変える方法はあるのでしょうか。
>>688 ROUNDDOWN関数でできません?
一応ヘルプをご覧あれ
691 :
保存系 :2005/06/20(月) 19:05:32
【1 OSの種類 / Excelのバージョン】XP / excel2003 【2 Googleやヘルプでの検索キーワード】データの一部が保存できません 【3 VBAが使えるか】いいえ データ保存しようとしたら、 「データの一部が保存できません」 と出て、保存できません。どうか解決方法を教えてください。 よろしくお願いします。
保護が掛かってるとか
>>689 Y軸誤差を設定するところで、「固定」とか「標準誤差」とかあるでしょ。
そこの「指定」ってのを使います。
たとえば、棒グラフが三本あれば、D1,E1,F1にそれぞれに誤差データを入力して、
「指定」に =Sheet1!$D$1:$F$1 でOK
694 :
保存系 :2005/06/20(月) 19:34:04
>>692 保護を見ましたが、かかってませんでした。
リストが多く、またがってるからでしょうか?
695 :
689 :2005/06/20(月) 19:49:04
>693 アドバイスで解決しました。・・・「指定」も試したことあったんですが、 いままで棒一本ごとにいちいち誤差データ指定しようとしてたもんで失敗してました。馬鹿か俺?orz
696 :
保存系 :2005/06/20(月) 20:01:10
>>696 MSが確認している問題点で解決方法があれば公式に載るはず。
載ってないってことは解決方法が無いってことだね。
SPとかで対応されればそのページに載るはずだから、次のSPで対応されるのを祈りながら待とう。
現時点では入力規則を減らすなり連続領域に設定するなりして逃げるしか無いね。
698 :
688 :2005/06/20(月) 21:05:40
循環関数がどうのこうのといわれてできませんでした。 そのセルには既に掛け算の関数がはいっているんです。 どうすればいいのでしょうか?
>>698 掛け算の関数とはどんな関数ですか?
「関数」と「数式」の違いはわかりますか?
700 :
名無しさん@そうだ選挙にいこう :2005/06/20(月) 21:49:32
Excel2003です。 折れ線グラフで、X軸の数値が1〜50まであるときに、 X軸の数値が10のところにだけ縦に一本区切りをいれたいのですが、うまくできません。 教えてください。お願いします。
701 :
700 :2005/06/20(月) 21:59:03
すいません。 図形描画で直線を引くことで自己解決しました。スレ汚してごめんなさい。
702 :
698 :2005/06/20(月) 22:01:23
掛け算の数式でした。すいませんでした。
>>702 今までに「関数」は使われたことはありますか?
おありなら、
>>690 さんのおっしゃるとおり、
=ROUNDDOWN(〜〜〜〜)で出来るかと。
※(〜〜〜の部分の引数は、ヘルプをご覧ください。)
704 :
702 :2005/06/20(月) 22:24:17
ヘルプは読んだのですが、もしかしたら引数の入れ間違いかもしれません。 ROUNDDOWNの関数を選択したら2つ数字をいれることができるボックスが出現すると思いますが、 上と下にはそれぞれ何をいれたらいいのでしょうか? 上には対象のセル、下には3(小数点3位以降を切り捨てたいため)と入力していました。これでエラーがでてしまいます。 アドバイスお願いします。
>>704 なるほど、わかりました。
例えば、アナタがおっしゃっている「対象のセル」
に、アナタが例に挙げている
「=1.802*0.363」と言う式が既に入っている状態で、
そのセルを対象にしているわけですね?
excelに「循環参照」と怒られたと思いますが。
仮に対象のセルがB2だとすると、B2に以下のように
入れてください。
=rounddown(1.802*0.363,3)
706 :
705 :2005/06/20(月) 22:45:50
数式パレット(アナタのおっしゃる「2つ数字を入れるボックスの事です) を使用して入力する場合は、 上には「対象のセル」ではなく、「計算したい式」 下にはあなたのご想像通り「3」でOKです。
さらに補足すると、 1.802と0.363がそれぞれA2,B2に入っていた場合は、 =RONDDOWN(A2*B2,3) です。
>>707 はややこしいですね。
「1.802と0.363がそれぞれA2,B2に入っていて、
C2にその二つを掛け算したものを小数点第三位で
切り捨てたい場合」と訂正します。
709 :
677 :2005/06/20(月) 23:16:49
>>678 できました!ありがとうございます。
でも実際は広範囲に渡って入力しなくてはならない為
Dim i As Long
Dim buf As Long
Dim rw As Integer
Dim cl As Integer
With Worksheets(1)
For cl = 2 To 18
For rw = 2 To 32
For i = 1 To 1000
If .Cells(i, 2).Value = "ねこ" And _
.Cells(i, 1).Value = Cells(qq, 1).Value Then
buf = buf + .Cells(i, cl + 1).Value
End If
Next i
Cells(rw, cl).Value = buf
buf = buf - buf
Next rw
Next cl
End With
End Sub
こんな感じに。
これなら無理やり配列数式を作って
AutoFillでやった方が高速だった・・・orz
もし何か良い方法があったらご教授下さい。
>>709 「.Cells(i, 1).Value = Cells(qq, 1).Value Then」のqqって何?
コレが定数なら激しく無駄なことしてるね。
まず「For rw = 2 To 32」で31回のループ処理をしてるが、
これは1回で充分。なので最低でも処理時間を約30分の1に出来る。
あとは条件要素に変数iしか使ってないなら、いちいちセルを読みに行かないで
条件結果を配列に入れた方がいいかも。
Dim foo(1 To 1000) As Boolean
Application.ScreenUpdating = False
With Worksheets(1)
For i = 1 To 1000
'行単位の条件結果を配列にBoolean型で格納
foo(i) = .Cells(i, 2).Value = "ねこ" And .Cells(i, 1).Value = Cells(1, 1).Value
Next i
For cl = 2 To 18
buf = 0
For i = 1 To 1000
'前処理の条件判断でTrueが返った行のみを加算
If foo(i) Then buf = buf + .Cells(i, cl + 1).Value
Next i
'2〜32行目まで一括して入力
Range(Cells(2, cl).Address, Cells(32, cl).Address).Value = buf
Next cl
End With
Application.ScreenUpdating = True
具体的に何がやりたいのかよくわからないから要望とは違ってるかもしれないけど
qqが定数なら結果は同じになるはず。(qqがrwの間違いだと、事情が変わってくる。)
qqを1に置き換え、Timer関数で計ってみたところ、
結果は同じで
>>709 のコードでは約32秒、上記のコードでは約0.2秒でした。
711 :
677 :2005/06/21(火) 00:43:03
>>710 ありがとうございます。
ただご指摘の通りqqはrwの間違いでした。
申し訳ない。
書いていただいたものを参考に自分でももう少しいじってみます。
>>711 となると、それほど無駄な処理があるわけじゃないから
激的には早くならないけど、↓で32秒→8秒くらいに短縮できる。
Dim foo(1 To 1000)
With Worksheets(1)
For i = 1 To 1000
If .Cells(i, 2).Value = "ねこ" Then foo(i) = .Cells(i, 1).Value
Next i
For cl = 2 To 18
For rw = 2 To 32
buf = 0
For i = 1 To 1000
If foo(i) = Cells(rw, 1).Value Then
buf = buf + .Cells(i, cl + 1).Value
End If
Next i
Cells(rw, cl).Value = buf
Next rw
Next cl
End With
但し結果を返すシートのA2:A32の範囲に空セルが無いことが条件。空セルがあるなら
If .Cells(i, 2).Value = "ねこ" Then foo(i) = .Cells(i, 1).Value
を
If .Cells(i, 2).Value = "ねこ" Then
foo(i) = .Cells(i, 1).Value
Else
foo(i) = "適当な文字"
End If
という感じでコード的にはもう一手間増えるが処理時間はほとんど変わらないだろう。
"適当な文字"の部分はfooの型によっては数値でも構わないが、Sheet1の1列目にあり得ないものを指定すること。
713 :
名無しさん@そうだ選挙にいこう :2005/06/21(火) 01:33:51
【1 WINXP/ Excel2000】 【2 Googleやヘルプでの検索キーワード】 串刺しSUM 【3 VBAが使えるか】いいえ sheet AからBのA1セルを串刺しでSUMする =SUM('A:B'!A1) のは分かるんですが、 シートを順次作っていくとき、自動的にsheet Aから最新sheetまで 足すっていうことってできるんでしょうか? =SUM('A:最新sheet'!A1) みたいなことです。 自動的にfile名をSUMの中に入れたいです。 =SUM('A:end sheet'!A1)のように。 file の最後にend sheet のようなものを作ってやりたくはないです。
>>713 > file の最後にend sheet のようなものを作ってやりたくはないです。
なんで?
ウザイってだけならend sheetを非表示にすればいいだけでしょ。
空シートなら容量もほとんど食わないし。
VBA使ってないならシート数がひとつ増えても実用上問題が起きることなんて無いと思うけど。
VBA使ってるとSheets.Countの値が変わったりするけど、わかってればいくらでも対処できるし
そもそもVBA使えるならVBAで最終シート名を取得して数式を組んだり、VBAで結果を出したりできる。
それともend sheetを作ることによる具体的な不都合があるの?
715 :
713 :2005/06/21(火) 03:03:43
>ウザイってだけならend sheetを非表示にすればいいだけでしょ。 sheetって非表示にできるんですか。初めて知りました。 それなら問題はないです。
716 :
713 :2005/06/21(火) 03:47:22
>>715 取り消し
よく考えたらやっぱりendは使えませんでした。
sheet Aに =A!a1
sheet Bに =A!a1+B!a1
sheet Cに =A!a1+B!a1+C!a1
というように各シートにそれまでのシートの累計を出すセルがあるので自動的に
=SUM('A:最新sheet'!A1) が作れるようにしたいです。
=SUM('A:end sheet'!A1)にすると全部同じ値になってしまうです。
>>716 =SUM(INDIRECT("'A:"&RIGHT(CELL("filename",A1),1)&"!A1"))
でいけるかなと思ったんだけどなんかエラーになるね。
="A:"&RIGHT(CELL("filename",A1),1)&"!A1"
は、A・B・Cとシートがある場合、
Bシートでは「A:B!A1」、Cシートでは「A:C!A1」を返すから理論的には行けるような気がするけど
=SUM(INDIRECT("'A:B!A1"))とやってもエラーが出るので
INDIRECT関数は複数シートに跨る参照は正しく返せない仕様なのかな?
「A:」の部分をドライブレターとして認識してるみたいでFDD読みに行ったりしてるし。
とりあえずユーザー定義関数なら
Function SheetSUM(Rng As String) As Double
Dim i As Long, buf As Double
For i = 1 To Application.Caller.Worksheet.Index
buf = buf + Worksheets(i).Range(Rng).Value
Next i
SheetSUM = buf
End Function
を標準モジュールにコピペして
=SheetSUM("A1")
で、先頭シートからこの関数を入れたシートまでの指定セルの合計を出せるけど
マクロを使うのを禁止されてるとかなら、俺はお手上げ。
718 :
606 :2005/06/21(火) 11:29:43
【1 OSの種類 / Excelのバージョン】 2000/Excel2000
【2 Googleやヘルプでの検索キーワード】 ブック 参照
【3 VBAが使えるか】いいえ
>>611 さん
ずっと書き込みエラーで御礼が遅くなりました。
ありがとうございました。
色々と組み合わせて他ブックのセルの参照をするのにINDIRECTを使おうと
思ったのですが、これだと参照先のブックを開いておかないと値を見ることができ
ませんでした。普通のリンクであればブックを開く時に再計算してくれるのですが、
同じようにやる方法はあるでしょうか?713に近い気もするのですが、717さんの
関数をどう改造すれば良いのかイマイチわからないです…。
ちなみに、こんな式を組んでいます。
G42は「2005/06/21」のように年月日を入れてます。ファイルを経理200505.xlsの
ようにしてあるので、それを見るように組んだつもりです。
RC14は前月の値が入っています。
=IF(MONTH($G$42)=1,INDIRECT("'[経理" & (YEAR($G$42)-1) & "12.xls]電気代'!RC14",FALSE),INDIRECT("'[経理" & YEAR($G$42) & TEXT((MONTH($G$42)-1),"00") & ".xls]電気代'!RC14",FALSE))
よろしくお願いします。
719 :
名無しさん@そうだ選挙にいこう :2005/06/21(火) 11:38:27
【1 OSの種類 / Excelのバージョン】 2003 【2 Googleやヘルプでの検索キーワード】 フィルタ エクセル 合計 【3 VBAが使えるか】 いいえ オ−トフィルタ実行後に抽出されるデ−タの合計値を出したいです。 もとのリストにもサム関数を入れてあるのですが、オ−トフィルタを 実行してしまうともとにあるサム関数がきかなくなります。 そこで、サブト−タル関数を抽出されたデ−タの真下にうめこむと 合計値を出すのですが、別の条件で抽出されたデ−タになると 正しい合計値を出しません。 抽出するたびにサブト−タル関数を抽出されたデ−タの真下に 埋め込んで合計値を確認しないといけません。 一回埋め込めば後はいかなる条件で抽出したデ−タであろうとも 合計値を出すようにするにはどうしたらよろしいでしょうか?
今エクセル2000使っています。 表を作成するに当たって表全体を罫線で囲むのですが 罫線の太さがちょうど良い物がありません。 実線で細いものが欲しいのですが、最新のエクセルでは罫線の太さ・種類が増えていますか? 増えていれば購入したいのですが・・・
> 実線で細いものが欲しいのですが、最新のエクセルでは罫線の太さ・種類が増えていますか? 増えてない。 2002以降だと斜線や中線のツールアイコンが増えたけど、太さは変わりなし。
722 :
720 :2005/06/21(火) 16:45:50
ありがとうございます。 このまま2000を使い続けます!
>>718 他の「開いていないブック」を参照するときにINDIRECTは使えません。
これを実現するためには、ちょっと回りくどいやり方ですが
○今のブックにシートを作成する(例200505)
○作ったシートに外部参照で200505.xlsの必要なシートを外部リンクする
こうしておけば、シート200505は相手先ブックが開いていなくても最新状態にできます。
(外部リンク更新にしておく必要あり)
あとは、今のブック内でのINDIRECT関数を変更します。
今は見に行くブックを変更していますが、見に行くシートを変更するように修正します。
これでどうでしょう?
>>719 SUBTOTALを表の上に入れておく。
>>719 SUBTOTAL関数を入力しておいて、データ範囲だけを選択してからオートフィルタをかける。
>>719 バージョン2003ならいちいちSUBTOTAL関数を入れなくても、
データ>リスト>リストの作成
データ>リスト>集計行
とやって、集計行を出して使えばいいような気もする。
727 :
ど素人 :2005/06/21(火) 21:52:16
2003での特殊記号入力について教えてください。 通常は、挿入→特殊記号→で選択してます…●丸数字1〜9をダイレクトに入力する方法はありませんか? 宜しくお願いします
>>727 ・IMEの辞書に登録
・オートコレクトに登録
どちらでもお好きな方を。
729 :
名無しさん@そうだ選挙にいこう :2005/06/21(火) 22:09:09
いくつかのセルに名前を設定してあるシートがあります。 そのシートをコピーして名前の設定ごと貼り付けることは出来るのでしょうか? 調べてみたのですがよくわかりませんでした。 シートの挿入ではなく、コピペで行いたいのですが・・・。 よろしくお願いします。
名前の定義はセル以外の場所に保存されてるから セル範囲選択でのコピペじゃ無理。
731 :
ど素人 :2005/06/21(火) 22:31:19
何分にも、ど素人なので登録方法を教えてください
732 :
名無しさん@そうだ選挙にいこう :2005/06/21(火) 22:48:16
733 :
729 :2005/06/21(火) 23:21:09
>730 そうなのですか、シート挿入で処理できる方法を考えてみます。 ありがとう!
734 :
713 :2005/06/21(火) 23:23:26
>>717 お手数かけました。ありがとうございます。
技術的な事ではないのですが、Excelの仕事を請け負った時に 金額設定ってどんな基準で決めるのが良いのでしょう? もちろん、内容によってなのは分かっているのですが簡単な マクロを2〜3個作ってあげてその他の入力が50時間くらいだ といくらぐらい請求できるものですかね?
736 :
名無しさん@そうだ選挙にいこう :2005/06/22(水) 20:05:21
【1 win2000 / 2000だと思う】 【2 検索 シート 追加 vba など】 【3 VBAが使えるか】はい(現在勉強中) 皆様はじめまして。 さっそくVBAの話になるのですが、 現在、仕入先別の仕入れ表を作成しているのです(勉強中) 上手く説明できないのですが、よろしくお願いします<(_ _)> 仕入先別にシートを変えていて、シートが足りない場合のみシートを増やす。 (例・仕入先は5件あるが現在シートは4つしかない) というのはどのようにすればいいのでしょうか? 分かりにくくてすいません(;´Д`A ```
【1 OSXP、Excel2002】 【2 Googleやヘルプでの検索キーワード】 【3 VBAが使えるか】いいえ 知り合いが会社のパソコンでマウスを動かすと所々でカーソルを合わせるだけでテキストボックスができてしまう! と言ってたのですが、直す方法はあるのでしょうか? 私も現物を見たわけではないので、詳しい事は言えませんが (数式などは入ってないセルでマクロは分からないみたいです。) コピーを取って貼り付けて使ってもやはり、出て来るみたいです。 そういう設定はあるのでしょうか?
>>736 分かりにくいのですいません(;´Д`A ```
要望は具体的にどうぞ。
>>737 マクロのイベントで表示させてるんだろうね。
たとえばシートモジュールに
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then InputBox "なにか書けやゴルァ!!"
End Sub
って書けば、A1を選択しただけでテキストボックスが表示される。
とりあえずシートタブを右クリックして「コードの表示」を選択し
表示されたものと、その左のツリーにあるThisWorkbookになにか書いてあったら
それを消せば表示されなくなると思う。
ただ、マウスカーソルを合わせるだけで動くイベントは無かったような気がする。
最低でも一回クリックして選択しないと普通は動かないと思うけど。
何にしても本人か、そのシートが手元にある人が出てくるのが筋だろ。
739 :
名無しさん@そうだ選挙にいこう :2005/06/22(水) 21:46:52
【1 98 2000】 【2 】 【3 いいえ】 くだらない質問だったらすみませんが、 わからないので教えてください。 ↓のようなデータを A列 1a 2a 3b 4c 5a 6b A列は何種類あるか(この場合"3")を 表示させる関数ってありますでしょうか? よろしくお願いします。
>>739 そういう関数は無い。
ソートしてからなら数式で出すことは可能。
741 :
名無しさん@そうだ選挙にいこう :2005/06/22(水) 22:21:42
>>739 =COUNTIF(A1:A6,"=a")
>>741 何個あるかじゃなくて何種類あるかだぞw
はじめて投稿します。 あるセルの値を他のExcelファイルのセルからひっぱってくる場合、 「=[〜.xls]・・・!$G12」(〜.xlsはファイル名、・・・はシート名)のように 書きますが、〜を他のセルから持ってきたり、・・・の部分に実際の シート名を入れたりするにはどうすればよいのでしょうか。 分かりにくいかと思いますが、よろしくお願い致します。
>>743 > 〜を他のセルから持ってきたり
>>6 = FAQ: 参照するセルをセルの値で指定する =
> ・・・の部分に実際のシート名を入れたり
「実際のシート名」って何?
そのリンクを入れるシートの名前?
745 :
743 :2005/06/22(水) 22:38:00
>「実際のシート名」って何? >そのリンクを入れるシートの名前? 分かりにくくてすいません。まさにリンクを入れるシートの名前です。
746 :
名無しさん@そうだ選挙にいこう :2005/06/22(水) 22:41:40
>>740-742 どうもありがとうございます。
やはり関数ではなさそうですね・・・。
別の方法を考えます。
>>745 =RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1),1))
=MID(CELL("filename",A2),FIND("]",CELL("filename",A2),1)+1,31)
で、この式を入れたシートの名前が返る。(どっちでも好きな方を)
"A1"の部分は実在するセルならどこでもいいが、この式を入れるセル以外を指定すること。
>>747 ありがとうございます。実はシート名を参照する方法自体は
分かっていたのですが、
>>743 の「=[〜.xls]・・・!$G12」を具体的に
どう書けばよいのか分からないのです。
例えばA1のセルにシート名が表示されているとして、
「=[〜.xls]A1!$G12」とすると、不正な外部参照〜と怒られてしまいます。
>>748 =INDIRECT("["&ブック名を入れたセル&"]"&シート名を返す式&"!$G12")
言うまでもないけど、そのブックを開いてる必要がある。
>>736 まさかとは思うが、シートを増やす方法を訊いているの?
挿入 → ワークシート
これを知っていれば、VBAでシートを増やす方法を訊くとは思えないが…。
シートが足りる、足りないを判断する材料は?それが明示されなければ答えようがない。
VBAで最後尾にシートを入れたければ、After:=Sheets(Sheets.Count) を付加。
751 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 00:59:45
質問です。 Sub Test01() call Test02 MsgBox J End Sub ---------------------------------- sub Test02() dim J As String J = "AAAAA" End Sub みたいな感じでAAAAAを表示させるにはどうしたらいいの?
Functionで返値取得すればいいじゃない
dim J As String ---------------------------------- Sub Test01() call Test02 MsgBox J End Sub ---------------------------------- sub Test02() J = "AAAAA" End Sub ↑どちらでも ↓お好きな方を Sub Test01() MsgBox Test02 End Sub ---------------------------------- Function Test02() As String Test02 = "AAAAA" End Function
>737 コメントではないのでしょうか・・・?
755 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 04:28:36
>>739 B1に =COUNTIF(A$1:A1,A1)=1 と入れ、下にコピーする。
これで既出でない場合のみTRUEになるので、
どこか別のセルに =COUNTIF(B:B,TRUE) と入れて
TRUEの数を数える。
作業セル使う方法ならいくらでも方法はあるね。 COUNTIF使う方法以外にもMATCH関数のエラーを数えても 何種類あるか出すことは出来るし。 また、ソートすれば作業セル使わずに配列式1つで出すこともできる。
757 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 09:50:01
超初心者ですみませんが・・・ エクセルのファイルがアイコンのクリックなどで全く開きません。土台のグレーの画面になるだけです。 左上のファイルから開いていくとOKなのですが、メールの添付ファイルもいちいち保存してから ファイルを選択し開いていくしかなく、とんでもなく面倒臭い状態になってしまっています。 直す方法が分からなくて困っています。助けてください。
758 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 13:30:59
こんな事って可能ですか? セル罫線のみをロック(変更防止)する事は、出来るのでしょうか?
759 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 13:51:17
価格表の作成に、関数?を使っています。 例えば、定価1000円*32%=320円みたいな感じです。 あるパソコンでは、掛け率32の数値を、31に変更しても310円になりません。 しかし、そのExcelシートをメールで転送して、他のパソコンで扱うと 31に変更すると、きちんと310円になります。 どうして、他のパソコンだときちんと計算されるのに、あるパソコンでは きちんと計算式が有効にならないのでしょうか? 設定の問題でしょうか? 宜しくお願いします。
760 :
759 :2005/06/23(木) 13:54:27
>>757 それはツールバーが表示されていないということでしょうか?
それならば、メニューの 表示>ツールバー> で表示させたいツールバーにチェックを入れれば
いいと思います。
761 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 13:54:50
【1 OSの種類 / Excelのバージョン】 winXP / excel2000 【2 Googleやヘルプでの検索キーワード】 excel 入力 候補 プルダウン 文字列 【3 VBAが使えるか】いいえ ある列だけ、入力文字列をプルダウンメニューから選択してできるようにしたいんですが そのようなことはできますか? オートフィルタがにたような操作だったので入力でも同じ感じの操作があるのかなと思いまして。 具体的には、あらかじめ「にんじん、じゃがいも、たまねぎ、ピーマン」等複数の文字列を登録しておき、 一行に金額、個数等を入力していって商品名はプルダウンメニューから入力したいんです。 後でソートしてまとめたりする時に、入力した人によって漢字、カタカナ、ひらがなの混在を防ぐのが目的です。 よろしくお願いします。
762 :
759 :2005/06/23(木) 14:03:13
>>761 それは、メニューのデータ>入力規則で設定できます。
データの入力規則の設定タブで
→入力値の種類で"リスト"を選択
→すると、元の値の欄が入力できるようになるので、
その欄に、 にんじん,じゃがいも,たまねぎ,ピーマン と項目を半角のカンマで区切って入力し
OKボタンを押してください。
入力は、直接項目を入力しなくても、表などのリストから範囲を選択する方法でも構いません。
763 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 14:07:00
プールダウン?リストなら出来ます。セルを選択してデータ→入力規則→リストで設定できますけど…
>>761 余談ですが、キーワードを「Excel 入力候補」だけにしてぐぐると
一発でお求めのものが出てきますな。
キーワードは多ければいいというものじゃないです。ご参考まで。
765 :
761 :2005/06/23(木) 14:22:27
>>762 ,763
こんな簡単にできることだったんですね。
うまく設定できました。
ありがとうございました。
>>764 キーワード減らした方が逆にいいとは…
いきなり多くのキーワードで検索するより徐々に絞り込んだ方がいい場合もあるんですね。
勉強になりました。
766 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 16:08:06
日付関数を教えて下さい。=TODAY()で本日の日付を表示できますが…翌日の日付を表示する関数 ご存じでしたら教えて下さい。表示は、1月1日(月)としたいです。
=TEXT(TODAY()+1,"m月d日(aaa)")
768 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 16:41:08
sageさん ありがとうございました
769 :
名無しさん@そうだ選挙にいこう :2005/06/23(木) 17:32:48
指定ページだけを印刷したいのですが、どうすればよいのでしょうか? 例えば、1,4,6ページのみを印刷したい場合です。
>>769 印刷 > 印刷範囲 > ページ指定
因みにとびとびのページを一括印刷するならVBA使うしかない。
771 :
769 :2005/06/23(木) 17:59:30
ありがとうございます。VBAは良く分からないので、手動で印刷します。
>>769 印刷したい領域を複数選択
↓
ファイル→印刷範囲→印刷範囲の設定
↓
印刷
これで複数選択したところがページ毎に印刷される,,,,,はず
一応、プレビューで確認よろ
>>769 飛び飛びの範囲は固定的?
そんなことはないのだろうが、もし予め印刷するページが決まっているなら
「ファイル」→「ページ設定」→「シート」の「印刷範囲」の所に
カンマで区切って印刷範囲を複数指定できます。
例えば、A1:E28,A30:E33 みたいに。
ページ1の範囲,ページ4の範囲,ページ6の範囲
と言った具合にカンマ区切りで指定すれば、飛び飛びで印刷できます。
しかしこの方法はあまり汎用性がありませんが…
>>757 亀レススマソ
新規でExcel起動後、
ツール→オプション→全般の「他のアプリケーションを無視する」のチェック有無を確認してみて下さい。
チェックがあれば外す→OKで、後は今まで通りアイコンから開けるようになると思います。
こんなことは可能でしょうか。 ある列に退勤時刻が格納されていたとして、最終退勤時刻を算出したいのと、 最終退勤時刻のセルの背景色を変更する、です。 よろしくお願いします。
>>775 深く考えず思いつきで申し訳ないですが。
B列に退勤時刻が格納されているとして、
C列にRANK関数で順位を出して、
B列に条件付書式で「=$C1=1」の場合に
「パターン」の色を変更。
>>775-776 退勤時刻が0時を過ぎないなら、最終退勤時刻の算出は
MAX関数で可能。
背景色変更は条件付き書式+MAX関数
0時を超える退勤時刻が入る場合は少々工夫が必要。
ファイルAにシートBが存在するかどうかを調べることは可能でしょうか。
ファイルAのシートBのA1を参照して、 エラーが返れば存在しない Null値も含めて値が返れば存在する。
>>779 ありがとうございます。申し訳ないのですが、ファイルAのシートBのA1を参照する、
というのは具体的にどう書けばいいのでしょうか。
初心者なもので、コードのイメージが浮かびません。
すいませんが、もう少し付き合ってください。
コードって。。。w VBAでやるつもり?
782 :
780 :2005/06/23(木) 23:56:13
/)_/) ( < ゚ _・゚> .。oO( ノ) / | ( \(_,,,_,,,) ( ( ( ・回答された内容が理解できなくてもすぐに聞き返さず、自分で調べる努力をしよう。
>>783 多分君はスレの流れについていけていない。
まあ論理的に考えれば、VBA使う前提の質問で当たり前だ罠w 使わず調べるなら、 「目でシートタブを見る。存在していれば視線にシートBがうつる」 が回答になる罠w
>>785 なぜ末尾に「w」が付いているのですか?
また、「罠」はどういう意味で使われているのですか?
>>784 それは784のことだね。
>>780 開いてるブックなら
=IF(ISNUMBER(ERROR.TYPE(INDIRECT("'[ブック名]シート名'!A1"))),"無いよ","有るよ")
とか。
つーかVBAでの回答の可否もテンプレで書かせようよ。
ホントはあんまりテンプレの項目増やしたくないんだけど、
VBA使えるっていうからVBAで処理する方法教えたらワークシート関数で出す方法がいいとか、
VBA使えないっていうから複雑な数式組んでやったら、コード書いてくれるならVBAでも良かったとか
回答者に無駄なことさせる場合があるので。
本当はこんなことはテンプレが無くても書くべきことなんだけど、
当たり前のことが出来ない質問者が多いからテンプレが必要になるのは仕方ないよね。
まあ、必要な情報が書いて有ればテンプレ通りじゃなくてもいいと思うので
初回質問時のテンプレ使用は強制せず、テンプレ書いて無くても必要な情報が書いて有れば答える、
情報が足りなければ強制的にテンプレ書かせる、って方向がいいかと。
【1 OSの種類 / Excelのバージョン .】 Windows** / Excel**
【2 Googleやヘルプでの検索キーワード .】
【3 VBAが使えるか / VBAでの回答の可否】はい・いいえ / 可・否
まあ、テンプレ無いと必要な情報も書けないような奴は、この程度のテンプレ書かせたところで
質問内容や要望が曖昧だったりで、結局いろいろと聞き返さなくちゃならなかったりするんだがな。
>>787 あれる原因の全てが「書かせる」という強制の姿勢
というよりも、上から物を言う姿勢であるとおわかりですか?
たしかにVBAをきっちり理解してる回答者はすごいと思うよ。
それは無条件に認める。
俺も簡単なコードなら回答したことあるけど、複雑なのは答え
られないから。
けど、回答者も、なんらかの目的があってこのスレにいるわけだよね?
「困ってる人の役に立ちたい」とか、「知識を見せ付けたい」とか、
「人に感謝されるって気分がいい」とか、回答者によって理由は
色々だとは思うけど、質問する人がいなかったら回答も出来なくなる事は
事実。質問者も回答者もフィフティーフィフティーの関係が理想だと思う。
ま、あなたは文句言いながらも聞き返して回答してる優しい人だとは思うけどね、
最後の段落から解釈すると。
>>787 >テンプレで書かせようよ
人任せじゃなくて次スレはお前が立てような。
> ほっといてやれって。
と言いながら、自分も放っておけなかった奴
>>790 そして俺も…
VBAでユーザー定義関数を作ってますが、既存のエクセルの関数に較べて 作動が非常に遅いです。VBAはコンパイル不能とのことですが、 VB6.0かVB.NETを使って関数をコンパイルする事は不可能でしょうか? (環境、xp、Officel2003)
> 作動が非常に遅いです。 無駄なことをしてる可能性もあるが、 無駄を無くしても同じ処理でワークシート関数より遅いのは仕様です。 その代わり複雑な任意の処理が出来るのですから。 > VB6.0かVB.NETを使って関数をコンパイルする事は不可能でしょうか? dllでも作って参照すれば? とりあえずそのユーザー定義関数と、その関数の動作条件をここに書けば 多少なりとも修正してくれる人が居るかもしれませんけどね。
>>793 朝早くありがとうございます。
DLLの参照の方は調べてみます。
あと データを配列に入れて VB.NETだけで計算してExcelに出力する方法
で逃げる事も考えてます。
【1 OSの種類 / Excelのバージョン】 XP 2003 【2 Googleやヘルプでの検索キーワード】 グラフ データ範囲 複数 シート 【3 VBAが使えるか】少し 複数のシートのデータを、1つの系列のグラフとして作成するには、 どうすればよいのでしょうか
796 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 10:33:35
サーバーからLANで見に行ったExcelシートをクライアントから 削除してしまいました。どちらのPCにもデータは残ってないのでしょうか?
797 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 10:45:11
駄目だぁーーー!!教えてください。 a2からa9までのセルに土 日 土 日 金・・・ というように 書式設定にて曜日(aaa)で表示させています。 a1のセルに COUNTIF(a2:a9,"土")で 土曜日の回数をカウントしたいのですが 出来ません。 多分、書式の設定で表示させているから、カウントしないと思うのです。 そこで、カウントさせるにはどのような方法がありますでしょうか? ご教授下さい。
>>797 作業列にWEEKDAY関数で曜日に対応する数値を出し、
それをCOUNTIF関数で数える。それしか思いつかん。
>>795 データをひとつのシートにまとめてそれをグラフにする。
リンク貼り付けを使えば元データとの同一性は保たれるので問題ない。
>>789 現行スレみたいにある種の意図を狙ってわざわざスレ立てする機会を狙った馬鹿がでしゃばらなきゃ、俺が次スレたてるさ
このスレの諸問題は前々スレから引きずったままだからな
テンプレ厨よ、次はスレ立てすんなよ
> 俺が次スレたてるさ m9(^Д^)プギャー
> 俺が次スレたてるさ m9(^Д^)プギャー
excel2003です 非常に初歩的な質問で申し訳ないのですが A列のデータを使って計算した結果をB列に表示させています。 A列はデータが有るセルと無いセルがあるのですが、 データが無いセルの場合は計算結果を無表示にする方法をお教えください。 よろしく御願いします。
805 :
803 :2005/06/24(金) 16:47:59
すいません。 ありがとうございました。
>>803 0表示を消すとかでよければ、
ツール→オプション→表示→ウィンドウオプションの「ゼロ値」のチェック外す
これじゃダメ?
データの入力セルが二つあり、そのいずれかに一つだけ入力します。 各々のデータは別の計算式で計算し、 計算結果を同じセルに表示させたいのですが、 どのように行えば良いですか?
>>806 ありがとうございます
入力は0でも計算結果は0にはなりませんので無理そうです。
>>797 作業セル使いたくなければ、配列数式で
=SUM(IF(TEXT(A2:A9,"aaa")="土",1,0))
=SUM(IF(WEEKDAY(A2:A14)=7,1,0))
とか。
>>807 IF関数使う。
たとえばA1とA2が対象セルなら
=IF(ISBLANK(A1),A2+5,A1*5)
とすればA1に値が有るときは、A1の値に5を掛け、
A2に値が有るとき(A1が空欄の時)は、A2の値に5を加算する。
A
1| 3
2|
なら結果は 3*5 で 15
A
1|
2| 3
なら結果は 3+5 で 8
A1、A2両方とも空欄の場合や両方とも値がある時に結果に空欄を返したければ
=IF(COUNTA(A1:A2)=1,IF(ISBLANK(A1),A2+5,A1*5),"")
とか。
810 :
807 :2005/06/24(金) 18:16:01
811 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 18:21:55
コマンドボタン作って、そのボタン押したら、その時の時間セルに入力させたいんだけど、 どうやればいいんです? ボタン作るのは、出来るんだけど、その後が分かりません。
>>811 ActiveCell.Value = Time
とか。
アクティブセルではなく、任意のセルに入力したいなら
Range("A1").Value = Time
表示形式を指定したいなら
ActiveCell.NumberFormatLocal = "h:mm"
ActiveCell.Value = Time
フォームのボタンなら「右クリ > マクロの登録 > 新規作成」で上記コードを貼る
コントロールのボタンなら「右クリ > コードの表示」で上記コードを貼る
813 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 19:04:40
ありがとう。でも、エラー・・・
814 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 19:17:15
ActiveCell.Value = Now() Selection.NumberFormatLocal = "h:mm" これでいけただず。やれやれ。
>793 >無駄を無くしても同じ処理でワークシート関数より遅いのは仕様です。 その記述はどこに書いてありますか?
>>800 お前が立てて問題が改善されなかったらどうする?
792では無いだろうけど、回答にソースを求めるくらいなら 人に聞かず自分で調べろ。
>>816 >>1 の文章をまともにして、テンプレ強制をはずせば不毛な争いは減ると思う
>>818 ほんと?ちょっと叩き台出してくれない?
つか、テンプレなんて普通よまねーだろ。暇じゃねーんだ。
>>816 お前らは俺が聞いたことに適切に回答するだけでいいよ。
何難しく考えてんの?
は?結局無理なのかよ
普通にコピー&張付けをする場合(張付け先の書式に合わせるを使用しない時)罫線がコピー元とコピー先が違うと、崩れてしまいます(>_<)この様な時 コピー先の罫線を崩さない方法があれば 教えてください_(._.)_ 若葉マークの為 詳しく お願い致します。
>>824 どうしたの?
>825
形式を選択して張り付け > 罫線を除くすべて
とかでいいんじゃないの?
827 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 22:08:11
お恥ずかしい質問で恐縮なんですが…『罫線を除く全て』って、どういう手順でするのですか?? コピー&張付け 張付け先の書式に合わせるは、分かるのですが(-_-;) お手数ですが、詳しく 手順を教えてください_(._.)_ 小学五年なんです(-_-;)
>>827 範囲選択 > コピー > コピー先選択 > 右クリック
形式を選択して貼り付け > 「形式を選択して貼り付け」ダイアログが表示される
張り付け-----
・ 罫線を除くすべて
演算--------
・ しない
で「OK」をクリック
Excelのverによっては出来ないかも知れないけど
ver書いてないから(゚听)シラネ
【1 OSの種類とExcelのバージョン】 XP 2000 【2 Googleやヘルプでの検索キーワード】 データ集計 【3 VBAが使えるか】 ? どなたか親切な方教えてくださいませ。 現場名とその担当者という1000件超のデータがあり、各担当者が 何件の現場を持っているかというわかりやすい表を作成したいのです。 A行に現場名があり、B行に担当者名が入っている表があります。 担当者毎の持ち現場数と%か一目でわかる表を作成するにはどうすれば よいでしょうか。
831 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 22:57:47
マクロの記録中に、記録終了ツールバーの右上の「×」を押してしまったため 記録終了ツールバーが出なくなってしまいました アプリケーションの自動修復を実行しても出てきません もう一度出す方法は無いのでしょうか?
832 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 22:58:57
【1 OSの種類とExcelのバージョン】 XP 2002 【2 Googleやヘルプでの検索キーワード】 入力規則 IF 【3 VBAが使えるか】コピペしてマクロ動作させてイッパイオッパイ 聞くのはずいけど、よろしゅうです。セルの入力規則にユーザー設定のところで 関数が使えるのは分るのですが、IF関数で条件分けもできるのでしょうか? 何度試してもうまくいかね〜だす。 =countif(A1:a10,a1)=1 とかならうまくいくんですが////
833 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 22:59:43
834 :
名無しさん@そうだ選挙にいこう :2005/06/24(金) 23:01:10
>>798 >>809 さん
ありがとうございました。
a1のセル( =COUNTIF(a2:a9,"土") )は直さないで、
曜日設定している a2 から a9 までのセルを =TEXT(a1,"aaa") と
表示させることで解決しました。
改めてありがとうございます。
ではでは
>>831 マクロの記録を実行中にメニューから
表示→ツールバー→記録終了を選択
836 :
832 :2005/06/24(金) 23:02:29
説明文追加 要は条件によって入力規則を変えたいわけなのですが、 それって無理なんですかね〜?
837 :
831 :2005/06/24(金) 23:06:38
>>832 入力規則のリストかな?
条件に因ってソース範囲を変えるのではなく、
条件に因ってソース範囲の値が変わるようにすればよろしいのでは?
839 :
829 :2005/06/24(金) 23:36:20
840 :
832 :2005/06/25(土) 00:28:45
>>838 回答どうもです。
すいません、説明足りなくて。
やろうとしてることなんですけど、
エンドユーザーに数値の入力をさせなければいけないのですが、
まずは=MOD() を使って
ある整数の倍の数値しか入力できないようにするのと、
=count()
を使って
ある条件では複数セルに入力可能にして、
ある条件では複数セルの内1カ所にしか入力できないようにしたいわけです。
で、条件は同じ行にセルがあるかないかで分かれると。
A B C D
1 ○ 5
2 2
この場合 A1に○が入っていたら5の倍数をC1,D1に入力可
A2にデータがない場合、C2,D2の何れか1つのセルに2の倍数のみ入力可
のような入力規則を作りたいと。
でC列、D列の入力規則にIF(A1="○",=略=>0,=略=1)
みたいに入れてみたんですが、うまくいかなかったわけです。
これってマクロ書くしかないんですかね〜。
>759 亀レス。 オプションの計算方法が自動になってない。
>>840 C1:D2を範囲選択して(C1がアクティブセル)
=IF(OR($A1<>"",COUNTA($C1:$D1)=1),MOD(C1,$B1)=0,"")
でどうでしょうか?
ついでに条件付き書式で同じ範囲に
=AND($A1="",C1="",COUNTA($C1:$D1)=1)
で背景グレーとか×罫線とかを設定しておくと、
何も入力できないセルにはその書式が適用されると思います。
【1 OSの種類とExcelのバージョン】 Me 2000 【2 Googleやヘルプでの検索キーワード】 計算結果 色 excel 【3 VBAが使えるか】できない =IF(A1=1,"○","×") の○を青、×を赤で結果表示をさせたいのですが可能なのでしょうか
>>843 条件付き書式を使う。
・数式が:=A1=1:文字色を青に設定
・結果を返すセルの文字色を赤に設定
これで条件に一致しないとき(A1が1以外のとき)は、セルの書式である赤文字になり、
条件に一致するとき(A1が1のとき)は条件付き書式の青文字になる。
あと、その例通りなら、セルの数式を
=A1
にして、表示形式を
[青][=1]"○";[赤]"×"
とすることも出来る。
まあ、どっちにしろ数式だけで色の指定は出来ないけど。
845 :
843 :2005/06/25(土) 05:49:02
>844 即レスTHX! 2色の分岐できましたその色になる条件を作ってやればよかったのですねありがとうございます 発展させて 【A1】 リンク元 【A2】 計算セル =IF(A1<=3,"1",IF(A1<=6,"2","△")) 【A2】の書式>表示形式[青][=1]"○";[赤][=2]"×" 【A2】の文字色黄色 にすると、 3以下の場合 青○ 4、5の場合 赤× その他の場合 黄△ になると思ったらならないのです 計算結果に対して表示形式が適応されていないのです 結果 123456789 111222△△△ ・計算結果が数字で無く文字として表示されている為表示形式反映されない ・式が違う ももももも
>>845 =IF(A1<=3,"1",IF(A1<=6,"2","△"))
↓
=IF(A1<=3,1,IF(A1<=6,2,"△"))
数値を""で囲うと文字列になるから、表示では同じ 1 でも
["1"という文字=1という数値]
という条件判断になってTrueは返らないので表示形式が適用されない。
表示形式以外だと、場合によって「"1"=1」がTrueになったりFalseになったり、
「"1"=1」がFalseでも「"1"*1=1」でTrueになったりと慣れるまではややこしいかもしれないけど、
とりあえず表示形式の中での文字列と数値の等価比較はFalseになるってこと。
因みにその式だと4,5,6が赤×にならないか?
整数値の4,5を赤×にするなら「<=6」ではなく「<=5」か「<6」だ。
又は別な方法として
数式:=A1
表示:[青][<=3]"○";[赤][<=5]"×";[黄]"△"
とやることも出来るし、
君が書いたような方法でも
数式:=IF(A1<=3,1,IF(A1<=6,2,"△"))
表示:[青][=1]"○";[赤][=2]"×";[黄]@
とか
数式:=IF(A1<=3,1,IF(A1<=6,2,3))
表示:[青][=1]"○";[赤][=2]"×";[黄]"△"
とすれば、セルに黄色の文字色を設定する必要は無くなる。
条件付き書式の場合は複数設定するのは手間も容量も食うけど、
表示形式で色分けするなら、2つ設定するのも3つ設定するのも
そんなに手間掛からないから、統一して表示形式で指定した方がいいかも。
まあ、このへんは好みの問題もあるのでお好きなように。
847 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 07:50:30
ありがとうございました_(._。)_
848 :
843 :2005/06/25(土) 08:20:28
EXCELでマクロ作ったものをみんなに配布する場合、 マクロを有効にする、しないのメッセージボックスが でるかでにあかは、開いたPCのセキュリティ設定によるの? 非表示にしたいんだけど。
850 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 11:52:51
つ デジタル署名
851 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 13:13:34
>>849 VBscriptでそのファイルを開くように書いておいて
そっちから開けばマクロの有無に関係なく一気に開いてしまう
↑悪用厳禁
852 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 14:58:06
office2003personalがプリインストールされているPCを使っています。 他のoffice製品は入っていません。 このPCのエクセル2003(すべての機能をインストール済み)で カレンダーコントロールを使いたいのですが、 コントロールの選択リスト(250個あると表示されます)の中に カレンダーコントロールがありません。 どうすればカレンダーコントロールを使えるようになるのでしょうか? それとも、personal製品にはカレンダーコントロールが入っていないのでしょうか?
854 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 15:59:37
855 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 19:11:45
本当にくだらない質問で恐縮ですが Excel のセルを全て正確に正方形にしたいのですが どうしたらよいのでしょうか?
>>855 Excelは表作成ソフトではなく表計算ソフトです。
そしてセルのサイズは同じ数値を指定しても、環境によって変化するので
うちで正確な正方形に出来る方法でも、君の環境で正方形になるかどうかは解らない。
ということで、自分の環境に合わせて方法を調べてください。
因みに「正確に」ではなく「見た目で正方形に見える」程度なら、汎用的な方法もあるけど。
857 :
855 :2005/06/25(土) 19:21:49
ありがとうございました
計算式をどうすればいいかで困っています。 A列の値が-100<かつ、>100で、B列の値が-200<かつ、>200のものをカウントする このようなときはどうすればいいのでしょうか? ややこしいかもしれませんが、お願いします。
>A列の値が-100<かつ、>100で、B列の値が-200<かつ、>200のものをカウントする その日本語をそのままEXCEL語に変換しろ。
>>859 C列にその4つの条件式の結果を乗算した値を返す
C列をSUM関数に掛ける
C列のような作業セルを使いたくなければコレと同じ事を配列数式で。
COUNTIFって複数条件していできたっけ?
>>865 お前ができないのならやらなくていいよ。
868 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 21:40:11
>>859 の結果をCOUNTIFで返す方法があるなら俺も知りたいな
>>863 具体的な方法を教えてください
869 :
863 :2005/06/25(土) 21:58:28
>>868 バカか?お前ら。釣りにマジレスしてくるんじゃねーよ。
できるわけねーだろうが。
870 :
863 :2005/06/25(土) 21:58:49
お前らじゃなくてお前か。
871 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 22:00:09
『B列の値が-200<かつ、>200』 自体ありえん。
872 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 22:01:40
『A列の値が-100<かつ、>100』 もだ。
873 :
862&863 :2005/06/25(土) 22:05:19
嘘。 書き方がややこしいな。 「-100<かつ」って表現しなくても「100<」であれば無条件に「-100<」では?
874 :
872&873 :2005/06/25(土) 22:06:06
まちごた。
>>868 対象が複数の場合は無理だけど、対象がひとつなら
=COUNTIF(A1:A10,{">-100","<100"})
という感じで複数の条件を指定出来る。
>>863 の
>>859 に対してCOUNTIFというのも間違いだが、
>>869 のCOUNTIFに複数条件が指定出来ないというのも間違い。
あとは
>>859 の結果を出すにはSUMPRODUCT関数使って
=SUMPRODUCT((A1:A10>-100)*(A1:A10<100)*(B1:B10>-200)*(B1:B10<200))
とやるか、配列式で
=SUM((A1:A10>-100)*(A1:A10<100)*(B1:B10>-200)*(B1:B10<200))
因みに不等号の使い方の間違いを考慮して補完してるので、
>>859 の条件と違うと突っ込まないように。
876 :
名無しさん@そうだ選挙にいこう :2005/06/25(土) 22:24:51
.,Å、 .r-‐i'''''''''''i''''‐-、 o| o! .o i o !o .|\__|`‐´`‐/|__/| |_, ─''''''''''''─ ,、 / _ / \ / / i 二重恥かきの863 | ● (__人_) ● | キングカワイソス・・・ ! ノ 丶_ ノ
自分の書き込みが間違っていたことに気付いて 慌てて釣りってことにしようとしたけど、逆にそれが徒になったってわけかw (´・ω・)カワイソス
878 :
863 :2005/06/26(日) 06:04:58
そか。恥かいたけど勉強になったからいいや。
sumifもcountifもつい最近まで知らなかったが、sumとifを 組み合わせて配列数式にすれば何でもできるから別に 困らない。つうか、今後も使わないよ w
配列数式って何?
配列数式とかユーザー定義関数重いじゃん。 オナニー用以外で多用されるとウザス。
883 :
759 :2005/06/26(日) 11:35:21
>>841 ありがとうございます。
すごく単純な設定の問題だったんですね。
月曜に会社にいって確認してみます。
COUNTIF、SUMIIFで十分なところはそれを使えばいい。 機能的に使えない場合はSUM+IFと配列数式でやればいい。 適材適所が一番効率がよい。
配列数式って何?
886 :
名無しさん@そうだ選挙にいこう :2005/06/26(日) 13:38:21
>885 何、意地になってんだよ、 881のレスがカチンときたのかな?、坊や
配列数式でやるのって、作業列を作るのに比べてどういう利点がある(このスレ的に)? このスレで回答する立場からすると、1行の数式を書くだけだから早いんだが、 質問する方はよく分かってないから質問してるわけなので、結局 {}を入力するには…って話になるし、 絶対参照と相対参照が混ざった式になるからデバッグも面倒だろうし、 あまりお勧めではないような気がするんだが。
>>887 そう、他人が式を修正する可能性があるなら使っちゃだめだな。
自分で作っても後でデバックに苦労するよ。
万が一式に間違いがあっても、その間違いに気づきにくいからな。
>889 負けず嫌いなんだねプ
>>889 過去レスを読まないってのは、質問者としても回答者としても
不向きだし、単に遊びに来ているにしてもものぐさだけどね。
亀ですが,
>>875 の
>=COUNTIF(A1:A10,{">-100","<100"})
を試しても,左側の条件しかカウントされずに,複数条件にならな
かったですが。配列数式にしても同様でした。
WinXP Pro SP2, Excel2002です。
はい、もうこの話題終了。 次の質問どうぞ。
>>890 過去レス読んでほしかったですか?その価値があるとは思わなかったので。
なに反応してんの?死ねば?
ヤッパ2chはこうでなくっちゃ、 885の反応は、なかなかいいね。「坊や」がポイントかな? この言葉に反応するヤツってどんなタイプなんだろうね。
900
901 :
名無しさん@そうだ選挙にいこう :2005/06/26(日) 20:19:32
すみません。 現在アクティブになっているシートが左から何枚目かをVBAで 調べたいのですがよくわかりません。 Count使ってもダメですよね?
>>904 そういう反応をするからこういわれるのだよ 「坊や」と
内容で勝てないから、せめて口(ry
908 :
906 :2005/06/26(日) 21:27:38
いい子だからそのへんにしておこうね
久々に来てみたら荒れてますねえ。。。 気に食わないレスはスルー、 書きたいと思ってもぐっと我慢。 オマエモナーって? はい、なので僕を煽ったところで僕はもう書きません。
912 :
901 :2005/06/26(日) 21:55:55
>>903 ありがとう〜
解決しました。
Indexでしたか。
> 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。 > 書きたいと思ってもぐっと我慢。
つカルシウム
【1 OSの種類 / Excelのバージョン】 XP 2003 【3 VBAが使えるか】少し マクロは何時もボタンを使って動かしてるけど、 入力されたら即実行、いたいな方法ってあります? 例えば、IFの条件分岐で、条件が1つなら =if(条件,条件が成立した場合,成立しなかった場合) をセルに記述すれば、入力されたら即反映されるけど 条件分岐が複雑になるとVBAを使う。 これをボタンとかを使わずに、セルにマクロを割り当てるみたいな事は できるでしょうか?(ひょっとして、超基本的なっことかも)
>>917 おべんと・・・じゃなくてイベントプロシージャでググッて見てください。
ひょっとしなくても超基本的なことだな。 「入力されたら即実行」ならWorksheet_Changeのイベントだね。
920 :
名無しさん@そうだ選挙にいこう :2005/06/26(日) 23:44:10
この板に初めてきました。高卒32歳、妻子・彼女なし。アパートの家賃は4万円です。 ヨロシクお願いします 【1 OSの種類 / Excelのバージョン】 いろいろ/いろいろ 【2 Googleやヘルプでの検索キーワード】 いろいろ 【3 VBAが使えるか】自動記録を多少アレンジできるくらい 【4 Excel使用頻度】ほぼ毎日 【5 質問の目的】シーケンサの入出力リスト作成。16進での自動計算 質問 A1に1、A2に2 と入力後、A1とA2セルを選択状態にします。 そしてA2セルの右下を下方向へドラッグするとA3、A4、A5には それぞれ3、4、5と自動で入力されていき、A10には10、A11には11と、10進数になります。 これをA10にはA、A11にはB・・・とかの16進にできますでしょうか? 【6 いつものやり方】 10進数で任意の数字までドラッグし、アドインした分析ツールの16進変換を仮挿入した隣の列に作成。 その後、さらに仮作成した隣の列に値のみコピー
921 :
917 :2005/06/26(日) 23:58:02
>>920 基準となるセル(
>>920 の例だとA1)に1と入力し、
そこから16進数を入力したい範囲を選択して
Sub hoge()
Dim i As Long, Rng As Range
i = "&H" & ActiveCell.Value
For Each Rng In Selection
Rng.Value = Hex(i)
i = i + 1
Next Rng
End Sub
を実行。「マクロの実行」からの実行が面倒なら
ショートカットキーを割り当てるなり、右クリックメニューに登録するなりすればいい。
923 :
920 :2005/06/27(月) 00:48:49
>>922 さっそくやってみました。ありがとうございます。
しかも、いいヒントになりました。
VBAの中でHexが使えると言うことは、その逆も??
この先は自力でがんばってみたいと思います。
マクロ名はhogeのまま、末永く使用させていただきたいと思います。
ありがとうございました。
924 :
名無しさん@そうだ選挙にいこう :2005/06/27(月) 11:25:34
1 OSの種類 / Excelのバージョン】 win XP / 2000 【2 Googleやヘルプでの検索キーワード】IF関数 日付 文字 【3 VBAが使えるか】いいえ 初歩的な質問ですみませんがよろしくお願いします。 A1列にはランダムな日付が入力されていて その中の特定の日付(例:7/25)が入ったときに B1列に出発日という文字を自動で入力されるように したいのです(その他の日付の時には空欄にしたいです) が、どのようにすればできるのでしょうか? どうか、よろしくお願い致します。
925 :
名無しさん@そうだ選挙にいこう :2005/06/27(月) 11:40:11
>>924 B1に
=IF(A1-"2005/7/25"=0,"出発日","")
と入れて下にコピー。
単に=で結ぶと、シリアル値と文字列なので一致しないが、
演算だと、文字列を自動的にシリアル値に変換してから計算してくれる。
926 :
名無しさん@そうだ選挙にいこう :2005/06/27(月) 13:46:21
>>925 924です。
わぁ〜っっすごい。感激です。
うまくいきました。すごく助かりました。
私は単に=で結んでいました。
勉強になりました。
本当にありがとうございました。
【1 OSの種類 / Excelのバージョン】 NT/2000 【2 Googleやヘルプでの検索キーワード】 「一つ下のセル」とか 【3 VBAが使えるか】 無理 日本語が下手なので図で説明します。 コード 品名 日付 個数 A001 りんご 5/27 10個 A001 りんご 6/27 20個 A001 りんご 7/27 15個 B002 いちご 4/10 5個 C003 すもも 3/20 10個 上記のようなデータがあるとします。 ここからコードのみを入力して、↓のように抽出したいのです。 A001 りんご 5/27 10個 りんご 6/27 20個 りんご 7/27 15個 VLOOKUPのみだと当然ながら1番上の行しか返してくれません。 2行目、3行目のデータも表示させたいのですが、どうしたらいいですか? OFFSET関数なるものを見つけて試してみたのですが、うまくいきません。 よろしくお願いします。
>>928 さっそくの回答ありがとうございます!
…が、私の説明不足でした。
たしかに
>>927 に書いたことなら、オートフィルタで済むことでした。
やりたいのは、
表1 表2
コード 品名 在庫数 コード 品名 産地 入荷日 入荷数
A001 りんご 10個 A001 りんご 和歌山 6/28 10個
B002 いちご 20個 A001 りんご 新潟 7/28 15個
C003 すもも 15個 A001 りんご 東京 8/28 30個
C003 すもも 山梨 7/15 20個
B002 いちご 沖縄 9/10 15個
別々のシートにこういう2つのデータがあって、
コードを入力するだけで、
コード 品名 在庫数 産地 入荷日 入荷数
A001 りんご 10個 和歌山 6/28 10個
りんご 20個 新潟 7/28 15個
りんご 15個 東京 8/28 30個
…のように抽出したいのです。う…さっきとぜんぜん違う…すみません。
1行目だけはVLOOKUPで抽出することが出来ます。
2行目、3行目も同時に表示させることは可能でしょうか?
930 :
929 :2005/06/27(月) 22:28:32
まちがえた…。 抽出後の在庫数はすべて「10個」です。 コード 品名 在庫数 産地 入荷日 入荷数 A001 りんご 10個 和歌山 6/28 10個 りんご 10個 新潟 7/28 15個 りんご 10個 東京 8/28 30個 もしくは、 コード 品名 在庫数 産地 入荷日 入荷数 A001 りんご 10個 和歌山 6/28 10個 新潟 7/28 15個 東京 8/28 30個 こういう感じにしたいのです。
>>929-930 ワークシート関数は関数(数式)を入れたセルに値を返すものなので、
何を使おうと式を1つしか書かなければ、値もひとつしか返らない。
(配列を返す式もあるけど、複数のセルに式を入れたのと同じだし)
条件に合う値の最大値(たとえば表2に"りんご"は最大10個とか)がわかっていれば
あらかじめ10個の数式を組んで、不要な物を論理式で非表示にしたりはできるけど
VBAで処理した方が楽。
制限があっても数式でやりたいのか、コード書いてくれるならVBAでもいいのか答えてくれれば
とりあえず組んでみるけど。
早漏?
900過ぎてるし、いいんじゃね? スレが進まなきゃ勝手に落ちるだろうし
自己フォロー乙
トンクス
どうしても自分の思い通りにしたかったんだろうね。 こんな2chのスレごときでこんなに必死になるなんてかわいいじゃないか。
>>937 そんな奴を叩いてるお前も同類だ罠
ウザ
>>932 はスレを立ててみたくて仕方がない自治厨
>>933 はスレの立て方も知らないリア厨
どっちもどっちだ
ウザ
テンプレ厨は自分専用のホームページでも作ってろよ。うざすぎる。
必要な情報書けないような厨はパソコン教室でも通ってろよ。うざすぎる。
945 :
名無しさん@そうだ選挙にいこう :2005/06/28(火) 19:11:22
質問させて下さい。 エクセルで、電話番号のデータが大量ありまして、以下のように入力されています。 03-1111-2222 03-2222-3333 これを、 0311112222 0322223333 としたいのですが、置換えで、検索文字「-」 置き換える文字(空欄)でやると、 ハイフンは消えますが先頭の0も一緒に消えてしまいます。 表示形式を文字列にしても駄目でした。 なにか方法はないでしょうか? 一度0とハイフンを消した後で一気に先頭に0を付ける方法でもかまいません。 宜しくお願いします。
表示形式を「0000000000」にする。
>>946 うぉぉぉ、できた
ありがとうございます!!
これで仕事が早く終われそうです!!
小数点を無しにするのと数字の1・2桁目を切り捨てる方法を教えてください
>>948 意味がわかんね。
具体的にどういう数字をどういうふうにしたいの?
950 :
名無しさん@そうだ選挙にいこう :2005/06/28(火) 22:32:14
エクセルでy=xやz=x+yみたいなグラフを描く方法を教えてください(><) ただ、関数の値をいくつか計算しておいて範囲選択してグラフ作成じゃなくて f(x)=xみたいなグラフを描く方法が知りたいんです。 分かる人いますか?
>>950 ソフトウェアの選択くらいできるようになろうな。
ちなみにお前がやりたいことができるフリーソフトは
たくさんあるから自分で探してみな。
三四郎
955 :
名無しさん@そうだ選挙にいこう :2005/06/29(水) 00:26:52
携帯からすいません。 Excelの行に商品がバラバラに入力されている場合、 それぞれの商品の個数ではなく商品の種類数を出す関数はあるのでしょうか。 お願いします。 DCOUNT COUNTIFでは商品の個数がでてしまいます…。
>>955 関数は無い、方法はある。
というかこのスレで既出。
がんばってログ読め。
957 :
名無しさん@そうだ選挙にいこう :2005/06/29(水) 01:11:21
↑わかりました。すいません
>>930 表2の各行について,コードで表1の在庫数をVLOOKUPさせて,
オートフィルターを掛けるのはどうですか?
>>958 オートフィルター使えってレスは前にもあったけど、
>>929 は「コードを入力するだけで」やりたいんでしょ。
まあ
>>931 がやってやるって言ってるのに反応無いんだから
反応あるまで放っておけばいいんじゃない?
既に自己解決したのかもしれないし。
960 :
929 :2005/06/29(水) 07:19:49
すみません。昨日はレスできなかったものですから…。
>>931 さま
ご厚意ありがとうございます。
>条件に合う値の最大値(たとえば表2に"りんご"は最大10個とか)がわかっていれば
最大値は決まってないです。
2,000や3,000に至る場合もあるのでとても無理ですね。
VBAは私自身解っていないので、やって頂いても
>>931 さまの徒労におわる可能性があるので
今回はいいです。今後勉強してみようと思います。
そしたら自己解決できるようになるかもしれませんし。
ありがとうございました。
以下の条件の計算式を作りたいんですが 知識が足らずうまくいきません お手数ですがどなたか御教授願えないでしょうか・・・ A1="" なら C1 は "" A1="0" なら C1 は "不可" A1="1" で B1="1" なら "可" A1="1" で B1="2" なら "優" これを1マスの計算式にしたいんですが どう計算式を組んだらいいのでしょうか?
962 :
名無しさん@そうだ選挙にいこう :2005/06/29(水) 10:04:12
√125をワードの数式エディタみたいに数字を中にいれることはできないのでしょうか
963 :
962 :2005/06/29(水) 10:11:28
すみません自己解決ワードといっしょの手順でできるんですね
>>961 =index({"","不可","可","優"},a1+b1+1)
とか?
>>964 それだと、A1が空白でも、B1が1や2だと不可や可になっちゃうよ。
素直にIFをネストしたほうがいいんじゃね?
=IF(A1="","",IF(A1=0,"不可",IF(AND(A1=1,B1=1),"可",IF(AND(A1=1,B1=2),"優",""))))
966 :
961 :2005/06/29(水) 15:03:17
967 :
PCナシの貧人&ド級の初心者 :2005/06/29(水) 20:45:35
以前質問させて頂きました。レクチャーの手順を実行致しましたが…どうしても出来ません(;_;) 内容は、特殊記号の@(黒塗)黒塗数字をオートコレクト??に登録したいのですが…目的の黒塗数字が出せません(*_*) 皆さんどの様にして出してるのですか?? 普通にセル入力する場合は、●黒塗丸数字を入力出来ます。 ド級の初心者の為、分かりやすい解答&手順をお願いしますm(__)m
> 目的の黒塗数字が出せません(*_*) 当然でしょ。 オートコレクトに登録できるのはテキストだけです。
表示形式とかでもテキストしか使えないね。 以前チェック記号を出そうとして苦労した。 ChrW(10003)なら使えるんだけどね。
971 :
名無しさん@そうだ選挙にいこう :2005/06/29(水) 22:40:22
【1 OSの種類 / Excelのバージョン】 XP / 2003 【2 Googleやヘルプでの検索キーワード】 エクセル、クリック、セル、レ点 【3 VBAが使えるか】 分からないです まったく見当がつかないため、よろしくお願いします。 [表示]→[フォーム]→[チェックボックス]で チェックボックスを表示させて、クリックすることにより、 レ点を付けることが可能なことは分かっています。 ただ、横に並べた場合、指定のチェックボックスを うまくクリックすることができません。 そこで、セルをクリックするだけでレ点をつける方法はあるのでしょうか? もしくは、チェックボックスをセルの大きさに完全に合わせて、 更に連続したセルにチェックボックスを並べることは可能でしょうか? よろしくお願いいたします。
>>971 >【3 VBAが使えるか】 分からないです
どういう意味?
973 :
971 :2005/06/30(木) 00:02:22
>>972 VBAのプログラミングが分からないという意味です。
分かりにくくて、すみません
>>971 altキーを押しながら移動させたり大きさを変えればセルにぴったりの
位置や大きさになるよ。
あと22 どーするのさ、このスレ?
新スレの方でこちらからあちらへの誘導の提案が出ているがどうします? 俺はその提案を読む限り、あちらへ移行して、こちらには誘導案内を貼ったほうがよいと思うが。
982 :
名無しさん@そうだ選挙にいこう :2005/06/30(木) 23:10:19
981 資源を大切に・・・
こういうバカが多いから困るんだな。
お前単なる荒らしだぞ?
もう既に向こうに100超えるレスついてるんだから、
向こうに移行するのが当然だろ?
運営系の板で聞いて来いてみろよ。
質問者の立場、回答者の立場に立ったら
そのほうが無駄な二度手間にならなくてすむ。
お前みたいな単なる煽りクソ野郎だけいつまでも
このスレにしがみついてりゃいいさ。
ってことで、俺は
>>981 に賛成。
次スレ
>>1 が早漏じゃなければこんなことでウダウダやる必要すら無く埋まったのに・・・
>>984 俺は983だが、確かにそれはある。
ただその場合は、削除依頼出したら対応してくれる場合もあるらしいぞ?
「フライングスレ立て」ってことで、重複スレ扱いになるらしい。
俺もたまたま別の板の件で運用情報板見て知ったんだがw
980越えてるから一定期間放置すればDAT落ち。
いつの間にかこのスレ議論だらけになっちまったな VBA&テンプレ厨を断罪したい気分でおっぱい、おっぱい
988 :
名無しさん@そうだ選挙にいこう :2005/07/01(金) 07:15:17
チェックボックスのチェックもシートの保護でいじれないようにできないのでしょうか? シートの保護をしても、チェックボックスのチェックはチェック有・チェック無が変更できてしまって 困っています。 宜しくお願いします。
=マイナス! ↑ はどういう意味ですか?ぐぐったけど検索の仕方がわるいのかヒットしませんでした。 また、どういう言葉で検索するといいでしょうか?
>>988 シートの保護なんだからシート以外(チェックボックスはシートの一部じゃありません)は保護しなくて当然でしょ
チェックボックスを保護したいならフォームのチェックボックスではなくコントロールのチェックボックスを使いましょう。
あとのことはググってください。
>>989 日本語でどうぞ。
>>989 「=マイナス!」ってのは、数式ですか?
だとしたら、レスを省略していませんか?
「=マイナス!A1」とかじゃないですか?
シート名を「マイナス」に変更していませんか?
992 :
988 :
2005/07/01(金) 17:42:18 >>990 どうもありがとうございました。
大変わかりやすい解説ありがとうございました。