▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
ttp://www.google.co.jp/ 前スレ
Excel総合相談所 89
http://pc11.2ch.net/test/read.cgi/bsoft/1261832861/
スレたてお疲れ様です さっそくですが、オートフィルタについての質問です フィルタをかけてセルを選択し削除や書式設定をした後にオートフィルタをはずしてみると フィルタで現れていなかった範囲までがまるまる(例えばセルD15とD18だけがオートフィルタで現れていて値を削除したが、オートフィルタをはずすとD15、D16、D17、D18の値が全て削除されていたなど)作用を受けていたりするのは エクセルのどういう性質によるものなのでしょうか これは最近では(自分のPCでは?)体験していませんが職場でむかしたまにありました 他にもこういう体験をした人があり、なぜなのか理由を知りたいと思いかきこみをしました
いちおつです。早速ですが質問させて下さい Private Sub ComboBox1_Change() Select Case Me.ComboBox1.Value Case "a" Me.text1.RowSource = "aリスト" 〜 End Sub というプロシージャを続いてComboBox2、ComboBox3・・・について並べたいのですが、 ただ並べるのでなく変数を使って簡潔に記述する方法はあるのでしょうか? for〜nextのようなことをプロシージャ名のところで出来るのかということです よろしくお願いします
4 :
名無しさん@そうだ選挙にいこう :2010/02/14(日) 13:46:41
>>2 非表示のセルを選択しているか否か。
Alt+;で非表示セルを選択から外していれば、削除は快適にできるかもね
>>3 VBAにはコントロール配列の機能がないので、ちょっと工夫しなきゃならない。
直感的でわかりやすいのは名前で指定する方法。
For i = 1 To 3
Select Case Me.Controls("ComboBox" & i).Value
6 :
名無しさん@そうだ選挙にいこう :2010/02/14(日) 14:13:32
1.WinXPsp3 2.excel2007 3.いいえ 4.なるべく否 5.エクセル 時給計算 割増 など excelで時給計算をするソフト? を作っているのですが 例えば勤務時間17:00〜7:00(31:00)まで働いた場合 22時以降の深夜割増、25時以降の深夜残業割増、5時以降の残業割増を 通常 5:00 深夜 3:00 深残 4:00 残業 2:00 の、ようにそれぞれの時間を個別のセルに表示させたいのですが どういった関数を使えばいいのでしょうか お願いします
7 :
名無しさん@そうだ選挙にいこう :2010/02/14(日) 14:37:36
【1 OSの種類 .】 WindowsXP sp2 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】 列 文字 並べかえ セル A B C D 1 米国 4 イタリア 6 2 日本 3 中国 4 3 英国 5 米国 3 以下続く… このように4列で縦に長い表があるのです。 A、Cに文字で地名、B、Dに数値があります。 A、Cに同じ名称が入ってるセル同志を横に並べ変えることはできますか? AとB、CとDのコンビはそのままでA、Cの文字が同じモノ同志を横に並べ直したいのです。 AとCは必ずしも同じ地名が入っているとは限りませんので完全に並ぶことはないのですが… なるだけ近く並べたいです。 よろしくお願いします。
>>6 必要な関数はIF、AND、ORの3つ
あとはそれぞれの条件をひたすら書き並べて引き算するだけ
ついでに指摘すると、残業割増の条件は5時以降じゃなくて勤務時間が12時間以上じゃないの?
>>4 回答をありがとうございます
非表示を選択しているとはどういうことでしょうか
フィルタの際マウスを動かし15と18をハイライトしましたがマウスに非表示のものもこっそり選択する機能とか
あるいはマウスでなくてもどこかで「非表示のものも含む」など、設定してしまっていたのでしょうか
きちんとうまくいく場合もありいかない場合との違いがわからないのです;;
>>7 A、B列で並び替え、C、D列で並び替えだけでは単純すぎるのでしょうか・・・
>>7 AにあってCにない地名が出てきたとき、
AになくてCにある地名が出てきたとき、
それぞれどう処理するか書いてください。
11 :
名無しさん@そうだ選挙にいこう :2010/02/14(日) 15:36:04
なるほど、ありがとうございました。リンク先も見てきましたが「可視セル」選択のアイコンとかあったのですね! カメラは初めて知りましたが見えないところにいろいろな機能があるのですね エクセルをまだあまり理解していない頃だったからフィルタと行の非表示との違いがわからなかった可能性は多分にあります また、他にこういう体験をした人というのもある意味エクセル初心者?でこの体験以降フィルタで作業を二度としてない(閲覧はあっても)と 申しておりました; たしかにデータが消えたショック後のポカーンはいかんともし難いww とにもかくにもありがとうございましたm__m
13 :
3 :2010/02/14(日) 16:34:20
>>5 申し訳ないのですがそこではなく、自分でも分かりにくいかなとは思ったもののイメージでいうと
Private Sub ComboBox1_Change()
End Sub
Private Sub ComboBox2_Change()
End Sub
Private Sub ComboBox3_Change()
End Sub
↓
Private Sub ComboBox”i”_Change()
End Sub
というつもりでした
上記のようなことはやはり無理でしょうか?
14 :
7 :2010/02/14(日) 17:07:55
>>9-10 ありがとうございます。
できれば、AとCで一致している名称は並べて、片側だけに名称がある場合は、
A、C名称が一致している組合せ群の下にB、Dの数値の多い順に並べたいのです。
ここまで書かないと伝わりませんよね。どうにもうまくいかなくて…
すみませんがよい方法があればお願いします。
それではE列に=if(A1=C1,0,1)とでも入れておいて0になったデータだけ上に集めて 1となったデータたちは下側にもっていき、さらにそこでABのB優先、CDのD優先で並べ替えてはだめなのだろうか
>>13 たぶんクラスモジュール使用することになると思うけど、詳しい人を待つか自力で調べて
あ、ちょっとまちがえた!!今のなし!
今のなし、は
>>15 です
これではA列とC列の呼応が前提になってしまいます(恥ずかし)
今回はバレンタインデーが日曜日と重なった為
★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
は中止にします。あしからずご了承ください。
>>14 ・C列に列を挿入してAB列のデータの数だけAとずっと下まで入力
・本来CD列だった(列挿入後はDE列に)データの横に(F列)Bとデータのあるところまで入力
・DEF列のデータをABC列の下にもっていきA列で並べ替え
・さらに=COUNTIF(A:A,A2)の式をD列に入力し重複するものと単独のものを確認
・フィルタをかけ本来AB列にあった「A」とCD列にあった「B」とを分けどこかにコピペ
・今度はさきほど=COUNTIF式を用いた列を優先させて降順で並べ替え(A群とB群を別々に)
・AD列で名称が一致してないデータが下にいく
でもこれだとA列にある国名がC列に2個も3個も出てきた場合どんどんずれていくんだけれど?
21 :
7 :2010/02/14(日) 21:14:08
>>20 ありがとうございます。
ある程度は仕方ないのかもしれませんね。それでやって見ます!
ホントに素人なんです…
VBAでやれ
>>16 ,22
挙げて頂いたサイトも参考にしてクラスモジュール勉強してみます
ありがとうございました
>>21 こちらもよくわかっていません
A群B群(挿入列に入力する名前はなんでもよく「左」「右」とか「☆」「★」とかでも?)フィルタをかけコピペする際には式をひっぱってこないために
「形式を選択して貼り付け」→「値」を選択しておいてください
COUNTIF(A:A,A2)式の中のA:AはA列を6万行も選択してしまっているので、ほんとうは(DEF列のデータを以降後に)A列にデータのある範囲だけを選択する方がいいのでしょうが
めんどくさがり屋の自分はこの方法をつい使ってしまいます
あの、このスレッドの前の1001までいった相談所を読んでる最中にスレッドがなくなってしまったのですが 24時間でおちてしまうのでしょうか
28 :
名無しさん@そうだ選挙にいこう :2010/02/15(月) 01:16:24
別々のセル内の文字列を連結させて違うセルに表示させる方法は ありますが、この連結させた文字列をコピー&ペーストして違う アプリケーション(例えばワード)に使用したいのですが、何か 方法はありますでしょうか?よろしくお願いします。
30 :
名無しさん@そうだ選挙にいこう :2010/02/15(月) 01:30:53
連結させて文字列は表示はできるんですが コピペはできないんですよ 連結表示文字列を文字列化できればいいのですが・・・
31 :
名無しさん@そうだ選挙にいこう :2010/02/15(月) 01:32:45
言葉たらずですみません 連結前の2つのセルは不要なんです。 連結後の文字列を抽出したいんです。
>>30 なぜコピペはできないと判断したの?
文字列を連結させたセルを選択してコピー → ワードでペースト
で出来るはずだが
(ポイントは Excelでコピーモードを解除しないこと)
>>31 だからそのままコピペできるってば
Excelのセルを普通にコピペすると、画面に表示されている「結果」がそのままコピペされる
あんたの環境では何がペーストされてるんだい?
実際に試した結果を書いてくれよ
34 :
名無しさん@そうだ選挙にいこう :2010/02/15(月) 02:16:42
>>32 >>33 できました!ありがとうございます。
以前トライした時できなかったので
原因は良くわかりませんが、ご指摘の通りです。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 Excel2007 OLAP CUBEに少し興味があるんですけど、あれってあくまでもSQLSErver相手のみなんですか? 他のDB(MySQLとか)では使えないんですか?
ComboBox1に入力してある値を整数型myComboBoxに入れたいのですが、 myComboBox = Me.ComboBox1 とするとComboBox1に値が未入力のとき型が正しくないと言われてしまいます もちろん適当な数字を入力しておけば問題ないものの未入力時でもエラーを出さないためにはどうしたらいいのでしょうか?
37 :
名無しさん@そうだ選挙にいこう :2010/02/15(月) 12:56:51
>36 試してはいないけど、 myComboBox = Val(Me.ComboBox1) みたいに明示的に数値型変換したらどうですか?
38 :
名無しさん@そうだ選挙にいこう :2010/02/15(月) 12:59:51
型をvariantにする 未入力時は0を入れてから処理→処理後に未入力状態に戻す if+isnull on error Form_Error もっとスマートな方法はありそうだが意外と無い
39 :
名無しさん@そうだ選挙にいこう :2010/02/15(月) 23:10:10
とっても簡単なことで申し訳ないのですが、 セルの塗りつぶしの色をその他の色から選ぶと 最近使用した色のところに表示されますが、 互換モードだと再起動すると消えてしまいます。 ・ページレイアウトタブの配色を選びなおす ・セルのスタイルとして登録する 以上の他にその他の色から選択した色を登録しておくことは可能でしょうか?
40 :
名無しさん@そうだ選挙にいこう :2010/02/15(月) 23:54:12
教えて下さい。 結合させたセルの中央に挿入した図を中心に置くにはどうしたら良いのですか? マクロは使わずに出来る方法ありますか?
41 :
名無しさん@そうだ選挙にいこう :2010/02/16(火) 00:55:08
【1 OSの種類 .】 WindowsXP SP3
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 何をキーに検索すれば良いのか不明だった為未検索です。
【質問】
下記のあぷろだにサンプルをアップしたので落とした上で教えて頂きたいのですが、
ブックに“ステータス”というシートと“データベース”というシートを作り、
データベース側にはLV1の際の勇者・戦士・僧侶・魔法使いのパラメータを入力しておき、
ステータスシートの職業セルの下にある、水色セルのリストから職業をを選択すると、
各パラメータ欄にデータベース記載の数値が入る様にしたいです。
さらに、LVセル下の水色セルのリストからレベル(1〜4)を選択すると
基準となるLV1の数値に一定の値を加えた数値を表示する様にしたいです。
(サンプルなら各パラメータに+50)
また、データベースには4つの職業分データを入れていますが、後から賢者や遊び人のステータスも追加出来る様にしたいです。
※なお、LVはリストにして選択出来る様にしていますが、1〜4を入力する形でも構いません。
どの様にすれば実現出来るでしょうか?教えて下さい。
http://www.rupan.net/uploader/download/1266248568.xls (DLキーはdq)
誘導されてきたんでほぼそのままコピペします 【1 OSの種類 .】 WindowsXP HOME 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 if 結果 counta 使えない オートフィルタの状態 個数 countif 文字列 合計 これらの組合わせで1時間ほど・・・疲れました やりたいこと エクセルのIF関数で 「+」 「-」 の2種類の文字列出した状態 さらにこの中から「+」の文字列の個数を出したいです COUNTAもオートフィルタで「+」を抽出した状態でのCOUNTAでも正しく数えてくれません 何を使えばこの「+」の個数を数えられますか? お願いします。
>>37-38 遅くなってすみません
ひとまずVal付けてうまくいきました
ありがとうございました
44 :
41 :2010/02/16(火) 03:47:57
>>42 検索キーワードで出ているCOUNTIF関数使えばいいじゃん。
46 :
複乳 :2010/02/16(火) 09:35:42
>>39 VBAで何とでも
>>40 多分ない
>>41 見てないけどvlookup関数か何かじゃない
後ステータスは以下のように書けばいいと思う。多分
=ステータス+レベル*50
>>42 A列だと=COUNTIF(A:A,"+")
>>44 落ちてこないね
47 :
名無しさん@そうだ選挙にいこう :2010/02/16(火) 09:38:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 範囲 抽出 色々試しました xからyまでの範囲の数字のうち30から50までの間の数字が含まれていた場合 違うセルにその数字が幾つ含まれていたかを抽出したいのですが 凄く説明が下手なんで例えると この場合、C1、C2、C3にこういった数字がでるようにしたいのです A B C I 10 45 [15] II 50 70 [0] III 45 90 [5] おねがいします
48 :
複乳 :2010/02/16(火) 09:55:22
>>47 =IF(OR(B1<=30,A1>=50),0,IF(AND(A1<=30,B1>=50),20,IF(AND(A1>=30,B1<=50),A1-B1,IF(AND(A1<=30,B1<=50),B1-30,IF(AND(A1>=30,B1>=50),50-A1,"例外")))))
全パターン作るしかないのかな
テキトーに作ったので色々試して間違ったらテキトーに修正しといて
>47 こんなのどう? =(IF(B1>50,50,B1)-IF(A1<30,30,A1)-(A1<=30)*(B1>=50))*(A1<50)*(B1>30)
50 :
名無しさん@そうだ選挙にいこう :2010/02/16(火) 11:13:27
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 表示形式 ユーザ定義 表示 宜しく御願いします。 セルに16ケタの数字(文字列)を入力した時に表示形式を4ケタづつ表示するように 定義したいのですが、どのように定義すれば宜しいでしょうか? (数字(値)としての機能は無視する形です) 入力)0123456789876432 表示)0123 4567 8987 6432 (4ケタごとの間に半角スペース入れるなど)
51 :
複乳 :2010/02/16(火) 11:50:09
52 :
49 :2010/02/16(火) 12:01:44
>47 訂正 =(IF(B1>50,50,B1)-IF(A1<30,30,A1)-1+(A1>30)+(B1<50))*(A1<50)*(B1>30)
53 :
50 :2010/02/16(火) 13:04:41
>51 有難う御座います。 長島銀 加藤銅 おめです。
>>50 書式設定→ユーザ定義で #### #### #### ####
??… や ##… は文字列には反映されないよ。 >50 は文字列として扱いたいんじゃないの? それに頭の 0 が消えてしまうから 数値として扱っていいのなら、こっち。 0000 0000 0000 0000
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 マクロで質問です。 Sub マクロ1() Call マクロ2 Call マクロ3 End Sub こういう構造のマクロで、 例えば、マクロ2であるエラーが発見されたとき、 マクロ3やマクロ2以降の処理をすっ飛ばして マクロ1をExitSubで終了させることは可能でしょうか? 可能であれば、方法を教えてください。
>56 On Error
58 :
名無しさん@そうだ選挙にいこう :2010/02/16(火) 17:57:40
>>50-51 質問の意味が分からなかったのかと思った俺はエクセル初心者。
59 :
42 :2010/02/16(火) 18:33:47
tifでできました。 よく機能理解してなかったです、どうも!
タグイメージフォーマット?
TimeSerial関数を使おうとしてるのですがうまくいきません コードとその結果が下のようになります なぜtableItem4の値が0になってしまうんでしょうか? tableItem4はInteger型です tableItem4 = TimeSerial(0, Me.Textbox, 0) Debug.Print Me.Textbox Debug.Print tableItem4 Debug.Print TimeSerial(0, Me.Textbox, 0) Debug.Print TimeSerial(0, 11, 0) 11 0 0:11:00 0:11:00
なんか今日の回答レベルが高い気がするのはおれだけ?w
俺は毎回高いんですが!!!
>>61 tableItem4が整数型(Integer)ならそうなる
0:11:00のシリアル値は 0.0076388… だから
>>64 うっかりしてましたorz
ありがとうございました
66 :
42 :2010/02/16(火) 21:39:57
67 :
41 :2010/02/16(火) 21:42:27
↑すみません。41でした。。
勤務表の時間計算したいので書式を[h]:mmにしてるんですけど、 翌日正午(前日から見て36時)まで居残った場合の 翌日分を計算する際、36:00-24:00ってすると答えが36:00になってしまいます。 一日前の36:00を表示してるみたいなんですけど、 欲しい答えは24:00を経過して翌日「12:00」という値なのですが どうしたらいいでしょうか?
>>68 どういう計算式なの?
A1〜A3の書式 [h]:mm
A1 36:00
A2 24:00
A3 =A1-A2
だと A3 は 12:00となるけど.
レスどうもありがとうございます。 詳しく書くと以下のとおりです。 E15 36:00 I15 =E14-TIME(24,0,0) E15には「36:00」と表示されていますが、 セルにカーソルを合わせると「1900/1/1 12:00:00」と書いてあります。
>>70 について、間違いがありました。
I15 =E14-TIME(24,0,0)でなく、
I15 =E15-TIME(24,0,0)、です。
すいません。
>>70 TIME(24,0,0) の第一引数の "24"が問題だと思うよ
たしか 0〜23でないとダメなはず
ためしに
I15 =E15-TIME(0,0,0)としてみ やはり"36:00"ってなるから
つー事で
I15 =E15-(TIME(0,0,0)+1)
又は
I15 =E15-1
だとうまくいく
>>72 教わったとおり、-1でできました!
ありがとうございます。-1でいいなんて。。
深いです。でも面白い。がんばります〜。
また教えて下さいませ。
>>73 "シリアル値"てのを 概要だけでも調べてみるともっと幸せになれると思う
fgngh
お、かけた
>>62 具体的にどのレスか言えば喜ぶ人がいるかもね!!
>>72 timeをA1辺りからひっぱってれば
I15 =E15-(a1+if(a1>=1,1,0))
みたいにすればよくね。よくね。
>>66 http://www1.axfc.net/uploader/Sc/so/83860.xls うーん、正直めんどくさいので作り替えた
戦士最大HP、戦士最大MP、などとすれば直接VLOOKUPを使える。俺の上げた奴は
A1&b1(戦士&最大HP)になっているが、最初から戦士最大HPとしたほうが良い
見た目はドン臭そうだがある意味正規化出来ているのでかなり使える。
元のシート活かしたいならHLOOKUP、もしくは横向きにindex+matchを使う。
どうせ無理だからA列に戦士最大HP、B列に数値とスレば良い
作りまくってればどれがいいかそのうちわかるから、とりあえず作れば良い。スルーされたいなら作らないまま文句言えば良い
77 :
72 :2010/02/16(火) 23:52:24
>>76 たしかにそうゆう方法がいいのかもね
ただ俺的には、質問者から与えられた情報の範囲内でしか回答する気は
ないのでああゆう回答になったのです。
どちらがいいかは回答者が決めることだし別に良いんじやない TIME関数は絶対に手で入力したい!!っていう人かもしれないし、そういう場合だと俺の方が意味不明になるし、気にしない
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 入り口程度 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 「IF 複数 条件」 でIF AND を知ったのですが、条件の数が多くなり、どう入れればいいか分からなくなっている状態です。 セルCに4パターンの組み合わせを入れるのに手間取っています。 両方とも整数なら ○ 両方ともマイナスなら × 左側が整数で右側がマイナスなら 不一致 左側がマイナスで右側が整数なら 不一致 エクセルの状態としては A B C 1 3 5 ○ A B C 1 -3 -5 × A B C 1 3 -5 不一致 A B C 1 -3 5 不一致 これら4パターンのどれが来てもセルCに ○ × 不一致 のどれかが出る様にしたいのです。この4つの条件を入れるにはどうすれば良いのでしょうか? =IF(AND(A1>=0,B1>=0),"○","×") 自分で出来るのはこの1パターンを入れる状態までです。4つ全ての条件の組み合わせ方が分かりません。 お時間のある方、アドバイスよろしくお願い致します。
=IF(AND(A1>=0,B1>=0),"○",IF(AND(A1<0,B1<0),"×","不一致"))
おそらく「整数」が「正の値」であると考えて… <別解> =IF(A1*B1<0,"不一致",IF(A1>0,"○","×"))
83 :
名無しさん@そうだ選挙にいこう :2010/02/17(水) 09:04:10
>82 それだと A1、B1のどちらか、もしくは双方ともゼロの値のときに>79さんの要望に合わないですよ。
>52 書式をマイナスの時0にしておいて =IF(B1>49,49,B1)-IF(A1<31,31,A1)+1
初歩的な質問ですみません。 文字をセル内に何行か書いたあと他のセルに移ろうとすると 「########################」 と表示されます。 文章は生きてるのですが、見た目が意味不明なので困っています。 助けてえらい人。。。
>>85 隣にデータ、もしくは文字が入っており、該当するセルのセル幅より文字列が
長い時、そのような表示になります。
対策として、
・セル幅を広げる
・文字列を折り返す
・フォントの大きさを変える
などがあります。
>85 >文字をセル内に何行か書いたあと とあるので、 1列×複数行をひとつのセルに「セル結合」+セルの書式で「折り返しあり」を設定すると吉
88 :
79 :2010/02/17(水) 17:05:23
すみません、マイナスも整数でしたね。
両方とも自然数なら ○
両方とも負数なら ×
左側が自然数で右側が負数なら 不一致
左側が負数で右側が自然数なら 不一致
この条件で再度よろしくお願いします。
>>83 A1・B1にゼロが入る事は無いです。
申し訳ありません、書き忘れておりました。
じゃあ >82でいいじゃん。
90 :
79 :2010/02/17(水) 17:14:40
アンカーのある人のレスしか見てなかった・・・ さっそくやってみます。 ありがとうございました。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 多少 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 indirect リスト 「データ」→「入力規則」→「リスト」で他のシート (ここではsheet2)から選択する場合、 =indirect("sheet2!A1:A5")とやればできますが、 このA1:A5の部分を、リストの量に応じて可変とすることができるでしょうか。 つまりsheet2のA列にリストを入力し、リスト数をB1セルに=COUNTA(A:A)と出す。 このB1セルの値を=indirect("sheet2!A1:A5")の 「5」の部分に放り込みたいのですが…。 indirectを入れ子にするのでしょうか? いろいろやってみましたけどどうもこの関数は苦手で… ""をつけるのか、つけないのか? &はどこで使うのか? 頭が痛くなってきて降参です。みなさん助けてください。
92 :
91 :2010/02/17(水) 20:36:08
すみません自己解決しました。 なんか分けのわからないうちにできた!
93 :
91 :2010/02/17(水) 20:46:24
たびたびすみません。やっぱりみなさんに教えてもらいたい。 今回はsheet1のB1セルに ="sheet2!A1:A"&COUNTA(Sheet2!A:A)と入れ、 「リスト」の「元の値」に=indirect(B1)としました。 しかしながらこれだとsheet1上に作業セルできてしまいます。 sheet2を完全な作業用シートとしているので、 sheet1を汚さない(?)まま同じ処理ができる方法があれば教えてください。
>>93 一つの方法論として 名前の定義を使用するやりかたもある
名前 HogeHoge 参照範囲 =INDIRECT("Sheet2!A1:A"&COUNTA(Sheet2!A:A))
を定義しておき
「リスト」の「元の値」に=HogeHogeとする
>>94 さん
回答ありがとうございます。
「名前の定義」、調べてみます。
数式バーの隣に入力するのとはまた別ですよね?
96 :
94 :2010/02/17(水) 21:47:45
ツールバーの 挿入(I)→名前(N)あたりで出てこない? ちにみに自分の環境は Excel97という古いExcelなんで 場所が違うかも
>>96 回答者なら使わなくても2003と2007ぐらいはインストールしとこうぜ
98 :
94 :2010/02/17(水) 23:16:36
>>97 私はねそんなのなくても客観的に回答できるんです
あなたとは違うんです
すみません、IF式は二つの場合しか条件を指定できませんよね? (例えばA1が10以下なら1、そうでないなら0など)しかし複数の条件を設定したい場合 (例えばA1が"花"ならB1は1、"雨"なら2、"曇り"なら3、みたいに指定したいときにはどういった関数を使いますか? よろしくお願いします
100 :
名無しさん@そうだ選挙にいこう :2010/02/17(水) 23:52:03
>>99 入れ子にする。
IF(,A1="花",1,IF(A1="雨",2,3,))
ただしこれは花と雨と曇のみの場合
>>99 =FIND(A1,"花雨曇り")
ほかにも条件と結果の一覧表を作って検索するとかユーザー定義関数を作るとか
いろいろな方法がある
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル パスワード エクセルファイル起動時に、パスワードだけでなくIDも要求する方法はありますか? auto_openでinputboxでIDとパス要求するinputboxを表示するようにして、 ifステートメントで、IDかパスが間違っていたらファイルを閉じるようにしようかと考えていますが、 できればinputbox以外の方法を使いたいです。 ファイル保存時の設定変更は、IDを要求することができないので使えませんでした。
>>100 、
>>101 ありがとうございました。今さっそく試してみて入れ子は3個までなら受け付けてくれるのですね
FINDは初めて試してみましたが、条件を増やせば増やすだけ文字列の後ろにつなげていけばいいのですね
で、返ってきた値を置換すればいいのでしょうか
単純なのにおもしろいな、と思いました≧≦
あと一覧表はVLOOKUPか何かで拾ってくるってことかな?と考えてみました
>>97 &
>>98 なんか偽者がでてるみたいなんでコメントしときます
半分はあってる基本的な部分はそんなに変わらないんだし
あと半分は
>>97 の言うとおりだと自分でも自覚しているんです
(ちょっと自粛したほうが良いかな)
>>104 IFの入れ子は7つまで可能
=IF(A1=0,"東",IF(A1=1,"南",IF(A1=2,"西",IF(A1=3,"北",IF(A1=4,"白",IF(A1=5,"発",IF(A1=6,"中","")))))))
>>103 ありがとうございます。
パスワードの部分に文字を入力したときは、文字が「*」で隠されるようにはできますか?
【 検索キーワード 】 手元の本のユーザーフォームの項目、「VBA user form 隠す」
108 :
複乳 :2010/02/18(木) 00:36:39
本物とかどうでもいいだろ
>>105 が
>>94 の偽物の可能性もあるわけだし
アイデンティティがほしければBE付きでコテすれば?
ところで俺の偽物って不思議なぐらい現れないのは何でなんだぜ・・?
あんたにコメントしたつもりないけどね でもここの常連回答者殿の言う通りだからしゃーないな
入れ子やってみました!5こで挑戦して成功しました でも7個までの限界って何故なのでしょうか? とりあえず今晩はこれで寝たいと思いますが、解決策がみつかり助かりました 皆様も暖かくしておやすみください
111 :
複乳 :2010/02/18(木) 00:49:30
あたしおっぱいが3つあるの。だから複乳。あ、でも2つでも複数っていうのよね。
112 :
複乳 :2010/02/18(木) 00:54:24
>>107 逆に言うぜ
そんなもん丸見えだぜ
ttp://www.vector.co.jp/soft/dl/win95/util/se194796.html エクセルVBAはこれを使わなくても解析できるから全く意味無いぜ
まぁ、質問をそのまま受けるなら、知らん。と答える。俺が実装するなら、表示はこんな感じ↓(後ろから見られるのを防ぐ目的か?)。rept関数はないからテキトーに自前で用意する必要があるけど、あね程度vba使えるなら大体分かるだろ
あとはパスワード自体は変数stringに保存しておくといいだろうね。
Private Sub TextBox1_Change()
TextBox1.Text = Rept(Len(TextBox1.Text), "*")
End Sub
>>110 仕様です。"7"段階ネストが限界の理由はマイクロソフトにでも聞いてください
大昔の8bitのなにかしらの名残なのか、キリスト教に関係してるのか。なんだろうね。あんまり興味ない
>>112 ありがとうございます。
解析されることは問題にしておりません。
他の人へとパス付きファイルを渡すので、
文字が隠れたほうが雰囲気が出るかと思い、質問をしました。
VBAの部分は大体理解できますが、ユーザー定義関数は使ったことがありませんので、
私の知識では無理そうです。
無茶を言って申し訳ありませんでした。
114 :
複乳 :2010/02/18(木) 01:06:04
>>111 おっぱいに付いては言わないよ。ホモ・サピエンスで2つなら普通。
人間のことを2本足とか5本指とかいわないでしょう。2つおっぱいとか2乳とか
3つ、というか奇数乳は色んな生物の中でも奇形に入ると思います。病院へ行った方が良いかも?染色体異常が見つかるかも
115 :
複乳 :2010/02/18(木) 01:10:26
>>113 textboxのPasswardcharってプロパティに"*"を設定すればそれっぽくなる
ユーザーフォームごと呼び出してtextbox・・
もっとよさそうな方法はありそうだけどな。まぁ一礼ってことで
プログラム板のvbaスレで聞いてみるいいかもしれない
>>115 ありがとうございます。
これならちょっと練習すればすぐ実用化できそうな気がします。
117 :
名無しさん@そうだ選挙にいこう :2010/02/18(木) 02:36:44
すみません・・ 例えばA1からF1までのセルに文字列が在る場合、その文字列の合計を表示し 一箇所でも文字列が入っていない場合、”未”と表示する方法が分かりません いろいろ試しましたが・・ =SUMPRODUCT(IF(SUM(ISBLANK(A1:F1)*A1:F1),"","未")) エラーで先に進めません。 何方か詳しい方おしえて頂けませんでしょうか? お願い致します。
118 :
名無しさん@そうだ選挙にいこう :2010/02/18(木) 02:58:11
VBAを学習するのにいい本はありませんか? わたくしプログラミングはほとんど知らないので、おサルさんでも分かる入門書でお願いしたいです。
>117 =IF(COUNTBLANK(A1:F1),"未",SUM(A1:F1))
>>117 数値の合計ならば
>>119 ですが、
文字数の合計ということであれば、
=IF(COUNTBLANK(A1:F1),"未",LEN(CONCATENATE(A1,B1,C1,D1,E1,F1)))
「文字列の合計」の意味がわからんちん 数値なら合計、文字列なら連結
122 :
名無しさん@そうだ選挙にいこう :2010/02/18(木) 14:06:17
>>119 様
>>120 様
本当に有難うございます。
無事に表示させることが、出来ました!感謝します。
関数に熟知していない為、なかなか思うように出来ませんでした。
もし、お勧めの書物など在りましたら、ご紹介頂けると助かります。
有難う御座いました!!
>120 そーゆーときこそ =IF(COUNTBLANK(A1:F1),"未",SUMPRODUCT(LEN(A1:F1))) ちなみに良い子のみんなはこちらを使いましょう =IF(COUNTBLANK(A1:F1)>0,…
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 C# Excel Value 消える C#からExcelを操作しています。 1.object[,] range = sheet.Range["A1", "IV100"].Value; ↓ 2.rangeのデータをいじる ↓ 3.sheet.Range["A1", "IV100"].Value = range; このようにすると高速にデータを書き込めるのですが シート上にある =D13/C13 などの計算式の入ったセルが 1.の時点で-2146826273というデータに変わっていることに気付きました。 テキストの状態で一気に取得する方法はないもんでしょうか?
>124 印刷範囲をB:Dにしておいて 印刷しない行(10:12とか19:20)を非表示にして、 ページを区切りたいところで挿入、改ページ ではダメですか? 印刷しない行範囲も画面上では表示させたいの?
>>125 質問の意味がよくわからないのと試すのが面倒なので適当にレス
.Valueのかわりに.Textとか.Formulaを使ってみる
>>127 Formulaでうまくテキスト状態で取得できました!
ありがとうございます!
129 :
名無しさん@そうだ選挙にいこう :2010/02/19(金) 02:59:02
生年月日をソートしたい場合 1901年以降は1,2なのでそのままソートできますが 1900年以前のものを含めますと うまく順番に並び替えができません この場合 どうしても別の列に1901年以降と以前で計算列を作る必要があるのでしょうか? それともうまいやり方とかあるのでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 あまり分かりません 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セル中のスペースを無くす マクロ エクセル VBAでセルの文字の間にある半角スペースを無くせますか? TRIMではだめでした。
133 :
複乳 :2010/02/19(金) 08:52:56
>>124 ファイル→ページ設定→シートタブ
印刷範囲で、1ページ目の範囲をドラッグ次に、
カンマ","を入力して、2ページ目の範囲をドラッグ。
以降その繰り返し。
>>124 別に普通に印刷範囲を
B4:D9,B13:D18,B21:D25
にすればいいだけでしょ
Excel2007 Excel2007ってワークシート関数のDATEDIFが無いんですか? =DATEDIF(A109,$B$106,"y")っていれたら #VALUE! になってしまうんですけど。
137 :
136 :2010/02/19(金) 10:51:47
とてつもない勘違い スマソです
138 :
名無しさん@そうだ選挙にいこう :2010/02/19(金) 14:41:49
Excelのスキルチェックソフトってどこかで手に入りますか? 派遣会社にいくつか登録にいったんだけど そのときにスキルチェックでやらされたら、どこもスキルチェックテスト使ってた。 なので同じスキルチェックソフトで練習したい。
139 :
複乳 :2010/02/19(金) 14:58:36
140 :
名無しさん@そうだ選挙にいこう :2010/02/19(金) 15:37:42
質問です! Excelって印刷のとき1ページに入りきらなかった場合でも いくらでも縮小して1ページにまとめて印刷できるんじゃなかったですっけ? それが今はできないんです。どうしてですか?
141 :
140 :2010/02/19(金) 15:44:00
Word2003, WindowsXP使ってます
>140 改ページプレビューで印刷範囲に点線が出てると それがページ区切りなので、点線をズリズリ ドラッグして、印刷範囲の実線に重ねて 点線が表示されないようにすればよろし。
144 :
130 :2010/02/19(金) 18:48:58
>>133 substituteでできました。ありがとう
145 :
名無しさん@そうだ選挙にいこう :2010/02/19(金) 20:12:12
きのう、Wordの初中級向けの「Wordのストレス解消読本」って本買ったんだけど、 ふつうのありきたりのことを書き連ねていくだけの入門書と違って、 涙が出るほど解説が素晴らしく、書式の概念が大切だとかWordはここが使いにくかったとか、 従来の入門書ではお茶に濁すようなところでも、ズバっと鋭く解説してました。 これのExcel版みたいなのってないですか? わたしみたいに頭が整然としているタイプの人は、こういう本でなきゃ読みたくない。
146 :
↑ :2010/02/19(金) 20:52:26
147 :
名無しさん@そうだ選挙にいこう :2010/02/19(金) 21:50:15
たとえばCTRL + Hを使って セル内にある指定の文字列を別の文字列に置換すると 文字ごとに赤とか黄色とかにしていても そのセル内の文字の色はすべて黒になりますが これを文字列の色を変更させない方法とかあるのでしょうか?
148 :
名無しさん@そうだ選挙にいこう :2010/02/19(金) 23:55:01
149 :
複乳 :2010/02/20(土) 00:05:13
150 :
名無しさん@そうだ選挙にいこう :2010/02/20(土) 01:06:53
>>148 VBAで出来るんだったら
マイクロソフトは初めから出来ないのか?
置換する文字列が赤とかだったら黒になってしまうのは何となくわかるけど
黒の場合も、つまり関係ない部分でも置換したらセル全体が黒にせざるを得ないのか?
151 :
複乳 :2010/02/20(土) 01:27:22
>>150 >マイクロソフトは初めから出来ないのか?
マイクロソフトじゃなく覇俺でもその仕様にできる
つまりそうなってないのはエクセルの仕様です。
マクロの記録してコードを読んでれば理由は予想できると思う
予想できないなら諦めて「そういうもの」だと思って下さい
逆に言うとvbaを使えれば簡単に戻すことが出来ます
152 :
名無しさん@そうだ選挙にいこう :2010/02/20(土) 01:33:40
「形式を選択して貼り付け」を見ると、
すべて
数式
値
書式
コメント
入力規則
罫線を除くすべて
列幅
数式と数値の書式
値と数値の書式
は?なんじゃこりゃ?ってならない?
「すべて」はすべてなんだろうけど、その要素を全部知りたいよ。
他は、そのすべてのうちのたった1つの項目なの?
「罫線を除くすべて」ってなんだよ?具体的にはなんだ?
この「コピーする操作によって記憶させる要素はなんなのか。そしてそれらはどんな関係か」について解説してる本ってないの?
Wordなら分かりやすい本を見つけたんだけど(
>>145 で紹介したやつ)。Excelにもあってほしい。
153 :
名無しさん@そうだ選挙にいこう :2010/02/20(土) 01:40:51
「オートフィル」についても、それだけのテーマにしぼって最低5ページくらいは割いて丁寧に説明してくれてる本が欲しいなあ。
154 :
複乳 :2010/02/20(土) 01:46:31
どのレベルまで行ったらVBAを習得したと胸を張って言っても良いのでしょうか? コード名は覚えてはないですが、基礎的なコードは本やネットを見れば書けて、 コードから理解するのは、それなりに応用されているやつでも理解出来ます。 そんな私は、一応履歴書の特技に基礎的なVBAプログラミングを行えるレベルまで達したエクセルと、記述してます
>>155 時給1900円とかの事務職レベルのしょぼい仕事をやるのであれば
それで十分じゃないでしょか。
時間単価5000円だったらどうかは自分で考えてください。
要するに金次第ですよ。
157 :
複乳 :2010/02/20(土) 08:42:11
>>155 そういうひとのために資格というものがあるのだと思います
変な質問かもしれませんがexcelファイルで28MBにもなることってあるのでしょうか? シートは25枚、各シートの中身はまちまちですが、全部を印刷するとA4で30枚程度 グラフや特殊な関数・画像等は使っておらず、文字・数字だけの表です(計算は合計くらい) 古いPCなのでファイルサイズのせいか開くのが遅くて困っています と同時になぜこんなに大きなファイルなのか疑問に思いました このファイルは1年に一回windows上でコピーし内容を書き換えて保存しているのですが 中身が増えた時でもA4で1、2枚くらいの内容です その状態で3年前は約19MBで1年ごとに約4MBずつ増えています 間がとびますが5年前は約500kBでした 自分で作ったわけではなく知人からの相談で、この500kB→19MBの間に どのような作業をしたのか本人もよく覚えていないようですが (一度項目入力にVLOOK関数を使ってみたが処理が重かったのでやめたと言っていました) 印刷物としてみるとA4で3枚程度しか変わっていませんでした また本人は各項目を入力する時に手打ちではなくコピー機能を多用しているとも 言っていましたが、これらの操作によりゴミでも残っているのでしょうか? 状況がうまく伝わっていないかもしれませんが、もしファイル肥大の原因が 分かる方がいましたらよろしくお願いします
>158 長年のゴミですよ。 新しいブックを作って、引越しすればいい。 シートコピーとか使わず、なるべくセル範囲コピーで。
ここで質問していいのかわからないんですが、エクセルが開けなくなりました。 原因として考えられるのは、前にパソコンの容量がいっぱいなので何個か いらないアプリケーションを消して下さいっていう表示が出た時に あまり使ってないなと思ったアプリケーションを何個か消したのですが その時にエクセルに関係しているアプリケーションを消してしまったんだと思います。 しかしどのアプリケーションが関連していたかがわからないのですが どうしたらいいでしょうか? 馬鹿な質問をしてるのはわかっているのですが、教えてください・・。 電話での問い合わせが平日しか無理らしく困っています。 バージョンは2003です。
>>161 オフィス再インスコ
それで駄目ならOS再インスコ
>>162 再インストールできました。ありがとうございました。
165 :
名無しさん@そうだ選挙にいこう :2010/02/20(土) 18:26:23
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 質問おねがいします。 文章を打ち込み、その文章を登録しておいた単語に置換し新たな文章を作成する方法をおたずねしたいです。 例 「元」 「変換」 です。 でござる。 私 拙者 でしょ? でござろう? ・ ・ ・ などと登録して、 私は元気です。 ↓ 拙者は元気でござる。 などとするにはどうしたらいいでしょうか? お力を貸してください。
>>165 a列に変換元、b列に変換後、D1に文章があるとして
Sub test()
Dim r As Range
For Each r In Range("a1", Cells(Rows.Count, 1).End(xlUp))
Range("d1").Value = Replace(Range("d1"), r.Value, r.Offset(0, 1).Value)
Next
End Sub
関数は思いつかない
>>159 図は無く文字・数字だけです
>>159-160 そういったことが原因でファイルサイズが増えていくとは知りませんでした
原因が分かりとても助かりました、どうもありがとうございます
168 :
名無しさん@そうだ選挙にいこう :2010/02/20(土) 22:53:52
>>166 すいません、VBAなしではできないでしょうか?
よろしくおねがいします。
>>168 複数の置換を自動でやるのはVBAじゃないとできません
まあ、SUBSTITUTEをずらっと並べる方法もあるけど、
これだと7つまでになるのかな?
WindowsXP Excel2003 VBA初心者 VBAでの回答可 検索:セル番地を取得 ダブルクリック イベント 下のシートで A B C D E F G ‥ 1 あいうえおかき ‥ん 2 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 3 4 行1はタイトル行で、[あ〜ん]までのいずれかのセルをダブルクリックすると、 その列を基準に並べ替えを行うようにしたいです。 実際はもっと大きな表で、頻繁に並べ替えをする必要がありオートフィルタを使っていましたが、 ソート時に他の列と複合させる必要が出来てしまい、マクロを使って出来ないか考え中です。 よい方法があれば教えてください。
171 :
名無しさん@そうだ選挙にいこう :2010/02/21(日) 08:29:52
>>168 一式じゃなくてよいなら、
A列に変換元、B列に変換後として
C1に「私は元気です。」
C2以下に
=SUBSTITUTE(C1,A2,B2)
以下コピー
で変わるね。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 開発→挿入→ActiveXコントロールで コンボボックスをシートに貼り付けたんですけど、 そこから入力範囲を設定するやり方が判りません。 以前のバージョンならコントロールタブが有ってそこで 入力範囲を設定できたと思うのですが。
【1 OSの種類 .】 WindowsVista
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
一つのセルに
>>5 ,
>>10 ,
>>20 〜25
と入力してあります。
ここから5,10,20,21,22,23,24,25を取り出して
B列にレス番を入力するにはどうしたらいいでしょうか?
>>170 ダブルクリックのイベントプロシージャを使う
対象ワークシートのコードウインドに記述
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 私の他に色んな人が入力するファイルを作成中。 1件につき1行で、数種類の条件(リストから選択)を入れると 特定の列に金額が出てくるようになってます。 金額の出る列は数式入りなので列ごと保護したいのですが、 そうすると行単位で並べ替えができません。 「ツール」>「保護」>「シートの保護」>「並べ替え」にチェックを入れてもダメ。 「数式入りの列を改変されないようにしたまま、並び替えができる」 この条件を満たすために何か便利な方法はないでしょうか。
>>175 A1セルに入っているとして
Sub aho()
Dim v, vv
Dim i As Long, ii As Long
Dim myRow As Long
myRow = 1
v = Replace(Range("a1").Value, ">>", "")
v = Split(v, ",")
For i = 0 To UBound(v)
vv = Split(v(i), "〜")
For ii = vv(0) To vv(UBound(vv))
Cells(myRow, 2).Value = ii
myRow = myRow + 1
Next ii
Next i
End Sub
>>170 例としてA列〜E列までを対象としたコードを作ってみた
尚、下記ではソート範囲外がダブルクリックされた時
Sortメソッドが実行時エラーになるけど
その対策を考えるのがメンドイのでOn Errorで逃げてます(笑)
'対象ワークシートのコードウインドに記述
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Row = 1 Then
With Range("A1", Range("E1").End(xlDown))
On Error GoTo SERR
.Sort Key1:=Target, Order1:=xlAscending, Header:=xlYes
End With
End If
SERR:
End Sub
>>178 ありがとうございます
上手く動作しました
tensai()
181 :
名無しさん@そうだ選挙にいこう :2010/02/21(日) 22:39:00
【1 OSの種類 .】 WindowsVISTA 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 全シートの中の文字が入力されているセルの中にある特定の文字(httpとか) が含まれるセルがあった場合、そのすべてのセルを削除(クリアでも可) をしたいのですが可能でしょうか? フィルタ掛けて1シートずつ削除ってのもできるのですが 如何せんシートの数が多いので教えてください
>181 置換 *http*→(空白)
183 :
170 :2010/02/22(月) 11:23:08
>>176 ,179
ご回答ありがとうございました。やる気が湧いて来ました & 参考になります。
ifとthenとかもう少し勉強してみます。
あと、返信遅くてすみませんでした。
>>177 マクロ使うしかないんじゃないかなぁ。
保護解除
↓
条件にそった並び替え
↓
保護
って言う流れ。
マクロ記録すれば簡単だろ。
185 :
名無しさん@そうだ選挙にいこう :2010/02/22(月) 14:54:56
EXCEL2007、Windows7です。
(1)「
http://www.abc.co.jp 」とセルにキーボードから入力するとリンクになります。
リンクではない、普通の文字列にするには、どうすれば良いのでしょうか?
(2)CONCATINET関数を使って、「
http://www.abc.co.jp 」という文字列を
セルに入力すると普通の文字になります。
これをリンクにするには、どうすれば良いのでしょうか?
よろしくお願いします。
>>185 (1)右クリック→ハイパーリンクの削除
>>185 (2)
=HYPERLINK(CONCATENATE(A1))
188 :
185 :2010/02/22(月) 15:36:23
189 :
177 :2010/02/22(月) 19:11:01
>>184 さん
やっぱそうですか…。
回答ありがとうございました。
190 :
名無しさん@そうだ選挙にいこう :2010/02/23(火) 01:52:02
Excel2007の検索で 正規表現で あああ*などの検索は使えるのですが ^あああ(先頭文字) や あああ|いいい(どちらかがヒット) は使えません これを正規表現として使えるようにはできないのでしょうか?
Excel使ってみたいのですが初心者でもわかりやすく解説してるようなマニュアル本とかないでしょうか? 定番みたいな入門書があればオススメお願いします
【1 OSの種類 .】 WindowsXP SP3 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい(初心者レベルです) 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 セル参照、INDIRECT など 別ファイルにあるデータ取得するのに、 日付によって参照するセルを変えたいです。 例えば 2/1 ならば A6を参照するように 2/5 ならば A11を参照するように のようにしたいです。 まったくの見当違いかもしれませんが、自分なりに考えてみた結果 記述的には ='[ファイル名.xls]シート名'!$A$(5 + DAY(TODAY())) このような感じにしたいと思っているのですがエラーがでてしまいます。 どんな風に書けばよいか教えて頂けないでしょうか。 宜しくお願い致します。
>>194 =INDEX('[ファイル名.xls]シート名'!A:A,5+DAY(NOW()),1)
2/5ならA10じゃないの? A11でいいんだとしたら法則がわからん
196 :
194 :2010/02/23(火) 09:13:38
>>195 A10です。すみません。
寝不足で足し算すらまともにできてませんでした。
試してみたら、見事にできました!
本当助かりました。ありがとうございます。
タブ区切り化されていないテキストデータ、 例えば下記の様なデータを、エクセルに落し込みたいのですが うまい方法ありますか? りんご 1個 500 ぶどう 1個 600
>>197 テキストファイルウィザードで区切り文字をスペースに
199 :
複乳 :2010/02/23(火) 09:47:11
>>197 貼り付けた後
データ 区切り位置 カンマやタブなどの〜
固定長レコードの読み込みもできるし
Excel2000,2003です。 どうしてもうまくいかないことがあるので助けてください。 データを日付で「並べ替え」を使ってソートさせたいのですが、 曜日と時刻の部分が、「2月1日(月)13:00」や「2月11日(木)18:00」 のように全角になっていたりするので、書式を「m"月"d"日";@」としました。 その書式で昇順でソートさせると、1月より10月や11月が先にきてしまいます。 同じように、10日が1日より前になってしまいます。 どこを変更すれば、強引に日付順に並べられるでしょうか?
>>202 書式を
m"月"d"日"(aaa) h:mm
とすればどうよ。
204 :
名無しさん@そうだ選挙にいこう :2010/02/24(水) 04:06:24
いつのまにか手動計算になっていてあせった。もう10年以上使っているが、こんな経験ははじめて。 設定変更なんかしていないのに。ネットで検索したら自動計算に戻す方法がすぐでてきたのでよかったが、約20分損した。 ネットによると作業グループを設定すると手動計算になるとあったが、そんなことはしていなかったが。。
>>202 半角と全角が混ざった状態でソートするのは無理。
ソートのプログラムをVBAで書くしかない。
データを加工していいんなら、日付データをすべてシリアル値に修正するのが正解。
時刻を無視してソートしていいんなら日付をすべて2桁に修正するという手もある。
「2月1日」→「02月01日」
これならワークシート関数だけでなんとかなる。
206 :
複乳 :2010/02/24(水) 09:52:49
>>202 量が多いならfindとmid組み合わせて日付データを作り上げるのが確実かね
>>204 たまによくある。
作業グループとは関係なく、
古くからずっと使ってるファイルだと何かの拍子で起こる気がする。
月と日を2桁に統一して、全角を半角に変換する数式 =ASC(IF(FIND("月",A1)=2,0,"")&IF(FIND("日",A1)-FIND("月",A1)=2,LEFT(A1,FIND("月",A1))&"0"&MID(A1,FIND("月",A1)+1,99),A1))
>202 日付と自動認識されない文字列を いくら m"月"d"日" とか書式設定しても全く意味無いよ。 =ASC(A1) をオートフィルで全部半角に変換しておいて、 コピー値貼付け、「月」を「/」に「日(?)」をスペースに置換 データ→区切り位置→完了 これでシリアル値に変わるから、後は好きな書式に。
>207 何か背中がかゆいw
>>209 一発でやろうとすると長くなるから、作業列をもう一つ増やして
FIND("月〜だけ別にすればいいんだよな
>>208 それだけだと時刻情報が抜け落ちるから正常にソートできなくなる
213 :
208 :2010/02/24(水) 11:47:16
今試したら、全角でも認識されるから ASC は不要だな。 日付の範囲を選択して、「月」を「/」に置換 「日???」をスペースに置換 データ→区切り位置→完了
>212 時刻も保持されるよ。 その為にスラッシュ区切りに置換するんだから。 それより気をつけるべきは、以前のデータでも 今年と見なされるから、後で年の補正をしないと 曜日がずれること。
215 :
名無しさん@そうだ選挙にいこう :2010/02/24(水) 13:02:39
教えてください。Excelのグラフについてです。 【1 OSの種類 .】 Mac OS X 10.4.11 【2 Excelのバージョン 】 Excel2004 for Mac 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 グラフ作成 初期値 グラフボタンを使って、グラフを作成しています。 作成されたグラフは、Excelの初期値により、値マーカ無し、影付きなど、勝手に決められた内容で作成されます。 しかし、それでは困るので、出来上がったグラフをダブルクリックして、マーカー付けて、影消して、線を細くして・・・・と 手で直しています。 これらの初期値(デフォルト)を、私がセットするには、 どのようにしたら良いでしょうか? 宜しくお願いします。
216 :
名無しさん@そうだ選挙にいこう :2010/02/24(水) 13:11:57
>>215 です。
すみません、追加です。
グラフを作成したとき、グラフ背面の色が灰色になる(自動的になる)のですが、
灰色はイヤなので、白くしたいです。
いつもは、灰色の部分をクリックしてdeleteキーで消しています。
宜しくお願いします。
217 :
複乳 :2010/02/24(水) 13:22:55
>202 >208の方法を関数でやると、例えば2008年のデータなら =VALUE("08/"&REPLACE(SUBSTITUTE(A1,"月","/"),FIND("日",A1),4," ")) 書式を>203にする。
【1 OSの種類 .】 Windows XP HE
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 はい(少し)
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 配列?
ナンプレをイメージしていただくと解りやすいと思います。
http://ja.wikipedia.org/wiki/%E6%95%B0%E7%8B%AC A1:I9(つまり縦9 横9) のセルの中には0〜9までの整数が入っております。
この9×9をそれぞれ 3×3の9エリア(A1:3C、D1:F3・・・G7:I9))に分けます。
あるエリアに任意の数字が入っていたら、そのエリアを色づけするマクロを
考えておりますが、どうすればいいのでしょうか?
途中までのコード
sub test
dim エリア(9)
For x = 1 To 9 Step 3
For y = 1 To 9 Step 3
i = i + 1
Set aa(i) = Range(Cells(x , y ), Cells(x + 2, y + 2))
aa(i).Select
Next y
Next x
end sub
こっちです。 sub test dim aa(9) For x = 1 To 9 Step 3 For y = 1 To 9 Step 3 i = i + 1 Set aa(i) = Range(Cells(x , y ), Cells(x + 2, y + 2)) aa(i).Select Next y Next x end sub
>>219 とりあえず色をつける方法
Sub test()
Dim aa(9)
For x = 1 To 9 Step 3
For y = 1 To 9 Step 3
Set aa(i) = Range(Cells(x, y), Cells(x + 2, y + 2))
aa(i).Select
Selection.Interior.ColorIndex = i + 3 ' 色をつける
i = i + 1
Next y
Next x
End Sub
222 :
名無しさん@そうだ選挙にいこう :2010/02/24(水) 17:22:53
>>220 selection.Interior.ColorIndex = 6
でもいいかも。
Sub test()
Dim aa(9)
For x = 1 To 9 Step 3
For y = 1 To 9 Step 3
i = i + 1
Set aa(i) = Range(Cells(x, y), Cells(x + 2, y + 2))
If Application.WorksheetFunction.CountIf(aa(i), 2) > 0 Then
aa(i).Interior.ColorIndex = 6
End If
Next y
Next x
End Sub
223 :
名無しさん@そうだ選挙にいこう :2010/02/24(水) 17:23:45
CountIf(aa(i), 2)の2が任意の数字
224 :
219 :2010/02/24(水) 17:31:53
サンクスです。 これから試してみます。
>>222 まだ作りかけだから、Selectした領域に対して別の処理をする可能性があるんで
あえてそのままにした。
ワークシート関数使わないとき Sub hoge() OptNum = 7 '任意の数 Range("a1:i9").Interior.ColorIndex = xlNone 'クリア For i = 1 To 7 Step 3: For j = 1 To 7 Step 3 Set Rng = Range(Cells(i, j), Cells(i + 2, j + 2)) For Each r In Rng If r = OptNum Then Rng.Interior.ColorIndex = 6: Exit For Next: Next: Next End Sub
227 :
名無しさん@そうだ選挙にいこう :2010/02/24(水) 20:33:28
>>217 ありがとうございました。
デフォルトではなくて規定値という言葉を使うんですね。始めて知りました。
ご紹介いただいた所を含めて、探してみましたが、
自分の作ったグラフを、雛形の1つにするというのは多数見つかりましたが、
Excelのデフォルトを変更する方法は見つかりませんでした。
ありがとうございました。
228 :
202 :2010/02/24(水) 21:44:48
>>203 ,
>>205 ,
>>205 ,
>>208 ,
>>218 レスありがとうございます。
とても参考になりました。
毎日100行近くデータが追加されていくので、
なんとか手数の少ない方法でソートしたかったのですが・・・。
全角文字を半角になおすマクロを作ってみたら、
もう、全部マクロにしちゃった方が早くなるような気がしてきました。
みなさんのレスはとてもいいヒントになりました。
229 :
名無しさん@そうだ選挙にいこう :2010/02/24(水) 22:17:05
Rectangle や Ovalの図形の番号を知るにはどうすればいいですか?
230 :
名無しさん@そうだ選挙にいこう :2010/02/24(水) 22:24:36
>>229 はまだ、アク禁解除になってないと思ってのテストで orz
【1 OSの種類 .】 Windows xp
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】
久しぶりに操作をするとエラーになりました。
図形番号が変更されてしまっているみたいです。
VBAを修正するために図形番号を取得する操作を教えてください。
>>229 その図形を右クリックしてマクロの登録を選ぶと図形の名前がわかるんで、
名前から番号への変換はVBAで。
232 :
複乳 :2010/02/24(水) 22:52:13
>>228 一番いいのはそのファイルをアップロードすることだぜ
よってたかって最適化してくれるだろう
>>230 この1をテキトーに変数に入れてfor eachでもすれば
もしくは普通にマクロの記録
Sub Macro1()
Sheet1.Shapes(1).Select
End Sub
233 :
229 :2010/02/24(水) 22:58:46
元々、自分で作ったマクロですが、 Activesheet.Shapes("Rectangle 54").Select Selection.Interior.ColorIndex =22 の{54}が違ってしまっているみたいです。 マクロの登録を選んでマクロの編集をすることは出来ますが、図形の名前が わかる方法がわかりませんので、お願いします。
234 :
229 :2010/02/24(水) 23:05:15
すいません わかりました orz orz
>全部マクロにしちゃった方が早くなるような気がしてきました そらそーだわな
236 :
名無しさん@そうだ選挙にいこう :2010/02/25(木) 02:37:45
あああaaaa いいいiiii ううううu えeeeeeeeeee みたいなデータが続いていて これをそれぞれ下記みたいに区切りたい場合どうすればいいのでしょうか? あああ aaaa いいい iiii うううう u え eeeeeeeeee つまりひらがなとローマ字の切り離しです
>>236 関数的解決法、
=REPLACE(A1,LEN(LEFT(A1,SUM(LENB(A1)-LEN(A1))))+1,," ")
>236 セルを分けるなら A1が元データとして B1に =LEFT(A1,LENB(A1)-LEN(A1)) C1に =SUBSTITUTE(A1,B1,"") 考え方は>237と同じ。
>>237-238 は文字のバイト数の違いを利用してるのですか?
私は質問者ではありませんが…
240 :
複乳 :2010/02/25(木) 19:19:31
そう。あああaaaaなら10バイトで7文字。2バイト文字は3文字ある計算になる だから3文字目の次の""(0文字の文字列)を半角スペースに置換している
>237 のNullを空白にREPLACEする方法は知らなかった。 勉強になるわ。
「Excel関数ハンドブック」的な本でLENB関数なんかが載ってるの見て こ ん な の 誰 が 使 う ん だ よ そう思っていた時期が僕にもありました。。。(AA略)
243 :
名無しさん@そうだ選挙にいこう :2010/02/26(金) 00:21:01
CはCOMBIN、ΣはSUMを使う。
245 :
名無しさん@そうだ選挙にいこう :2010/02/26(金) 00:28:13
246 :
名無しさん@そうだ選挙にいこう :2010/02/26(金) 00:54:55
1 OSの種類 】 WindowsXP HOME 【2 Excelのバージョン】 Excel 2003 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Vlookup やりたいこと 例えば A列に出席番号、B列に生徒の氏名、C列にテストの点数を入力した表を作って その中の最高点の生徒の出席番号、氏名、テストの点数をまとめて 表の外に表示させる方法ないでしょうか MAXでC列の最高点を抜き出すことはできるんだけど同じ行のA、B列も 一緒に抜き出したいんですが方法がわかりません Vlookupを組み合わせてでできるような気がしてググってるけどわかりますんでした ちなみに教師じゃありません A列 B列 C列 番号 名前 点数 1 あおき 80 2 いとう 70 3 かとう 85 最高点 3 かとう 85←抜き出したい こんな感じです。よろしくお願いします。
247 :
名無しさん@そうだ選挙にいこう :2010/02/26(金) 01:08:11
>>243 です
試してみたのですが、どうしてもとけません。
B2にお見合い人数
C2に見送り人数を記入しました。
そして、
>>244 さんのいうとおり、変数を式ごとに作って、最後に、かけ算したのですが、政策な数値がでません。
どうしたらよいでしょうか?
>>246 仮に抜き出す場所をそれぞれ、
番号 …A6
名前 …B6
最高点…C6
とした場合、まず最高点を求める。
=MAX(C2:C4)
あとはそれを検索値として番号と名前を求める。
番号
=VLOOKUP(C6,A2:C4,1)
名前
=VLOOKUP(C6,A2:C4,2)
249 :
248 :2010/02/26(金) 03:00:42
ごめん、間違った。忘れてちょうだい。
250 :
248 :2010/02/26(金) 05:16:13
番号が単純に連番であるなら A6 =MATCH(C7,C2:C5,0) で運用できるけどこの式は番号を参照しているわけじゃない のでちょっとおすすめはしません。
252 :
名無しさん@そうだ選挙にいこう :2010/02/26(金) 06:28:34
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA USB 取り付け 取り外し USB経由でつないでいるリムーバブルHDDに バックアップを取る際にVBAからUSBの接続(再認識)をさせ バックアップが完了したらUSBの接続の取り外しをしたいと思っています EXCELのVBAで上記のようなことは可能でしょうか? 可能でしたら関数などを教えていただ期待と思っています
>>247 カッコ内を 1 〜 n+1-m まで作ってそれをSUMで合計しないといけない。
>>252 VBAの関数では無理。
CM_Request_Device_EjectなどのAPIを直接呼び出す必要がある。
「API」という単語の意味がわからない場合は手を出さない方がいい。
テキストボックスに今日の日付を入力しておいてボタン操作で一日送り、戻し出来るようにしてあります
フォーカスしてEnterだと連打でも押しっぱなしでもスムーズに進むのですが、
マウスクリックだとある程度間隔をあけないと反応がありません
これをマウスクリックでもスムーズに動かす方法はありますか?
http://kissho.xii.jp/1/src/1jyou106141.jpg Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 5
Me.Controls("date" & i) = Date
Next i
End Sub
'日付プラス
Private Sub DatePlus_Click()
Dim i As Integer
myDate = Me.date1.Value
For i = 1 To 5
Me.Controls("date" & i) = DateAdd("d", 1, myDate)
Next i
End Sub
258 :
おく :2010/02/26(金) 16:12:17
こんにちは。 無料でダウンロードできるところありますか?
>>257 急いで2回クリックするとダブルクリック1回と判断されてしまうので対策が必要。
具体的にはこうするだけ。
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 5
Me.Controls("date" & i) = Date
Next i
End Sub
Private Sub DatePlus_Click()
Dim i As Integer
myDate = Me.date1.Value
For i = 1 To 5
Me.Controls("date" & i) = DateAdd("d", 1, myDate)
Next i
End Sub
Private Sub DatePlus_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
DatePlus_Click
End Sub
261 :
名無しさん@そうだ選挙にいこう :2010/02/26(金) 17:00:41
Excel2003SP3を使っています。 xlsファイルに変更を加えて保存をしようとすると、 以下のエラーが表示されてしまいます。 「共有違反のため保存されませんでした。別のファイルに保存し直してください。」 同じファイルで毎回発生するわけではなく、 他のファイルなども触っていて1日1回くらい見かけます。 別名で保存してリネームしていますが、気持ち悪いです。 ネットで検索してみてもいまいち原因がわからないのですが なにか解決策はありませんか?よろしくお願いいたします。
263 :
名無しさん@そうだ選挙にいこう :2010/02/26(金) 19:18:50
>>263 まずは算数の教科書をよく読んで、Σの意味を調べなさい
A1に「セピア色」と入力した時、 C3:F30のデータ範囲にある、A1と同じ値・文字の「セピア色」と 入力されているセルを色付けされるようにするのはどうすればいいのでしょうか?
>>259 ,261
ダブルクリックになってたとは思いつきませんでした
トグルボタン試してみましたがうまく書けなかったのでダブルクリックイベントを止める方法にしました
レスありがとうございました
268 :
名無しさん@そうだ選挙にいこう :2010/02/26(金) 22:41:23
1.WinXPsp3 2.excel2003 3.いいえ 質問させて頂きます。 エクセルのファイルが壊れやすくなったため、 今あるエクセルデータをコピーして新しいエクセルに貼り付けしようと したのですが、1つのセルに文字数が多いものは、途中で切れてしまします。 そこで、コピー→右クリック→形式を選択して貼り付け→値→OK ↑ としたいのですが、なぜか変なウィンドウ(名前は形式を選択して貼り付け)が 表示され、真ん中に貼り付け、リンク貼り付け、アイコンで表示のラジオボタンが表示 されてしまうのですが、これをコピー→右クリック→形式を選択して貼り付け→値→OK のようにするにはどうすれば宜しいでしょうか?
269 :
名無しさん@そうだ選挙にいこう :2010/02/26(金) 23:00:38
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 エクセルのタブが増えすぎて管理に困ります。。 横一列に並ぶのではなく、縦一列に並べることってできませんか?
>>269 当方環境2002ですがシートタブの横の|? ? ? ?|(シート選択の三角のボタン)
を右クリックすると既存のシートタブとは別にシート名が縦に表示され選択
出来ます。
2007で出来るかどうか解りませんがお試しを。
|? ? ? ?| ← 文字化けするかも。
271 :
名無しさん@そうだ選挙にいこう :2010/02/27(土) 00:43:29
>>263 をエクセルでやることは無理ってことですか?
>>271 VBA組めばできるけど、俺の知識じゃ2時間くらいかかりそうだから他の人に任せてる
273 :
名無しさん@そうだ選挙にいこう :2010/02/27(土) 11:15:07
データAを別の規則性のあるデータBに置き換えるにはどうすればよでしょうか? 例:あるテスト(100点満点)の点数にランクを付けたい(点数:ランク) 0〜34:E 35〜49:D 50〜64:C 65〜84:B 85〜94:A 95〜100:S
>>268 値貼付けはよく使うから(俺だけか?)
ユーザー設定で値貼付けアイコンを
コピペアイコンの横に置いておく事を
お勧めします。
形式を選ぶ手間がなくて便利だよ。
>273 =IF(A1<35,"D",IF(A1<50,"C",IF(A1<85,"B",IF(A1<95,"A","S")))) とか =INDEX({"D","C","B","A","S"},MATCH(A1,{0,35,50,85,95}))
あ、65が抜けてしまった。 自分で補完してね。
>>273 >>275 のINDEXとMATCHと同じだが
=LOOKUP(A1,{0,35,50,65,85,95},{"E","D","C","B","A","S"})
=LOOKUP(A1,{0,35,50,65,85,95;"E","D","C","B","A","S"})
など。
普通はシートに表を作るけどな。
決められた数字を入力すると、決められた文字が入るってやつ、ナニ関数っていうんでしたっけ? 例えば 「1」って入れたら「テンプレ嫁」って入力されたり、 「2」って入れたら「ggrk」って入力されたり 予め 1 テンプレ嫁 2 ggrk って作成して、それを参照させる関数
VLOOKUP() じゃね?
=VLOOKUP(検索のキー、検索表の範囲、検索表の左から何列目を返すか、検索方法)
もっとも
>>278 のように2行2列の表ならVLOOKUPじゃなくても良いだろうけど。
>>279 ありがとう
名前が分ればググれるので助かりました
ちなみに表は、20行2列です
281 :
278 :2010/02/27(土) 22:22:51
あれれ? 自分が入力するセルと、返す文字列って、左右隣同士の関係じゃないとダメなんでしたっけ? この制約は絶対?
んなこたーない。
283 :
名無しさん@そうだ選挙にいこう :2010/02/27(土) 23:14:05
>>274 様
ありがとうございました!
本当に感謝します!!
284 :
複乳 :2010/02/28(日) 00:18:47
>>262 再インストール
>>271 正直それが何を意味するのか忘れた。数列だっけ?
エクセルでできんことはないと思うよ。多分。
>>281 検索表の範囲からはみ出てるか、検索方法をTRUEにしてるのに昇順になってないか(分からなければFALSEにしておけば大体ok)
辺りでおかしくなってると予想
285 :
278 :2010/02/28(日) 00:36:28
>>274 アイコンクリックする手間よりSCの方が早いけどな
287 :
262 :2010/02/28(日) 10:27:59
>>284 レスありがとうございます。
この現象、再インストールが必要なのですか?
とりあえず再インストールを試せというレベル?
>>287 >284じゃないがソフトの動きがおかしくなったりエラーが出やすくなったりしたら
再インストールとかシステムの復元で数日前にさかのぼるのは常套手段ですよ。
ただ、システムの復元するときは必ずバックアップをとっておこう。
【1 OSの種類 .】 Windows7 Pro 64bit 【2 Excelのバージョン 】 Excel 2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excelで作成したグラフをPowerPoint2010上で使用する場合、グラフの曲線1つ1つにアニメーションを設定するには どうすればよいででしょうか? 系列別などを選択してもスライドショーで表示されない上、項目別にするとPowerPointが強制終了してしまいます。
290 :
名無しさん@そうだ選挙にいこう :2010/02/28(日) 14:54:31
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】 セル連動、文字 一つのセルに「今、≪≫時」と表示させたいです。 ≪≫に他のセルで計算した結果を表示させたいです。 よろしくお願いします。
291 :
複乳 :2010/02/28(日) 15:04:40
>>290 ="今"&HOUR(A1)&"時"
分はminute関数など
292 :
名無しさん@そうだ選挙にいこう :2010/02/28(日) 16:17:32
>>289 2010はまだβ版だから、バグの可能性大。
>>270 すごい!初めて知った
横にだらだらシートが入ってるときにはらくちんですね
つうか文字化けwww
294 :
名無しさん@そうだ選挙にいこう :2010/02/28(日) 16:45:05
質問です。よろしくお願いします。 XP.エクセル2007。 VBAで、 シート3のA10に シート1のA1 + シート2のA1 の解を入力したいのですが。 どのようにプログラムすれがよいのでしょうか? 同じシート内であればわかるのですが、別のシートのA1の指定のやり方が解りません。 教えてください。お願いします。
295 :
複乳 :2010/02/28(日) 17:02:06
マクロの記録
296 :
名無しさん@そうだ選挙にいこう :2010/02/28(日) 17:34:42
Worksheets("sheet3").Range("a10").Value = Worksheets("sheet1").Range("a1").Value + Worksheets("sheet2").Range("a1").Value まあ、普通はこんな長ったらしくは書かないけど。一応基本のキ
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 未検索です EXCALを勉強し始めて2ヶ月、本を数冊読みながら↓関数を作ったのですが… =IF(AND(IF(ISERROR(VLOOKUP($C8,全04,1,FALSE)),TRUE,ISTEXT(VLOOKUP($C8,全04,I$5,FALSE))) ,IF(ISERROR(VLOOKUP($C8,偽問,1,FALSE)),TRUE,ISTEXT(VLOOKUP($C8,偽問,COLUMN(),FALSE))) ,IF(ISERROR(VLOOKUP($C8,偽★,1,FALSE)),TRUE,ISTEXT(VLOOKUP($C8,偽★,COLUMN(),FALSE)))) 全04・偽問・偽★の3コのシートにC8が存在するか 存在した場合検索値は文字か? ,"無"・3コのシートに存在しなかった&存在したが検索値が文字だった ,SUM(IF(ISERROR(VLOOKUP($C8,全04,I$5,FALSE)),0,VLOOKUP($C8,全04,I$5,FALSE)) 全04にC8が存在しないなら0、存在するならI5列の検索値を持ってくる ,IF($CJ8="解除",0,IF(ISERROR(VLOOKUP($C8,全04,I$6,FALSE)),0,VLOOKUP($C8,全04,I$6,FALSE))) 解除なら0・全04にC8が存在しないなら0、存在するならI6列の検索値を持ってくる ,SUMIF(問!$A$11:$A$4051,$C8,問!I$11:I$4051),SUMIF(★!$A$11:$A$712,問!$C8,★!I$11:I$712))) 同じ物・(いろは)+(いろはコピー)+(いろはコピーコピー)をいろはで集計する っとありえない程の長文になってしまいました… 普通こんなに長い関数なんか使わないんですか? それとも、もっと関数を短くするコツなんかがあるんでしょうか? 会社のPCでは重くて動かなくなって泣きそうです… もし宜しければご意見をください
298 :
名無しさん@そうだ選挙にいこう :2010/02/28(日) 17:59:08
>>296 サンキューです。ありがとうございました。
300 :
297 :2010/02/28(日) 18:16:17
>>299 すいませんでした、内容を簡潔に変更して!
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel 2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 未検索です
EXCALを勉強し始めて2ヶ月、本を数冊読みながら↓関数を作ったのですが…
=IF(AND(IF(ISERROR(VLOOKUP($C8,全04,1,FALSE)),TRUE,ISTEXT(VLOOKUP($C8,全04,I$5,FALSE)))
,IF(ISERROR(VLOOKUP($C8,偽問,1,FALSE)),TRUE,ISTEXT(VLOOKUP($C8,偽問,COLUMN(),FALSE)))
,IF(ISERROR(VLOOKUP($C8,偽★,1,FALSE)),TRUE,ISTEXT(VLOOKUP($C8,偽★,COLUMN(),FALSE))))
,SUM(IF(ISERROR(VLOOKUP($C8,全04,I$5,FALSE)),0,VLOOKUP($C8,全04,I$5,FALSE))
,IF($CJ8="解除",0,IF(ISERROR(VLOOKUP($C8,全04,I$6,FALSE)),0,VLOOKUP($C8,全04,I$6,FALSE)))
,SUMIF(問!$A$11:$A$4051,$C8,問!I$11:I$4051),SUMIF(★!$A$11:$A$712,問!$C8,★!I$11:I$712)))
っとありえない程の長文になってしまいました…
中身の内容は兎も角、普通こんなに長い関数なんか使わないんですか?
それとも、もっと関数を短くするコツなんかがあるんでしょうか?
会社のPCでは重くて動かなくなって泣きそうです…
>>300 このままだと何をしているか さっぱり分からんけど
ワークセルを用意できるなら
複数のセルに数式を分割した方がよいかも
単純な例で申し訳ないけど
B3 =A1+A2+A3+A4
だと
B1 =A1+A2
B2 =A3+A4
B3 =B1+B2
てな感じで
内容解読する気もないけど、 >普通こんなに長い関数なんか使わないんですか? メンテが大変だからできるだけ作業列を使う。(他の人が分かる、という以前に自分がわからなくなる) >関数を短くするコツなんかがあるんでしょうか? 慣れもあるからね・・・センスも >会社のPCでは重くて動かなくなって泣きそうです… vlookupは重くなる。仕方がない。 解読する気はないけどさ、 >(IF(ISERROR(VLOOKUP($C8,全04,1,FALSE)),TRUE,ISTEXT(VLOOKUP($C8,全04,I$5,FALSE))) ココらへん読むと変。ちょっとあり得ない(?)式の作り方をしている
303 :
262 :2010/02/28(日) 18:50:39
>>288 レスありがとうござます。
そうしたいところなのですが、会社のPCなのであまり勝手なことはできないのです。
せめてそれが原因とわからないと。。
詳しいと思われる人に調べてもらってもWebにもあまり確からしい情報がなくて;;
再インストールはできるのか、聞いてみます。
もし原因や対策に心当たりある方いらっしゃったら教えてください。
304 :
297 :2010/02/28(日) 19:20:31
>>301 >>302 レスありがとうございます
作業列を別のシートで作成して分割するのが良いのですかね…
過去10年のそれぞれの月の商品の売上の一覧作成を言われたのでが…
商品の品番($C8)が価格変更・仕様変更・統合などで、ころころ変わってるのですよ…
今現在が「AAAA」で過去に「A」「AA」「AAA」があり、
それを「AAAA」を見たときに全てを合計してないとだめなんですよね…
04年8月迄は「A」であったが04年9月〜は「AA」に…って感じです
しかも04年9月〜のデータでは「A」自体が一覧に存在しなくなるのです
なので各年の品番量もばらばらでVLOOKUPでしか検索できない(と思い込んでるだけかも?)
始末です。
もう少し頭を絞ってなんとか頑張ってみようと思います。
ありがとうございました。
>>297 |∧∧
|・ω・`) そ〜〜・・・
|o旦o
|―u'
| ∧∧
|(´・ω・`)
|o ヾ
|―u' 旦 <コトッ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ミ ピャッ!
| 旦
会社のデータだから、そのまま貼れとは言えんが、 エクセルデータ(jpgでもおk)をうpしてやりたいことを教えてくれ
>>305 やさしいなw
助けてあげたいのは山々なんだけど、(というか、ここの回答している人はそんな奴ばっかりだと思う)
何をしたいんだか分かんないんだよね。
品番が変わっているのは大元を直すのが吉・・・だと思う。
308 :
複乳 :2010/02/28(日) 20:32:48
>>304 AとAAとAAAとAAAAの合計は
=SUMIF(範囲,"A*",合計範囲)
になるが、こんなことじゃねーのかな。
でも多分ピボットテーブルでやるべき問題っぽいな。
AAAAとかAAAとかAAの左1文字を作業列に取り出せばいいし。
やりたいこと分らんから全然的外れかも知らんけど。
310 :
名無しさん@そうだ選挙にいこう :2010/02/28(日) 22:02:08
VLOOKUP(?)について質問です あんぱん あんドーナツ あんこまんじゅう ↑こういうデータがあったとき、「あん」まで入力したら、 検索候補が出てくるとか、そういう機能ってありますかね? それか、 あんぱん どら焼き せんべえ ↑こういうデータがあったとき、「あん」まで入力したら、 勝手に検索結果を補完してくれるとか、そういう機能があれば知りたいですm(_ _)m
311 :
297 :2010/02/28(日) 22:35:00
312 :
複乳 :2010/02/28(日) 22:42:52
>>310 上はオートコンプリートだな。ツール→オプションノ中に設定項目がある
A1-A3に予め入力しておけばA4で出てくる。
下はリストか
データ 入力規則 設定タブ 「入力値の種類」をリスト 「元の値」をあんぱ,どらや,せんべ
と入れておけば選択できるようになる
313 :
複乳 :2010/02/28(日) 23:39:49
>>311 ・vlookupを使わない。代わりにindex+matchを使う。例えばA:Eを参照している場合、vlookupだとA:E全てを参照するがindexmatchだとAとE列だけになる。はず。このシートの場合、多分一番効果が高い
・無、と書いてるセルは0に置き換える。そうすればtextがどうだのという判定をしなくて済む
・名前の変更履歴専用のシートを作り、そこからひっぱるようにする。重くなるがメンテナンス性は向上する
・後はコピーして値にしているなら、年度ごとにブックを分ける
・新規ブックを作ってそこにコピーする。劇的に軽くなる場合がある
・VBAを極めれば数式は不要、最高に軽くなるがあまりオススメできない
あとはパソコンの問題だけど
・tempファイルを削除する。劇的に軽くなる場合がある
・デフラグ等してみる。
・メモリを増設する
等
なんにしろ問'T8、AF8セルの内容が重すぎるんだと思う
314 :
名無しさん@そうだ選挙にいこう :2010/02/28(日) 23:57:42
>>304 >商品の品番($C8)が価格変更・仕様変更・統合などで、ころころ変わってるのですよ…
実務のデータなんてそんなもんです。
法則性なんてないものと思うべき。
変換テーブルを参照するのが確実でしょう,
>>304 そういうときは集計用の商品コードをひとつ、自分用につくんないとだめだね
自分用の商品コードを0123とすれば
A 0123
AA 0123
AAA 0123
て感じで表にしておく
>>313 拙い処理をわざわざ見て頂いて感謝の言葉もありません…
>vlookupを使わない。代わりにindex+matchを使う。
只今、本で使い方を確認中です。参照範囲を小さくすれば確かに軽くなりそうですね
無に付いては発売された年月を認識させてるので必要なのです。
06年3月〜の新商品は〜06年2月が無になるって認識です。
>名前の変更履歴専用のシートを作り、そこからひっぱるようにする。重くなるがメンテナンス性は向上する
>>308 での例を頂いたのを参考に模索中です。
その他色々と試してみようと思います。
VBAに付いては、もう少し勉強してから手を出して行こうなどと考えてるのですが
難しそうですね
手を変え品を変え色々考えて過不足無く動くように関数を組んで行くのって
パズルみたいで楽しいですね
技術が付いていってませんが…
本当にありがとうございました。
317 :
名無しさん@そうだ選挙にいこう :2010/03/01(月) 05:53:44
vlookupで出された参照先に飛ぶ方法ってありますか?
>>317 HYPERLINK(VLOOKUP( , , ))
319 :
名無しさん@そうだ選挙にいこう :2010/03/02(火) 21:52:27
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 オートフィル オートフィルで 02_あいさつ_01.mp3 02_あいさつ_02.mp3 02_あいさつ_03.mp3 のようにしたいのですが 02_あいさつ_01.mp3 02_あいさつ_01.mp4 02_あいさつ_01.mp5 になってしまいます。どうっしたらいいか教えて下さい。
320 :
名無しさん@そうだ選挙にいこう :2010/03/02(火) 21:59:09
>>319 ="02_あいさつ_"&TEXT(ROW(A1),"00")&".mp3"
として下にオートフィル。
その後、コピー→形式を選択して貼りつけで「値」
321 :
複乳 :2010/03/02(火) 22:04:45
復活age
これって復活してるの?
復活オメ! YouTubeでどうにか閑を潰してたよ。
324 :
319 :2010/03/02(火) 23:23:53
>320 うっひょーーーーできました!!! ありがとうございます 凄く助かりました!!!!
325 :
名無しさん@そうだ選挙にいこう :2010/03/03(水) 16:00:47
集計して間違って保存してしまったら もうもとのシンプルな表には戻せませんか?
326 :
複乳 :2010/03/03(水) 16:11:49
>>325 データ 集計 の左下に全て削除があるからそれをクリック
327 :
名無しさん@そうだ選挙にいこう :2010/03/03(水) 21:16:46
質問をいくつか 1、Excel2007で作成したXLSXファイルは2003ではどうやっても開けないのでしょうか? 2、Excel2007でいろいろ書いたVBAはExcel2000などでも使えるのでしょうか? 3、あるExcelファイルで作成したマクロ(たとえば線を引くとか並び替えなど)を 他のExcelファイルでマクロの内容をコピペしなくても使う事は可能でしょうか? たとえばデスクトップにaaa.macみたいにそれを実行すればみたいな形で もし可能であれば教えてください 4、Excelで行をひとつのセルにまとめる あああ いいい ううう のようなデータがあった場合行間が詰まっている複数行を一つのセルで改行させた状態のまままとめたいのですが 教えてください 現在は秀丸などで""をいれてコピペしているのですが 如何せんデータが多いのでもしExcelだけで可能であれば教えてください
>>327 >1
「Microsoft Office 互換機能パック」を使えば制限付きで開ける。
329 :
複乳 :2010/03/03(水) 23:04:54
330 :
複乳 :2010/03/03(水) 23:17:21
>>327 あと言い忘れたけど、わたしは名前が複乳でおっぱいが二つあるけど男性ですから。
お久しぶりです>< デスクトップに特定名前のフォルダがない場合は、 その名前のフォルダを作る っていうマクロを組みたいんです>< 教えて下さい>< ちなみに2000です><
332 :
複乳 :2010/03/04(木) 11:00:26
>>330 複乳はそんなこといわない
>>331 otinをテキトーに変えてね
Sub fuku()
Dim oman As String 'モクテキノフォルダメイ
oman = "otin"
Dim Path As String, WSH As Variant 'デスクトツプノパス
Set WSH = CreateObject("Wscript.Shell")
Path = WSH.SpecialFolders("Desktop")
If Len(Dir(Path & "\" & oman, vbDirectory)) <= 0 Then
MkDir Path & "\" & oman
End If
Set WSH = Nothing 'デスクトップノパスカイホウ
End Sub
334 :
名無しさん@そうだ選挙にいこう :2010/03/04(木) 12:00:23
エクセル初心者なんですけど、 列からと行から、アクティブセルまで(交差するところまで)色をつける方法を 教えて頂けませんか?宜しくお願い致します。 【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 いいえ
336 :
複乳 :2010/03/04(木) 12:42:27
>>334 ctrl+shift押しながら上下左右キーを押すと、
端まで一気に選択できる。その状態で色つけるとか。じゃなきゃvbaだな
337 :
334 :2010/03/04(木) 12:54:09
>>335 ,336さん、ありがとうございます。
お差し支えなければ、VBAのソースを教えていただけませんか?
338 :
複乳 :2010/03/04(木) 12:58:16
>>337 できたよー
エクセル開いて→Alt+F11→使いたいシート名をダブルクリック
右側に出てくる白いスペースに↓をコピペして保存。
なんかトラブっても責任は負いませんー。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
Dim X, Y As Long
X = ActiveCell.Column
Y = ActiveCell.Row
With Range(Cells(Y, 1), Cells(Y, X)).Interior
.ColorIndex = 38 '←ここで色を決める。
.Pattern = xlSolid
End With
With Range(Cells(1, X), Cells(Y, X)).Interior
.ColorIndex = 38 '←ここで色を決める。
.Pattern = xlSolid
End With
End Sub
341 :
334 :2010/03/04(木) 13:54:39
>>338 これから勉強させていただきます!ありがとうございます。
>>339 その通りでございます!ビンゴ!
>>340 さっそく試してみました。うまくいきましたが....
ブックを保存するときに、次の機能はマクロなしに保存できませんという
メッセージが出ました。TT
どのようにしたら良いのでしょうか?
342 :
複乳 :2010/03/04(木) 14:04:18
そうか、A2:D4みたいな範囲と思ってたぜ
>>334 そういうことはやらない方がいいな
ど下手がVBAでSelectionChangeイベントでやっても、ほとんど使いもんにならないよ
たとえばこんなのはとても使い物にならん
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
With Target
Range(.EntireRow.Cells(1), .Cells).Interior.ColorIndex = 40
Range(.EntireColumn.Cells(1), .Cells).Interior.ColorIndex = 35
.Interior.ColorIndex = 38
End With
End Sub
希望はWith TargetじゃなくWith ActiveCellかも知らんが、いずれにしても使えない
ためしに一度最終行に飛んでから前に戻って見ればわかる
工夫すれば使えないことないけどな
ちょっと遅かったか。
>>340 それも同じく使い物にならんよ
試しに最終行に一度飛んでみなよ
それに変数宣言間違ってるぞ
それだとXはVariant型だ
>>343 が使い物にならないのはこの部分な
Cells.Interior.ColorIndex = xlColorIndexNone
>>340 も同じだ
これじゃ一度後ろに飛ぶと途端に重くなる
ここを工夫すれば使えないこともない
ActiveSheet.UsedRangeをかます手もあるが、それ自体が2007は少し時間がかかるから最善じゃない
349 :
名無しさん@そうだ選挙にいこう :2010/03/04(木) 19:55:04
選択したセル全体に「田」で太枠、 つまり格子の太枠を引きたいのですが、 現状だとどうしても右クリック→書式設定→罫線で それぞれ太枠を選択にしているのですが はっきり言って面倒くさいです。 これをVBAを使わずにボタンを押下するだけで線を引く事は可能でしょうか? つまり罫線ボタンのカスタマイズとかって可能でしょうか? もっといえば周りだけ太枠で横線は点線、縦線は実践とかも実現したいです
>>349 「線のスタイル」で太線を選んでから「罫線グリッドの作成」でできる
後者はVBA使わないと無理
【1 OSの種類 .】 XPpro 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel vlookup 参照できない " " 等々 二つのシートA,Bに共通の番号(数字10桁程度)を持った3万行程度の表があり、 AのシートでAの番号をVLOOKUPで参照し、Bの表の同番号をひっかけて Bの表の列をAの表に加えたいのですが(ごく普通の使い方と思います)、 なぜか#N/Aになってしまいます。 Aの番号を書式設定で標準、文字列等にしたり、TRIM⇒コピー⇒「値だけ貼付け」しても 変わりません。 気になるのは、Aの数字をコピーしてCTRL+Fで検索BOXをだすと、プリセットされている値が、 XXXXXXとならず、"XXXXXX "となります(コーテーションで挟まれ後ろに半角スペースが入ってる)。 Aの数字を手入力しなおすと正常に反映されることはわかったのですが、 3万行を手入力する気にはなれず、何か確認するところや、解決策はないでしょうか?
>>352 作業列を作り、TRIM関数でスペースを消す。
セルの書式が文字列か何かになってる可能性があるので標準に戻して、
作業列を形式を選択して貼り付け、値。
354 :
352 :2010/03/05(金) 01:10:07
>>353 回答ありがとうございます。
でもそれは試し済みでだめでした。セルを選択⇒F2では確かに見た目通りの値でスペースはないし、
LENBでも正しい桁数がでるのですが…
355 :
複乳 :2010/03/05(金) 01:10:21
>>352 書式が「数値」だとそうなるねぇ
vlookupの最後の引数がTRUEか未入力になってない?FALSEにするとうまくいくかも
あと=A1=B1と入れるとA1とB1が等しい場合にTRUEと表示される
数値が等しくTRUEが変えるならvlookupの引数、FALSEが返ってきてるなら
>>353 のようにTRIMで空白削除等の必要があると思う
356 :
複乳 :2010/03/05(金) 01:29:51
さて、もう寝ますね。また明日の朝見に来ます ほんわかぱっぱー、ほんわかぱっぱ、ードーラえもん
>>352 TRIM関数がダメであればREPLACE関数で" "→""へ置換する方法がいいかも。
ただ、元々付いているその半角スペースですが、キーボードから打ち出す
半角スペースとはちょっと違う種類の半角スペースかもしれないので、
元々付いている半角スペースをコピペして使用してみてください。(経験談)
358 :
357 :2010/03/05(金) 05:32:43
>>352 >Aの数字を
文字列→数値化するのに簡単な方法は*1ってやれば数値化します。
>>357 との合わせ技で=REPLACE( )*1なふうに使用してみてください。
Chr(160)のスペースはたまに見るね。 あれ、なんで混入するんだろね。
[ ] =MID(A1,2,1) =CODE(A2) をコピペでなるかな。
助けてください>< とあるシートを新しいブックにコピーしてデスクトップに保存させてます。 ここまでは組めたのですが、 それをメールに添付させ、宛先まで入れたいんです>< 教えて下さい><2000です><
364 :
名無しさん@そうだ選挙にいこう :2010/03/05(金) 21:19:40
【1 OSの種類 .】 WindowsXP Home 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 C2=IF(COUNT(A2:B2),SUM(C1,A2,-B2),"") A2数式 等 この場合C1に数字が入ってて、A2,B2に数字がない場合C2は空白になりますが A2にA2=A1の数式が入っていて0を表示させない仕様場合(A1は空白)C2には数字が表示されてしまいます。 この場合でC2の数字を表示させたくないのですが、そんな数式はありますか? 宜しくお願いします
>>364 さらにIF(A1<>"" という条件を追加すればいい
366 :
364 :2010/03/05(金) 23:28:57
>>365 有難うございます。
この件は解決しました。
私の計算式がおかしいかったのでもう一つ質問なのです
C2=IF(COUNT(A2:B2),IF(A1<>"",SUM(C1,A2,-B2),""))で解決した分なのですが
A1がA1=D1+D3+D5だった場合、C2を表示させたくない場合どうしたらよろしいでしょうか?
申し訳ありませんが、宜しくお願いします。
>>366 さらにIF(A1<>D1+D3+D5 という条件を追加すればいい
368 :
352 :2010/03/05(金) 23:44:57
皆さんありがとうございました。 解決しました。 結局謎の空白は削除できなかったけど、 LENBとLEFTの組み合わせで(桁数が一定でないので) 最後の空白を除いて抜き出せました。 あの空白はなんだったんでしょ?
369 :
364 :2010/03/05(金) 23:59:55
>>367 有難うございます。
C2=IF(COUNT(A2:B2),IF(A1<>D1+D3+D5,SUM(C1,A2,-B2),""))で数式を入れたら
D1,D3,D5に数字を入力してもC2は何も表示されなくなりました...orz
371 :
364 :2010/03/06(土) 00:19:24
>>370 ググって判ってるなら書き込んでませんが
372 :
複乳 :2010/03/06(土) 00:27:12
>>359 32番はアスキー、160はシフトjisかその辺じゃないかな。ユニコードかもしれん
>>371 だよな!どうせなら私はバカですwwwとか書き込んだ方がいいぜ!
373 :
364 :2010/03/06(土) 00:29:33
これはひどい
375 :
名無しさん@そうだ選挙にいこう :2010/03/06(土) 11:50:25
出来高 騰落率 プラス 変わらず マイナス A B C D E 1 50 9% 2 80 6% 3 10 5% 4 80 3% 5 30 0% 6 30 −1% 7 70 −3% 8 60 −6% ・ ・ ・ ・ ・ ・ 株価でこんなデータ配列がありまして騰落率(上から高い順に並んでいます)がプラスの場合は 左セルの出来高をプラスの列に、変わらずの場合は変わらずの列に、マイナスの場合は マイナスの列にそれぞれコピーさせるにはどうすればいいのでしょうか。 今までは手でチマチマひとつひとつ移動してたのですかもっと楽な方法はありますでしょうか 出来高 騰落率 プラス 変わらず マイナス A B C D E 1 50 9% 50 2 80 6% 80 3 10 5% 10 4 80 3% 80 5 30 0% 30 6 30 −1% 30 7 70 −3% 70 8 60 −6% 60 ・ ・ ・ ・ ・ ・ こんな感じに並べたいのです
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 マイナスならば隣のセルを選択・・とかどう言葉で検索していいのか分かりませんでした すいません書き忘れました
>375 IF
>>376 C1 =IF(B1>0,A1,"")
D1 =IF(B1=0,A1,"")
E1 =IF(B1<0,A1,"")
※ ただし、B列が文字列での%表示でないこと。
ありがとうございます! 出来ました!
テーブルの中のデータを移動するには、一度テーブルを解除しないといけないのでしょうか?
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 不明 a1セルに1 b1セルに2 を入れた時、 c1セルに(a1*b1)を入れたとします。 c1セルをドラッグしてc2にした時、普通は(a2*b2)となりますよね? そこを(a2*b1)にしたい(要はb1を固定にしたい)場合はどうしたらいいでしょうか? 初歩的な質問で申し訳ありません。2年程Excelから遠ざかってたらこんなことまで わからなくなってしまいました。よろしくお願いします。
>>381 C1のセルのB1を、$B$1にする
F4押せばいい
383 :
381 :2010/03/07(日) 00:39:12
>>382 ありがとうございました。 こんなことまで忘れてたなんて・・・
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 すみません。 ミニツールバーですが、完全に非表示させれないのでしょうか。 便利な機能ではあるのですが・・・・。 オプションで、表示するのチェックを外したのですがまだ表示されます。 くだらない質〜スレに書いたほうがいいのかわからなかったので、 こちらに書きました。
385 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 04:32:07
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 [あああ]いいいううう[えええ] こういうセルがある場合 []内にある文字列だけを赤くする方法とかあるのでしょうか?
>>385 その文字を選択して「フォントの色」ボタンを押す
387 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 11:18:22
【1 OSの種類 .】 WindowsVista cpu core2 2.13G 【2 Excelのバージョン 】 Excel2010 ,Excel2000 【3 VBAが使えるか .】 はい Excel2000で作ったVBAの動作確認のため、Excel2010のベータをインストールしました。 動かしてみると、フィルタの検索結果がでるまで恐ろしく遅いんです。 1万件の住所録で、一文字でのフィルタ抽出をしたばあい、Excel2000だと一秒なのに、 Excel2010だと30秒もかかってしまいます。そういうものなのでしょうか? なにか対応方法がありますか?
388 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 11:26:52
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル 複数の行 一行 折れ線グラフ 折れ線グラフを作りたいと思っています。 例えば以下のように複数の行になっているデータがあるとします。 A B C 1 23 34 54 2 21 43 65 3 11 23 54 このとき、以下のようなデータがあるのと同じような折れ線グラフを作りたいと思っています。 A B C D E F G H I 1 23 34 54 21 43 65 11 23 54 つまり、複数の行に分かれているデータを、一本の折れ線グラフとして表現したいのですが、 こういう場合は、新たに表を作り直すしかないのでしょうか? よろしくお願いします。
389 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 11:34:36
>>386 すいません
言い方がまずかったです
一つのセルで[]が結構数があったり
そのセルが複数行あったりするので
できれば自動的に一気に変換させたいのですが
390 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 12:27:40
>>389 エクセルにはその機能はない。
置換でセル自体を赤くすることは出来るけれど、一部の文字だけは無理ぽ
vbaなら出来るけど。
391 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 12:31:39
1行内のセルを多数メモ帳にコピペしたいんですが セル間は空白も改行もなしでそのままくっつけたいんです。 どうすればいいですか?
392 :
391補足 :2010/03/07(日) 12:32:30
そのままコピペするとtabで区切られているようです
>>391 あらかじめひとつのセルに入れておいてからコピペしたら?
394 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 12:39:59
395 :
391 :2010/03/07(日) 12:49:46
>>393 いや、データは他からインポートしたものをexcelで関数処理したあとのものなので、不可能です。
396 :
391 :2010/03/07(日) 12:50:29
それとも 1つのセルにくっつける関数か機能がexcelにあるのですか?
397 :
391 :2010/03/07(日) 12:51:54
ためしにセルの結合をやってみたら、最初のセル以外全部消えたしw
398 :
391 :2010/03/07(日) 12:54:19
そのセルは100個近くあるので =A1&B1&C1&D1&・・・・・・ とやるのも非現実的です。
399 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 13:00:16
>>398 メモ帳に貼り付けて
正規表現で改行なら\n、タブなら\tで空白に置換すればいいじゃん
400 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 13:03:14
>>399 その円記号みたいなのはなんですか?
まあ、自分で調べてみます。
複数の文字列の結合は、これからexcelを使ううえで頻繁に使いそうなので教えて欲しいのですが
excelで複数の文字列の結合はできますか?
concatenateというのを見つけたけど
=concatenate(A1:Z1)
とタメシニってみたけど、A1のセル1個しか表示されず、結合できないです
>>394 他の文字は黒だとして
Sub aaa()
Dim r
Dim cl As Integer
Dim flg As Boolean
Dim s As Long
For Each r In Range("a:a")
cl = 1
flg = False
For s = 1 To Len(r.Value)
If Mid(r.Value, s, 1) = "[" Then
cl = 3
End If
If Mid(r.Value, s, 1) = "]" Then
flg = True
End If
r.Characters(s, 1).Font.ColorIndex = cl
If flg = True Then
cl = 1
flg = False
End If
Next s
Next r
End Sub
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL グラフ 年度別 EXCELの表を元に年度別のグラフを作成したいのですが、 イマイチ要領がつかめません。 縦軸に金額 横軸に場所 3000 2500 2000 1500 1000 0500 ■ 09 10_09 10_09 10_09 10_09 10 ○○市 ○○市 ○○市 ○○市 ○○市
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL グラフ 年度別 すみません、途中で投稿してしまいましたorz EXCELの表を元に年度別のグラフを作成したいのですが、 イマイチ要領がつかめません。 縦軸に金額 横軸に場所 3000 2500 2000 _ □ _ □ 1500 _ □ ■ □ 1000 ■ □ ■ □ 0500 ■ □ ■ □ 09 10_09 10_09 10_09 10_09 10 ○○市 ○○市 ○○市 ○○市 ○○市 こんな感じでグラフにしたいのですが・・・・。
>>385 こうゆうやり方もある
Sub TEST()
Dim r As Range
Dim Start As Integer
Dim Size As Integer
Dim Moji As String
For Each r In Range("A1:E100")
Start = 1
Moji = r.Value
Do
Start = InStr(Start, Moji, "[") + 1
If Start = 1 Then Exit Do
Size = InStr(Start, Moji, "]") - Start
If Size < 0 Then Exit Do
If Size <> 0 Then
r.Characters(Start, Size).Font.ColorIndex = 3
End If
Start = Start + Size
Loop
Next
End Sub
405 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 18:53:09
ExcelのVBAで、テキストファイル(拡張子txt)自動編集はできますか? したいのはあるフォルダにある複数のtxtファィルのそれぞれに対して、最後から2行目に行(と語句)を追加したいだけなのですが。
>>400 作業列(作業行)を使って1つずつ結合していくという方法がある。
A2に=A1、B2に=A2&B1と入れて、B2を右にコピーしていくと、順に結合した文字列ができあがる。
一気にやりたいならVBAで関数を作るしかない。
>>399 メモ帳で正規表現は使えない。
>>400 まずエクセルからメモ帳にデータをコピペする。すると、セルの区切りがタブに置き換えられた物が
貼り付けられる。
aaa bbb ccc
みたいなデータがあったとして、タブの部分を選択
aaa■■■bbb ccc
コピーしたら、Ctrl+Homeでカーソルを先頭に戻して、編集メニューから置換を選んで、
「検索する文字列」のところに貼り付け、「置換後の文字列」は空白のまま、「すべて置換」ボタンを押す。
409 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 21:19:10
2003を使ってるんですけど ファンクションキーの何かを押すと=rand()をもう一回処理し直してくれる様に出来ますよね その設定の仕方を忘れてしまったんですが、どう設定したらよいでしょうか?
410 :
名無しさん@そうだ選挙にいこう :2010/03/07(日) 21:32:58
↑勘違いでした
411 :
405 :2010/03/07(日) 21:36:17
>>406 早春の候、ますます御健勝のこととお慶び申し上げます。平素は格別のご高配を賜り、厚くお礼申し上げます。
次のは質問にうつらせていただいてよろしいでしょうか。
どなたかExcel VBAを使った405の解決方法を教えていただけませんか?
412 :
複乳 :2010/03/07(日) 22:55:01
>>411 テキストファイルの操作ってめんどくさいんだよ
vba ファイル 追記
でぐぐればテキストファイルへの追記方法
vba コレクション for each
でぐぐればコレクションの扱い方が出てくるよ
【1 OSの種類 .】 WindowsXp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 初心者 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 target .Exit SetFocus "A1"に何らかの文字列を書き込み、確定のEnterキーが押下された場合、 同一ワークシート上のボタン1にフォーカスが移るようにしたいと考えています。 そこで下記マクロを考えたのですが、Enter押下で"A2"に移動してしまいます。 何か良い方法はありませんでしょうか。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "A1" Then CommandButton1.SetFocus End If End Sub
414 :
複乳 :2010/03/08(月) 13:24:20
>>413 標準モジュールではなく、sheet1に記述する
すると、エラーが出る。エラーの理由は分からないが、
まぁバグだろう
こうすればok↓
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Cells(1, 1) Then
CommandButton1.Verb
End If
End Sub
>>414 それじゃA1以外のセルにA1と同じ値を入力したとき具合悪いだろ?
416 :
複乳 :2010/03/08(月) 14:53:16
>>415 うんにゃ、2行目は
If Target.Address = "$A$1" Then
としないと動かないんじゃない?
If Target.Address = Cells(1, 1).Address Then
とするとかだな。
418 :
複乳 :2010/03/08(月) 14:58:30
ってわけで↓をsheet1に記述。$A$1と記述 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then CommandButton1.Verb End If End Sub
アンカーミスったわ
420 :
複乳 :2010/03/08(月) 15:02:53
カブッタ。まあいいか
>>387 2010はまだベータ版だからバクがあるんじゃないかな。
対応方法はない。商品化される頃には直ってるだろう。あきらめれ
>>388 作り直すか、どうかして、一行にまとめるしかないんじゃないかなぁ。
皆さんありがとうございました。返事遅くなってすみません。 Focusがしっかりコマンドボタンに移りました。 Googleの検索窓みたいなものを作ろうとしていて、セルに文字を打ち込んだら 命令付きのボタンに飛んでEnterKey押下で検索実行をやりたかったです。 ただ・・EnterKeyに反応しませんでした。SpaceKey押下には反応するんですが これはExcelの仕様なんでしょうか。もう少し勉強してみます。
425 :
名無しさん@そうだ選挙にいこう :2010/03/09(火) 22:20:12
関数を手動で入力するとき、カッコの数が間違えないように開始カッコを入力したら即終了カッコも入力するようにしてます。 例えば、 =IF(AND(A1>100,B1>100),"大",IF(OR(A1<3,B1<3),"小") 、と書きたいとします。 さいしょの=IFのあと、カッコの数が間違って合わなくなるのを避けるため、とりあえずカッコは開くのと閉じるのをペア「( )」で入力します。 そして「←」キーを押して続きを書こうとするとエラー。 こ の エ ラ ー が ウ ザ く て ウ ザ く て し か た が な い ん で す よ この種のエラーを避ける方法はありますか?
426 :
425 :2010/03/09(火) 22:23:05
おわかり? ANDも先にAND( )とカッコを入力して、そしてその中身を書く。 二番目のIF( )も同様。 OR( )もね。 そして閉じるカッコのあと戻ろうと「←」キーを押したら「入力した数式は正しくありません」のウザいエラーが出るんです。
矢印キーを使わずマウスでクリックする
そんな方法を用いない。 わざカッコを先に閉じておく意味ワカンネ エクセルさまがポップアップでわざわざお知らせしてくれてるのに
わざ?ww もう寝よ
>>425 手動で入力なら
最初の = を入れないで数式を書き最後に = を付けるてのどうよ
これやって不都合がでるかも知らんけどね
431 :
425 :2010/03/09(火) 22:54:32
>>427 それはイヤですね。入力の時間短縮のためにはマウスを使いたくないので。
>>428 複雑な数式ならいくらExcelが色で教えてくれるといっても自分でカッコを閉じるのを入力するほうが安心感があるんです
>>430 それはすばらしい方法ですね! と思ったらカッコを閉じたあと「←」をおせば、こんどは
隣 の セ ル に 移 っ て し ま っ て 入 力 が で き な く な り ま し た
他にいい方法ありますか?
432 :
430 :2010/03/09(火) 23:00:35
セル内編集しないで数式バー内でやってみては?
閉じかっこ多めにいれておけばExcelが勝手に調整してくれるから、いつもそうしてる
434 :
430 :2010/03/09(火) 23:06:24
ごめん
>>432 は忘れてくれ やっぱ隣のセルに移るわ
435 :
425 :2010/03/09(火) 23:16:49
>>425 閉じカッコを入力したら←キーを押す前にF2キーを1回押せ
438 :
複乳 :2010/03/10(水) 09:07:39
>>435 エクセルには編集モードと入力モードがある
初回の入力が入力、編集するのが編集モード(そのまんまだな)
434だと直接編集モードになる
ちなみにウィンドウの左下に書いてある
F2でセルの編集する癖をつけるのが一番早いよね。関数入力に限らず。
<<425 F2押せば良いよ ってスクロールしたらもう4つも突っ込みあったw さすがやね。
Excel2000です。 どなたかVBAを書いていただけませんでしょうか?。 セルを参照し、文字列を付加してtxtファイルで出力したいです。 例えば、 [A] [B] 1 山田 2 佐藤 (Null)鈴木 3 中村 というシートから A列のデータ(数値型)に「組」を付け、Tabを挿入(データが無ければTabだけ) B列のデータ(文字列型)に「様」をつけ改行。B列のデータが無くなるまで繰り返す。 下のような結果を「出力.txt」でtxtファイル化する。 1組 山田様 2組 佐藤様 (Tab)鈴木様 3組 中村様 このようなことがしたいです。(名簿が作りたいわけではありません・・・) VBAはほとんど分かりませんが、文字列操作、繰り返しと終わり方、Nullの判定、ファイル出力、 の部分が分かれば、なんとか自力でアレンジできると思います。 よろしくお願いします。
>441 予算は?
>>441 消費税入れて105円でどうでしょうか?
OKの場合、鳥にきてくれ
>>441 >>なんとか自力でアレンジできると思います。
暇なヤツが作る→
>>441 からの質問攻め→スレが埋まる
>>441 A列の書式を「0組」にする
B列の書式を「@様」にする
A列とB列を選択、コピー
メモ帳を起動、貼り付け、保存
>>441 2行目わろたw
>文字列操作、
&で連結。 Cells(1,1) & "組 " & Cells.(2,1) & "様" & VbCrLf
>繰り返しと終わり方、
For 〜Next か Do Loop。
>Nullの判定、
Chr(0) かVBNullCharがNull文字。あとVbTabが水平タブ。VbCrLfは改行。
>ファイル出力
FSOオブジェクトか、Openステートメント。
数ある数値の中から最近のx件のみを抽出して平均を出したいのですがどうしたらいいでしょう 数あるデータとは同じ列に存在しています
数値に連番を振り、n番以降の数値の合計をn番以降の数値の個数で除する
450 :
名無しさん@そうだ選挙にいこう :2010/03/10(水) 21:55:34
Excelに Craete AAA_TBL 〜 一行改行されて Craete BBB_TBL 〜 一つのシートにこういうデータがあった場合、 crateAAA_TBL.sqlファイルを作成して その中には Craete AAA_TBL 〜 crateBBB_TBL.sqlファイルを作成して その中には Craete BBB_TBL 〜 と分割したいのですが 分かりますでしょうか?
451 :
名無しさん@そうだ選挙にいこう :2010/03/10(水) 22:06:30
A列がNo B列がデータ行として A1:からA列のデータがある最後の列を選択して、 それの一つ右の列を見ていって つまりB1からB列の最後の列を選択 その中で一つでも空白があるかを判断したいのですが どうすればいいのでしょうか?
空白があれば1を返す式をC列に作成 C列の合計とA列の個数を比較
>441=>451か? だいぶレベルダウンしたなw
べっ、別に気にしてなんかいないだかr(ry
457 :
名無しさん@そうだ選挙にいこう :2010/03/11(木) 11:56:54
ちょいと教えてください。 AAA BBB CCC DDDがひとつのセルに入っていて スペースを改行コードに置換して AAA BBB CCC DDD ってしたいのですが肝心の改行コードに分からないのです。 よろしくお願いします。
>>457 ="あ"&CHAR(10)&"い"
あ
い こうなる。
セルの書式設定の文字制御は、「折り返して全体を表示する」にしてね。
>>450 >つまりB1からB列の最後(〜略〜)で一つでも空白があるかを判断
Dim StCell As Range, EdCell As Range, TargetCells As Range, AW As Worksheet
Set StCell = Range("Sheet1!A1") '開始位置を指定
Set AW = StCell.Parent '対象シートオブジェクト取得
Set EdCell = AW.Cells(Rows.Count, StCell.Column).End(xlUp) '開始位置を含む列の最終入力セルを取得
Set TargetCells = Range(AW.Cells(StCell.Row, StCell.Column + 1), AW.Cells(EdCell.Row, StCell.Column + 1)) 'ターゲットセル範囲を取得
If 0 < WorksheetFunction.CountBlank(TargetCells) Then MsgBox "1つ以上空白がある" 'ターゲット範囲の空白セルの総数を取得0以上なら検出
>>458 10だけじゃまずいんでないかい?
Chr(13) & Chr(10)かvbCrLfが適切。
460 :
名無しさん@そうだ選挙にいこう :2010/03/11(木) 12:29:47
条件 品 単価 りんご 120 みかん 80 ばなな 60 リスト 品 単価 りんご 60 みかん 80 ばなな #N/A りんご 60 ばなな #N/A ばなな #N/A りんご 60 みかん 80
461 :
460 :2010/03/11(木) 12:31:47
460の表で、B9のりんごに「=VLOOKUP(A9,$A$3:$B$5,2)」と打って、それを下にオートフィルしたら、このおじさん変なんです。 りんごは120のはずなのに、60。 みかんは80と正常だけど、 ばななは#N/Aのエラー。 どうしてですか?
462 :
460 :2010/03/11(木) 12:38:43
条件 品 単価 りんご 120 みかん 80 ばなな 60 リスト 品 単価 りんご =VLOOKUP(A9,$A$3:$B$5,2) みかん =VLOOKUP(A10,$A$3:$B$5,2) ばなな =VLOOKUP(A11,$A$3:$B$5,2) りんご =VLOOKUP(A12,$A$3:$B$5,2) ばなな =VLOOKUP(A13,$A$3:$B$5,2) ばなな =VLOOKUP(A14,$A$3:$B$5,2) りんご =VLOOKUP(A15,$A$3:$B$5,2) みかん =VLOOKUP(A16,$A$3:$B$5,2) パソコンの前のみなさんもコピペして検証できるよう、タブ区切りと関数入りで再度、表をUPしておきます
463 :
462は失敗。これが正常版。 :2010/03/11(木) 12:41:48
条件 品 単価 りんご 120 みかん 80 ばなな 60 リスト 品 単価 りんご =VLOOKUP(A9,$A$3:$B$5,2) みかん =VLOOKUP(A10,$A$3:$B$5,2) ばなな =VLOOKUP(A11,$A$3:$B$5,2) りんご =VLOOKUP(A12,$A$3:$B$5,2) ばなな =VLOOKUP(A13,$A$3:$B$5,2) ばなな =VLOOKUP(A14,$A$3:$B$5,2) りんご =VLOOKUP(A15,$A$3:$B$5,2) みかん =VLOOKUP(A16,$A$3:$B$5,2)
=VLOOKUP(A9,$A$3:$B$5,2) これを =VLOOKUP(A9,$A$3:$B$5,2,0) こうしたらどうよ
465 :
460 :2010/03/11(木) 12:56:22
>>464 できた!
実に不思議だ
本みたら、検索の型がどうたらこうたら・・・
こんな単純なことをするにもうまくいかんとは、Excelを作った人はヘボですね
>>457 手作業で置換や検索する時はCtrl+Jで改行コードが入力できる
メニューから置換を選んで
検索する文字列→スペース
置換語の文字列→Ctrl+J
画面には表示されないけどこれで置換できる
467 :
457 :2010/03/11(木) 13:48:41
>>458 >>459 >>466 ありがとうございます
私の現状だと
>>466 の方法で一瞬で変換できました!
AAA BBBのスペースを"&CHAR(10)&"で変換しても
=と文頭&文末の"をどう付けるか悩んでましたw
>>467 セルに式すら書けない人でしたか。そう言えよ。
>>466 へぇ〜、検索するときはCtrl+J でできるんだ。
セルに手入力するときはait+リターンなのにな?
ところで、このセル内を改行してあるのを、改行ごとに別々のセルに一気に分割することはできないのかな?
書式→セル配置で「セルの結合」なんていうのはあるのに「分割」ってないよな。
470 :
複乳 :2010/03/11(木) 17:07:29
>
>>469 >データ 区切り位置。改行でも出来た
それだと横方向の分割しかできないんじゃね?しかも移動先にデータがあったら上書きしちゃうし。
縦方向の分割は、
必要な数だけ行を挿入して、
分割したいセルの中身を、「テキストとしてコピーして」
セルの上からペーストして、
不要に増えた行を、セルの結合でひとつにまとめる(ああ・・・しんど)
しかないのかね?
472 :
複乳 :2010/03/11(木) 18:03:19
そんな場面がそもそもほとんどないし大量にあったらVBAでテキトーに処理すればオッケー fornextで1文字ずつ改行かどうか調べれば楽勝
複乳って自分の言いたいことだけ言って、他人とコミュニケーション取れない残念な子なんだ。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 月 抽出 EXCEL 4月15日 4月28日 5月3日 ・・・ という列を 4月 4月 5月 ・・・ という列に変換したいんですが、どのようにやればいいかわかりません。お願いします
>>474 セルの書式設定を m"月"d"日"→m"月"へ変更する。
476 :
475 :2010/03/11(木) 22:55:14
セルの書式設定→表示形式→ユーザー定義→m"月"へ変更。
477 :
名無しさん@そうだ選挙にいこう :2010/03/12(金) 05:52:13
秒数を分数に直すには、書式をどのように書けばいいのでしょうか?(T T) たとえば、 86 と表示されてるセルがあったら、これをセルの書式→ユーザー定義で「1分26秒」のように 表示させたいのですが、ググってもmm:ssとするやり方しかでてきません mm:ssだと正しく表示できませんでした どなたかお助けを〜(T T)
481 :
名無しさん@そうだ選挙にいこう :2010/03/12(金) 22:14:42
Excel勉強中の者です。 477のやつ478でやってもできないよ! なぜ?
>>481 関数式を入れたセルの書式は何を当てていますか?
ユーザー定義でm"分"s"秒"とすれば良いハズ。
483 :
481 :2010/03/12(金) 22:34:51
いやそれはたぶんあってそう そもそも元データには何がどういう書式で入ってるわけ?
>>483 >>477 のたとえで出ている86とはそのままの(入力)値であり、書式は”標準”でしょう。
結果、私もちゃんと”1分26秒”の表示してますから。
485 :
481 :2010/03/12(金) 23:35:51
ほんとだできた。 なぜだろう。 =A1/24/60/60 の数式自体が、A1を日時だと判断してる?
487 :
名無しさん@そうだ選挙にいこう :2010/03/13(土) 00:23:05
2007でフォームコントロールのプルダウンを使っているのですが、 たまにプルダウンを選択するとプルダウンそのものの大きさかが変化して拡大されたりします これって何か原因とかあるのでしょうか?
>>485 >この数式自体が、A1を日時だと判断してる?
してません。式はA1を数値として見てます。(つか日付型も普通の数値です)
これは「値1は1秒」っていう俺ルールの値を、通常の日付型ルール「値1は1日」に単位変換する式です。
86*24/60/60の結果は、本当は(1900年1月0日0時)1分26秒という日付です。
A1の書式を"yyyy/mm/dd hh:mm:ss"にしてみ。
これが(ほぼ)省略なしの本当の日付型の表示。
A1に手入力や式でいろいろ変化させて試してみ。
1って入れるとどうなる? 日付が1900年1月1日0時0分0秒になるっしょ。
次に2って入れてみ。今度は2日になるだろ?
1を足せば1日を足せるってもうわかったな。
じゃあ1時間足すのは? →1日は24時間だから1/24を足せばいい。
じゃあ1分は? 1秒は?
元の式がなにやってるかは、これでもうわかるよね。
すいません、質問です。 2007verを使用しております。 以下のようなセルがあったとします。 A列 B列 C列 D列 1 nov reg exp mas 2 5 そこでどこでもいいので脇にこんな関数を書いてみます =match(A5,A1;D1) この状況でA5に「nov」とか入れると「1」と表示されて満足するのですが、ここで expと記述すると#N/Aを返します。masと入れても同様、、この辺の意味がちょっとよくわからないのですが、 主に文字列の探索を行っていきたいのですが、どういう現象が起きてるのでしょうか。 解決策も交えてご享受ください。よろしくおねがいしまっす。
>>489 MATCHの照合の型によっては検査範囲はソートされていないといけない
享受しますた☆
>>490 検査に[0]を入れたら上手くいきました。
ありがたいアドバイス助かりました。
493です それとエクセルのDLKは excel です よろしくお願いしますm(_ _)m
495 :
名無しさん@そうだ選挙にいこう :2010/03/13(土) 14:56:58
VBAによるサイトの自動ログインについて質問です。よろしくお願いします。winXP.エクセル2007. あるサイトに自動ログインするプログラムを作ったのですが、”システムエラー”という表示がでてきてしまい、うまくいきません。 ユーザ名とパスワードを入力してログインボタンをクリックすというものです。 実際に上記のように動いているのですが、、、 ■サイトによっては自動ログインできないようなシステムがあるのでしょうか? ■手動でログインする際、ユーザ名入力するとパスがかってに入力されるような設定になっているからでしょうか? セキュリティソフトはノートンなんとかってのをつかっています。これの設定がよくないのかな?? 詳しいかた、教えてください。お願いします。
>>495 説明不足で状況がよくわかりませんが。
自動ログインを禁止するシステムはいくらでもありますが、たいてい回避は可能です。
ケースバイケースなのでURLを晒さない限り回答もできません。
おそらくノートンは関係ありません。
パスワードが自動入力されてしまってはパスワードの意味がないと思うのですが、
ID(アカウント、ユーザー名)の自動入力ではないのですか?
497 :
名無しさん@そうだ選挙にいこう :2010/03/13(土) 16:56:03
>>496 ご回答ありがとうございます。説明不足ですみませんでした。
手動ログイン時に、IDを入力するとパスワードがかってに入力されます。(前回打ちこんだパスワードを記憶してあるようです。)
たぶんノートンの機能です。
自動ログイン時、パスワード入力に問題があるのかな?と思ったので。自動ログイン用のプログラムでサイトまでいき、
そこからは手動でログインしてみたのですが、同じ結果で”システムエラー”となりました。
よって、自分は自動ログイン禁止するシステムかな?とおもいます。
サイトは
ttp://www.bitway.ne.jp/pachinow/so-net/ です。
ログイン画面は左にある”MEMBER”というところです。
対応策をご教授ください。よろしくお願いします。
498 :
名無しさん@そうだ選挙にいこう :2010/03/13(土) 17:12:58
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel 改行 コピー メモ帳からexcelへデータをコピーするのに、何も入力していない行毎にセルにコピーしたいのですが 改行でセルが変わってしまいます 文中の改行を消せば済む話なんでしょうが、データ量が多く、またコピペした後に改行されてないと見づらいので 改行したままコピーしたいと思っています 何か方法はないでしょうか? @・・・ ・・・ ・・・ ←ここでセルを変えたい A・・・ ・・・ ・・・
>>498 貼りつけたいセルを選択した後、数式パー上へ ペーストする
>>498 テキストエディタなら元のデータを修正するという手もあるけど、メモ帳からだとVBAのが手っ取り早い
A列にテキストを貼り付けてからこれを実行するとB列に希望のデータが作られる、はず。
Sub a()
Set r = ActiveSheet.UsedRange
r2 = 1
For r = 1 To r.Rows.Count
If Cells(r, 1) = "" Then
r2 = r2 + 1
Else
Cells(r2, 2) = Cells(r2, 2) + vbCrLf + Cells(r, 1)
End If
Next
End Sub
今のミス。ちょっと修正 Sub a() Set r = ActiveSheet.UsedRange r2 = 1 For r1 = 1 To r.Rows.Count If Cells(r1, 1) = "" Then r2 = r2 + 1 Else If Cells(r2, 2) = "" Then Cells(r2, 2) = Cells(r1, 1) Else Cells(r2, 2) = Cells(r2, 2) + vbCrLf + Cells(r1, 1) End If End If Next End Sub
503 :
名無しさん@そうだ選挙にいこう :2010/03/13(土) 22:49:06
昨日から散々調べてよくわからないので教えてください。 【1 OSの種類 .】 WindowsXp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 初心者 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 不明 シート1を検索窓専用ページで作成したいです。 シート2〜シート10まであるアルファベットと数字の文字列に飛んでいけるようにしたいです。 要はctrl+Fのブック検索と全く同じです。 シート1にコントロールツールボックスからコマンドボタンとテキストボックス配置まではいけましたが そこからが全くわかりません。 どのようなこーどを入力すればよろしいでしょうか??
Vlookup関数のtrue/falseは0/1でもいいのかな。。。
>>504 えぇよ。
ただし「1がTrue」って覚えない事。
あくまで「0がFalse」であるだけで、0以外の2も3も4も全部True。
506 :
名無しさん@そうだ選挙にいこう :2010/03/14(日) 02:07:50
複乳さんはなぜ複乳さんなのですか?
507 :
複乳 :2010/03/14(日) 09:35:45
>>507 VBAはTrue=-1だよ、イミディエイトウィンドウで
? True = 1
と入れてみればFalseが返ってくるから
? True = -1と入れればTrueが返ってくる
シートの場合は
>>505 の通り
>>503 わざわざ検索フォームを作る意味がわからん
自分で書いてる用にCtrl+Fじゃダメなのか?
>>503 > シート2〜シート10まであるアルファベットと数字の文字列
ってそれはどこにあるの?
511 :
510 :2010/03/14(日) 13:28:39
>>503 間違って途中で投稿してもうた
シート名?
セル?
512 :
名無しさん@そうだ選挙にいこう :2010/03/14(日) 14:45:39
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 不明 成績管理のひな形です 観点 重み 評価 評価の点数化(100点満点) 点数@(20%)→A,B,C→A=20*1、B=20*0.75、C=20*0.5 点数A(30%)→A,B,C→A=30*1、B=30*0.75、C=30*0.5 点数B(50%)→A,B,C→A=50*1、B=50*0.75、C=50*0.5 点数からA,B,Cを返す事は出来るのですが、 観点毎の重みと評価によって100点満点に換算するのに良い方法はないでしょうか? 例えば評価がAABなら(20*1)+(30*1)+(50*0.5)で75点を一つのセルに返したいです いまは100点満点への換算を手作業で「(20*1)+(30*1)+(50*0.5)」と入力していますが、 点数@,A,Bや評価を変えると最終的な点数に反映されるようにしたいです IFでだらだら書こうかと思ったのですがうまくいきませんでした 関数のキーワードなど教えていただければ自分でも調べてみます
>>512 たった3段階ならIFでだらだら書くのが一番早い。
うまくいかないのはデータの並べ方が悪いか根気が足りないかどちらか。
元のデータが評価や集計を考慮した配列になっていれば、式を1つ作ったらあとはコピペで行ける。
具体的なセル名がわからないので適当に書いてみる。
=20*IF(@="A",1,IF(@="B",0.75,0.5))+30*IF(A="A",1,IF(A="B",0.75,0.5))+50*IF(B="A",1,IF(B="B",0.75,0.5))
>>513 ありがとうございます
本当に感謝です、教えてもらったようにやってみます!
515 :
複乳 :2010/03/14(日) 18:20:19
>>508 お、そうなのか。すまんかった
>>512 ABCに点数1-3を入れて、
D1=A1*0.2+B1*0.3+C1*0.5
じやだめなのー
516 :
名無しさん@そうだ選挙にいこう :2010/03/14(日) 20:13:37
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 プリンタ canon iP3500 表をB5の8割くらいに印刷したいのですが、ページにあわせると文字も表も非常に小さくなります どうすればよいですか?
春だな
1%ずつ拡大して あとは余白で調整
余白を希望する分確保した後、1ページで収めるようにして印刷せれ。 文字の大きさを大きくしたいならしてみれ。 印刷範囲を狭くして、ページに合わせたら全体が小さくなり 文字も表も小さくなるのは当たり前だよい。
>>508 VBAでもシート上でも同じだよ。
True=-1だが、1も-2もTrue。
評価としてのTrueと定数としてのTrueの違いだよ。
わかるかい?
【1 OSの種類 .】 Windows7 32bit 【2 Excelのバージョン 】 Excel2002SP3 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 かんたんなVBAなら 【5 検索キーワード 】 関数 再計算 強制 CONCATENATE関数を使って作成した関数をコピー&値貼り付けします(この段階では文字列) この文字列は関数となっているのですが、一個一個セルをクリックしないと計算してくれません。 このコピー&値貼り付けしたセルが万単位であるで、この一個一個セルをクリックを自動で できないかと考えています。良い方法があれば教えてください。お願いします。 具体的には以下の作業になります。 @以下の関数を作成 =CONCATENATE("='[data.xls]2000'!A",ROW()) A以下のように表示される ='[data.xls]2000'!A1 Bこのセルをコピーして値貼り付けして、セルをクリックして関数計算させる 245
>522 何か回りくどい事やってそうな気がするけど 事情がワカランのでそこは放置するとして、 データ→区切り位置→完了
525 :
複乳 :2010/03/15(月) 11:53:48
>>522 indirectを使う
=INDIRECT("'[data.xls]2000'!A"&ROW(),1)
前述のやり方でもクリックしなくても、F2・enter連打でもいけるといえばいけるかも
>>523 っておぃぃ
>>525 スマンありがと。Aのときに編集→置き換えで末尾に+0を加えてみたら上手く動くようになった。
20年分のデータ編集でひたすらクリックはミスるし死ねるしどうしようかと思ったわ。
ちなみにf2・enterはダメだった。
だから、列を選択して データ→区切り位置→完了、で セルをひとつひとつクリックした事になるの。 私も相談所の10番台で教えてもらった。 覚えておくと便利なテクだよ。
>>527 うおおおお!!!!すげええええ。サンクス。
529 :
名無しさん@そうだ選挙にいこう :2010/03/15(月) 13:25:00
ん? なにがすごい便利なテクなんだ? おしえてくれないか?
>>501 お礼遅くなってすみません
大変助かりました
ありがとうございました
お久しぶりです>< オートフィルタで、抽出したデータを、ループさせて処理を施したいんですが>< 行 抽出項目 値段 2 りんご 500 3 ぶどう 400 4 みかん 300 5 りんご 400 たとえば、上記のデータベースを、「りんご」でフィルターに掛けて、 行 抽出項目 値段 2 りんご 500 5 りんご 400 2、5行目だけをループさせて処理したいんです>< 2to5だと、当然3,4行名も処理されてしまいます>< IFでりんごだけ処理するという方法もあいrますが、行数が膨大なので、 ピンポイントで処理したいです>< ForEachとかオートフィルタ以外でなんかでうまいことやれますか>< 助けてください><
532 :
名無しさん@そうだ選挙にいこう :2010/03/15(月) 13:55:57
複乳さんに質問なのですが エラトステネスのふるいを用いて、素数を順番にセルに吐き出したいのです。 どういう関数を使えばいいでしょうか?
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否 】 否 【5 検索キーワード 】 エクセル 関数 文字列 日付 変換 エクセル関数について質問です。 文字列としてH11年10月と入力されている値を日付としてH11年10月と認識させたいのですが どのような関数を使えばよいのでしょうか? (日付に変換後、昇順で並べ替えたいのです) 初心者質問で申し訳ないですが、よろしくお願いします。
534 :
複乳 :2010/03/15(月) 15:04:02
>>531 それ以外、だと思いつかない
>>532 失敗した。面倒なのでもうやらない。
以下一応素数を出すことは出来たのでヒントにでも
http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E7%AF%A9 ステップ3までは出来た。101まで調べるとすると、A2-A101にrow()
D2-Cy101に
=(ROW()>(COLUMN()-2))*1*(INT($A2/(COLUMN()-2))=$A2/(COLUMN()-2))*1
D列が2の倍数、Eが3の倍数・・Cyが101の倍数を表し、倍数だと1になる
cz2=SUM(D2:CY2)
下にオートフイル。で1以上なら素数ではない。
最後にcz列で0でオートフイルタをかければA列に素数が残る
VBAでやるべきだねぇ~
>>533 =DATE(1988+MID(A1,FIND("H",A1)+1,FIND("年",A1)-FIND("H",A1)-1),MID(A1,FIND("年",A1)+1,FIND("月",A1)-FIND("年",A1)-1),1)
最後の「,1」が1日を表す。日付は必ず指定しないとダメなのでこの辺りはテキトーにやってくれ
535 :
532 (=複乳さんファン) :2010/03/15(月) 15:07:45
>>533 文字列を、いったんHを平成に置換し右端にダミーの1日を加えたあと、(*1)
無理矢理シリアル値にして、(*2)
書式をユーザ設定で設定する方法だと、(*3)
(*1と*2)は =DATEVALUE(SUBSTITUTE(A6,"H","平成")&"1日")
(*3)は ユーザ定義で gr"年"mm"月"
536 :
532 :2010/03/15(月) 15:08:45
>>534 おっとレスきた、ありがとう
いまからやってみます
>>534 >>535 出来ました!
このような初心者質問にお付き合い頂きありがとうございました。
おかげで勉強になりました。
3月14日 3月15日 3月16日 A(班長) 103 108 103 B(107&休代) C(108担当) 休 D(109担当) 休 A~Dが人名、103~109がコース名っていうようなシフト表ファイルから 3月14日 地域 担当者 配布数 回収数 103 16 42 107 32 18 108 28 14 109 19 23 っていうような仕事内容報告ファイルの担当者の列に自動で名前を入れたいのです
って書いてる途中で送信されたorz 全然分かりませんね....これじゃ 要は報告書Sheetの日付欄にその日の日付を入れると シフト表Sheetの一致する日付からその地域の担当者を割り出して 未入力状態の担当者欄を全部埋めてくれるようにしたいのです。 ものすごい大雑把で構わないのでこんな感じでやれってのを教えていただけないでしょうか
540 :
複乳 :2010/03/15(月) 19:18:35
fipse
541 :
複乳 :2010/03/15(月) 19:21:42
542 :
名無しさん@そうだ選挙にいこう :2010/03/15(月) 19:27:30
【1 OSの種類 .】 Windows ビスタ 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 【5 検索キーワード 】分かりません はじめまして超初心者です。 アドバイスよろしくお願いいたします。 数字を一定の数で増えるように設定したいの ですがやり方が分かりません。 ご教授の程よろしくお願いします。 具体例 100 200 300 と100ずつ自動で増やすのはどうすればよいのでしょう。
543 :
複乳 :2010/03/15(月) 19:29:14
>>543 丁寧で親切で素早い回答ありがとうございます。
早速やってみます。
本当にありがとうございました。
タブで区切られた1500行ほどのテキストデータがありまして、 それをエクセルに読み込むと、1行ごとに空白行が挟まってしまい3000行になってしまいます。 空白行を一気に消す方法は無いでしょうか?
フィルタで空白行を抽出してCTRL+-
>>545 元ファイルの中身がわからんけど、元のファイルをいじったほうが早そう。
改行コード変えるとか、正規表現で置き換えるとか。
元のテキストデータの改行部分にタブも入ってるみたいで、 それが1行作ってるみたいです。 どうやったら改行コードを置き換えられるのでしょうか? テキストエディタはメモ帳しかありません。
549 :
547 :2010/03/15(月) 21:28:02
どっちかを消せばいいんじゃない? 今回は改行コードはそのままで、Tabを消せば? メモ帳でも、タブ文字をコピペしたら置き換えできるよ。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 20000行程度のデータベースから、複数条件を満たすものを合計するマクロを作ろうと思っています。 20000行全部ループさせる方法と、SUMPRODUCTを使う方法とでは、 どちらが処理速度が速いでしょうか??
>>549 いろいろ試してみましたが旨くいきませんでした。
552 :
複乳 :2010/03/15(月) 22:22:23
>>549 そのタブの文字コードをmidとcodeで調べる
エクセルにコピーしてからsubstituteでcharを置き換える
>>550 数秒の差でしょうし、大して変わらないと思う。
コードの書き方も重要なような。再描画・再計算止めるとか
環境やコードによって変わると思うので、fornextで10000回ぐらい回してみればどうでしょう。答えがでると思います
>>552 >>550 です。
ありがとうございました。
集計回数が100を超えるので、
1回の処理が数秒の差でも、トータルだと数分になりそうですね。。。
両方作って試してみます。
554 :
539 :2010/03/16(火) 00:04:45
>>541 ありがとうございます、これをたたき台に勉強しながら作ってみます。
良くわかっていない上司から「パソコン持っているんだろ、エクセル担当しろ」
と意味の分からない押し付けられ方をしたので困っているところでした。
>>553 複数条件の合計って1回こっきりのときはDSUMやSUMPRODUCT使ってもいいが
100回の集計なら駄目だな。
ピボットテーブルでやるべき問題じゃないのか?
SUMPRODUCTを縦や横にフィルコピーする奴はアホだぞ。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 検索 A B 1名前 年齢 2たろう 12 3じろう 12 4うんこ 13 こんな風な表があったとして 年齢の列にある値が数字かどうかをチェックしたいのですが 年齢がB1にあるとは限らずC1にあったりA1にあったりします 年齢という値の下にずらずらしてる値が数字かどうかをチェックしたいのですが こういう場合はどうしたらいいでしょうか
>>556 適当な列にドゾ。
=IF(B1="","",ISNONTEXT(B1*1))
結果;
TRUE ・・・数字
FALSE・・・文字
空欄 ・・・何も入っていない
558 :
557 :2010/03/16(火) 04:27:46
ごめん、これだと文字もTRUEになっちゃうな。 =IF(B1="","",ISNONTEXT(B1)) これでやってください。
>>558 それだとB1の列にしか対応してないですよね?
年齢っていうセルと同じ列の
年齢っていうセルより下のセルに対してチェックしたいんです
なんかわかりにくくてすいません
560 :
557 :2010/03/16(火) 05:16:59
その数式を下方向へコピー、またはオートフィルを行ってください。
>>556 チェックって、具体的にどうしたいの?
目で見て分かるようにしたいの? それなら条件付き書式を。
もしオートフィルを知らないなら覚えよう。Excel扱えないよ。
>>558 この場合ISNUMBERのほうが。
=IsNumber(B1)
空白セルや空文字列、エラー値にもFalseを返してくれるよ。
ISNONTEXTって記憶になかったや。
いつもNOT(ISTEXT(B1))にしてたからカッコを減らせる。
ありがとう。
562 :
561 :2010/03/16(火) 11:41:38
>>556 ,559
設問読み違えた、ごめん。
年齢がB列以外にもあるんだったね。
あとVBAつかえるんだからオートフィルは知ってるわなw
つか「A1にある」ってどういう事? 名前もばらばらに存在なの?それとも無い場合があるの?
横の最大列数は? Excelの限界まで?
年齢の数値が欲しいの?セルが欲しいの?
各行のすべてのセルに、年齢が1つしか入っていない(たろうの年齢は1つだけと考えてもいい)
かつ検索範囲決め打ちで、かつ値しかいらないなら判定と検索含めて1行でおk。
Age as Long
Age = WorksheetFunction.Sum(Range("A1:A100"))
563 :
561 :2010/03/16(火) 11:45:08
>>562 あぁしまった、横に探すんだった。
訂正:
Age = WorksheetFunction.Sum(Range("A1:Z1"))
A B C D 1名前 年齢 住所 職業 2たろう 12 日本 ニート 3じろう 12 ろしあ 配管工 4うんこ 13 韓国 社長 わかりにくい説明でした ↑のように住所や職業などの項目が増えたり 性別とか趣味とかの項目が増えたりしても VBAで年齢の列とか住所の列を取り出して それぞれに処理を行う みたいなことをしたいんです
>>564 Sub a()
c = Worksheets("Sheet1").Cells.Find("年齢").Column
Debug.Print c
End Sub
エクセルって、セルの中の「~」って文字は検索できないんですか? 「~」を「→」に置換したいのですが。
567 :
複乳 :2010/03/16(火) 16:03:31
>>566 チルダはエスケープ文字。
エスケープ文字はエスケープ文字でエスケープ出来るんだよ普通は。
だから「~」を検索するには「~~」と入力すればいい。
2文字の「~~」を検索するには「~~~~」と入力すればいい。
ありがとうございました
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル ソート 降順 空白 下 データのソートで降順したときに空白データが一番上にきてしまうのですが 空白データを一番下にもっていきたい場合どうすればよいでしょうか?
571 :
570 :2010/03/16(火) 17:12:43
すいません、テンプレではVBA不可になっておりましたが、VBAでも可能です。 よろしくお願いします。
>>571 全体を昇順ソート後、空白セル以外を降順ソート。
本当に空白なら降順でも下になるはずだ。 空白じゃなくて""とかの長さ0の文字列が入ってるんだろ? ""を空白に置換すればいいと思う。
Cells(1, 1).Value = Evaluate("SUMPRODUCT(((" & SH & "B6:B" & X & ")=""" & 変数@ & """" _ & ")*((" & SH & "C6:C" & X & ")=""" & 変数A & """" _ & ")*(" & SH & "D6:D" & X & "))") って感じで、やってます。 質問したいのは、上記で、変数@(B列)に合致して、変数A(C列)は何でもいい(無視する)という条件で合計させたいとき、 変数Bの指定の仕方は何かありますか?? Aだけに合致する場合は、二行目を削除するしかないですかね?
>>574 変数2がない時は変数2関連の出力をしないようにしたい、それだけの話か?
つかコードがおかしくないか?
576 :
574 :2010/03/17(水) 10:38:31
>>575 説明が下手糞ですみません。。。
VBAで聞くからややこしくなるんでしょうか。。。
普通の関数だとこんな感じです。
=SUMPRODUCT((B1:B100="変数1")*(C1:C100="変数2")*(D1:D100))
この関数で、変数2を条件としたくないんです。。。
変数2がないときは、(C1:C100="変数2")を除くしかないでしょうか??
577 :
複乳 :2010/03/17(水) 11:22:33
>>576 変数2を条件としたくないってのなら(C1:C100="変数2")除けばいいだけの話
どうしたいのかが良く分からない
式が長すぎるという理由でそうしたいなら、式自体を書き換えたほうが後のメンテナンスにも良いので
書き換えてしまえばよい
If 変数A = "" Then 変数@だけの式 Else 変数@とAの式 End If みたいにすればいいんじゃないの?
VBAでやりたいのかワークシート上の式でやりたいのか、どっちかはっきりしてね
580 :
名無しさん@そうだ選挙にいこう :2010/03/17(水) 13:48:14
Excel2003だからか、音声読み上げの機能がついています。 これを使って英語の数字の聞き取り訓練のVBAを作っていただけないでしょうか? 単純なのがいいです。 乱数で出した数を読み上げてくれて、それをできるだけ早く入力することが 繰り返しできるだけで大満足です。
581 :
名無しさん@そうだ選挙にいこう :2010/03/17(水) 14:14:20
空白セルがあったら、削除して、その結果右にあるセルを全部1つ左にずらすためにはどうすればいいでしょうか? 行が100個くらいあり、そのうち空白セルは計100個入り乱れているので、すべて自動でやりたいです。
582 :
名無しさん@そうだ選挙にいこう :2010/03/17(水) 14:25:57
列のいくつかが隠れているExcelファイルを見つけました。 列の表示がA, C, H, I, J, K・・・と、何とB列D列E列F列G列が隠れているんです。 どうすれば全部ひょうじさせることができますか?
>>581 100個程度なら編集、ジャンプ、空白セルを左詰めで削除。
584 :
複乳 :2010/03/17(水) 14:43:36
>>580 自分で作れ。
MSかどこかにspellnumber関数が落ちていたのでこれを使えば早いと思う
>>582 CTRL+Aで全選択の後、上の端の「A」や「C」を右クリック
全て表示 みたいなのがあるはずなので、それをくりつく
てst
>>582 Ctrl+Aでシート全体を選択したあとAを右クリックして「再表示」な
複乳はもうちょっと丁寧に回答しろ。最近手抜きすぎだぞ。
>>581 ほい
Sub a()
For r = 1 To ActiveSheet.UsedRange.Rows.Count
For c = Cells(1, Columns.Count).End(xlToLeft).Column To 1 Step -1
If Cells(1, c) = "" Then Cells(1, c).Delete Shift:=xlToLeft
Next
Next
End Sub
>581 は >583 が一番だよ。マクロ組むまでもない。 UsedRange.Rows.Count はセル範囲の行数だから 1行目からデータが無いと最終行を表さない。 また二重ループで Column.Count を計算させるのは どうだろ、256 決め打ちで良いんじゃないの? Cells(1, c) は Cells(r, c) の単純ミスね。
589 :
581 :2010/03/17(水) 22:23:19
>>588 2007かもしれないじゃん
どっちにしても最初に求めて変数に入れといた方がいいね
最終行を求めるのは .SpecialCells(xlLastCell) かな
591 :
複乳 :2010/03/18(木) 00:10:13
>>586 そうか?まぁ大体分かるだろ
分かんなきゃまた来るだろ。現になんども要再回答と気ている。ウハハ
593 :
588 :2010/03/18(木) 11:12:47
ループ内では極力、余分な処理をさせない という主旨は変わりませんが、二重ループ内じゃなくて、 最初のループ内で処理されますね。訂正。
594 :
名無しさん@そうだ選挙にいこう :2010/03/18(木) 13:15:53
セルの色のデフォールトの白と文字の色のデフォールトの黒をそれ以外にする方法は有りませんか? 例えば表全体の色を黒、文字を白で使いたいのです 表のセル全体を一旦それに指定してもセル内容を移動すれば移動元のセルはデフォールトに戻ってしまいます それを避ける方法は有りませんか? OSはMeでエクセルは95です しかしそれはそう関係ありません 最新のOSとエクセルで出来るならそれを購入しますから
苦労してるな こないだのノートPC、office xp 付けて上げれば良かったかな 95にMEか…
596 :
名無しさん@そうだ選挙にいこう :2010/03/18(木) 13:38:12
実は私はエクセルは使ってないのです、123使いです ゆえに今のパソコンには入っていずほぼ廃棄状態になっているMe機に入っているのを見つけたのでそれで試行をしています 友人に尋ねられたのですが解らないのでここに持ち込みました
597 :
名無しさん@そうだ選挙にいこう :2010/03/18(木) 13:48:46
594、596です セルの色を好みのものにする方法は判ったのです その色にした背景画像を作ってそれを使えば良いのです ところが文字のデフォールトはそのままなのでこの方法だけでは使えないのです ゆえに文字のデフォールトだけ変える方法でもかまいません しかし文字のデフォールトが変わればセルの色のデフォールトも変えられるとは想像しますが
598 :
複乳 :2010/03/18(木) 14:12:38
>>594 ctrl+aで全体を選択できるから、その状態でフォント等を変える
599 :
名無しさん@そうだ選挙にいこう :2010/03/18(木) 14:43:07
>>598 ありがとうございます
残念ながらその方法ではその後セルの内容を移動すれば移動元のセルはデフォールトに戻ってしまいます
600 :
複乳 :2010/03/18(木) 14:58:18
>>599 そういうもんです。移動しないかctrl+d辺りでコピー、または完成後にフォントの設定でもして下さい
vbaなら可能ですのでこちらは自分で調べてください
601 :
名無しさん@そうだ選挙にいこう :2010/03/18(木) 15:05:20
>移動しないかctrl+d辺りでコピー、または完成後にフォントの設定でもして下さい それで済むなら相談には来ません
602 :
複乳 :2010/03/18(木) 15:12:34
それではvbaのWorksheet_Changeです 面倒くさいのでコードは書きませんw
603 :
582 :2010/03/18(木) 15:22:04
604 :
名無しさん@そうだ選挙にいこう :2010/03/18(木) 16:02:04
>>602 有難うございます
「Worksheet_Change」というのはVBAの命令の一つなのでしょうか?
ネットで探してみましたがマクロプログラムの中で使われている例が探せません
605 :
名無しさん@そうだ選挙にいこう :2010/03/18(木) 17:06:42
「Worksheet_Change」を含むVBAのコマンドリストをネット上で探してみましたが探せません ソフトなり解説書なり購入しないと知る方法は無いのでしょうか
606 :
名無しさん@そうだ選挙にいこう :2010/03/18(木) 18:10:23
こんにちは 2010/3/19 0:00 2010/3/19 6:00 2010/3/19 12:00 2010/3/19 18:00 2010/3/20 0:00 2010/3/20 6:00 2010/3/20 12:00 2010/3/20 18:00 2010/3/21 0:00 2010/3/21 6:00 2010/3/21 12:00 2010/3/21 18:00 というセルがあるんですが、このままセルを下に引っ張っても同じ内容の繰り返しになってしまいます 2010/3/22 0:00 〜 以降を自動でセットするにはどうしたらよいのでしょうか?
607 :
複乳 :2010/03/18(木) 18:13:17
>>606 2010/3/21 12:00
2010/3/21 18:00
を選択して下にひっぱる。ちなみにオートフィルって動作です
>>607 うおwwwいけましたwww エクセル賢すぎるww
なるほど、下の2列だけでよかったんですね
エクセル甘く見てました thx!
宜しくお願い致します。Excel2003を使っています。 A列に年月日が入力されていて、 B列には出勤したら「1.0」、半日なら「0.5」のいずれかを入力していきます。 B列最下に出勤数の合計を入れたいのですが、土日祝日は足したくありません。 どのようにしたら平日のみの出勤数をカウントできますか? ちなみにA列の年月日には条件付き書式を 以下のように設定して土日祝日は色が付くようにしています。 =AND(WEEKDAY(A1)=7,A1<>"") =AND(WEEKDAY(A1)=1,A1<>"") =MATCH(A1,祝日,0)>0 つまり、祝日表は別シートに作ってありますが、 どういう関数を入れたら平日の出勤数をカウントできるのかわかりません。
610 :
複乳 :2010/03/18(木) 20:08:24
2003や2007ならシート全体を選択して文字と背景の色を変えれば 編集や移動をしてもそのままの色が維持されるんだけどねえ。 95は手元にないから確かめようがないわ。
>>606 ちなみに
A1が2010/3/19 0:00 の場合、以降6時間毎を打ち込みたいのであれば
A2 =A1+1/4
で以降コピペするというやり方もあります。
613 :
609 :2010/03/18(木) 21:18:59
>>610 レスどうもありがとう。
WORKDAY関数の概要を読んでみたんだけど、B列の合計に使えます?
ちょっとわたしには思いつかなかった;
とある月の3日が土日祝日だった場合
日 稼働
A B
1 1.0
2 0.5
3 1.0 ←土日祝
4
5 1.0
計2.5
↑この計算式を知りたいです。
合計が3.5ではなく、土日祝分1.0を省いた2.5になるようにしたいです。
>>607 この場合の下の2列にした時の挙動はどうやって予測したんです?
いつも思うんだけど複数セル選択時のオートフィルの法則性がいまいちわかんない。
>>614 単純に”差”を加算しているんじゃないの?
616 :
複乳 :2010/03/18(木) 21:37:55
>>614 例えば1,2,9だと最初と最後の和/セルの数
みたいな感じで12になる。1,2,-9だと-12になる
>>613 ごめんテキトーに答えたら全然違ってたわ。アハハ
A1=日付
B1=1か0.5
C1=WEEKDAY(A1)
D1=IF(ISERROR(MATCH(A1,F:F,0)),0,1)
E1=IF(OR(C1=7,C1=1,D1=1),0,B1)
F1=祝日を並べる
以上下へオートィル
G1=sum(e:e)
でどうっすかね
>>615 >>616 ん? ん?? え、そういうことなの? ちょっと試してくるw
レスありがとうございます。
618 :
609 :2010/03/18(木) 22:04:35
>>616 うわー、できてます、できてますが。。
これをセルひとつに関数入力して実現できませんか?
「祝日」表は別に表があるのでそこを参照できます。
>>618 とりあえず、C列とD列はなくてもいい。
E1=IF(OR(WEEKDAY(A1)=7,WEEKDAY(A1)=1,IF(ISERROR(MATCH(A1,F:F,0)),0,1)=1),0,B1)
あとはLOOKUPで祝日を検索して条件に追加すれば1つの式でできる
複乳さんってたまにひどいよね
621 :
609 :2010/03/18(木) 22:29:08
>>619 レスどうもありがとうー。
お二人の結果が同一なのは確認できました。
最後にどうやれば合計が出せるのか、、
LOOKUP関数読んでみます。
おーい、複乳ふぁん。 涙目の複乳を慰めてやっておくれ。w
623 :
609 :2010/03/18(木) 23:02:29
ここまでヒントもらっておいてわからなかった;
教わったところを明日会社に持って行って考えてみます。
複乳さん、
>>619 さん、どうもありがとう。
624 :
614 :2010/03/19(金) 01:17:05
>>617 オートフィルってやっぱりそう単純じゃないような・・・変化増分は一定みたいだけど。
でも右クリックフィルってあるのを知った。
それはそれで快適になったのでよしw
625 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 02:51:06
Excelのいい本ないですか? 本屋で探してもない。 見つける基準は「オートフィル」の説明。 この「オートフィル」ほど自分が気に入る本の条件としてよいものはない。 ・1つのセル選択時のオートフィル ・2つのセル選択時のオートフィル ・セルが関数のとき ・セルが文字列のとき ・文字列に数字が複数あった場合 (例「1回戦第2試合」) などの場合のオートフィルの規則をちゃんとわかりやすくまとめてる本がいい
626 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 02:54:36
2 3 5 この3つのセルを選択してオートフィルしたら 2 3 5 6.333333333 7.833333333 9.333333333 10.83333333 12.33333333 13.83333333 となったのは、なぜだ? 素数の数列を出すつもりなのに。
素数の数列を出す機能なんかあったらノーベル賞取れるよ
628 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 07:46:13
セルに0を表示したくないので、書式設定の表示形式で #,###.##;-#,##0; としました。0は表示されませんが、"3."のように少数なしのときでも"."がつきます "."がつかないようにするには表示形式をどうしたらいいでしょうか?
>>628 Excelが2003以前なら無理
2007でも一発ではできない。条件付き書式で整数かどうか判定して書式を切り替え
630 :
複乳 :2010/03/19(金) 07:51:36
>>620 うん。いつもなんだ。すまないね
>>625 それだけ書く間に試せばいいんじゃないでしょうか
>>626 616かと思ったら違ったね。グラフにするとなんとなく見えてくるような、来ないような
>>627 いや、無理だろ・・
>>626 セル3個のオートフィルは等差数列になる。セルの数をnとして、
A1〜A3を下にフィルした場合、初期値は(A2+A3*(n+1)-A1*(n-1))/n、公差は(A3-A1)/(n-1)。
632 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 11:18:53
>>611 有難うございます。
それなら解決です。
昨日聞いたところでは友人のExcelは2002らしいですのでだめなのでしょう。
今マイクロソフトに確実なところを問い合わせています。
2002ではその機能が無いのが間違いなければ新しいのを買えば出来ることを伝えて終わりです。
私としてはVBAでの解決方法も興味が有るのですが。
エクセル2007のグラフ(散布図)について質問です。 X軸になる元データが2010年上半期、2010年下半期と入力されて いる場合、グラフ作成するとX軸のラベルが0、2、4、6、8という感じで 数字で表示されてしまいます。これを元データの通りに2010年上半期 と表示させたい場合どうすればよいでしょうか?
635 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 17:47:06
>>634 えっ、そうなのですか!
友人は自分でも試したし相当詳しい人間にも聞いたとのことでしたが浅い試行だったようです
マイクロソフトからはまだ連絡が無いし
かまわなければその方法を教えていただけないでしょうか
>>632 VBAでやるならWorkSheet.Changeイベントが起きるごとに編集された部分の色を元に戻す。
ただし2002の時代のパソコンはそれほど速くないので無駄に動作が重くなる可能性がある。
639 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 18:02:19
>>637 ありがとうございます
しかし私は2002も持ってないので友人にどう説明したら良いか解らないのです
出来るとだけ伝えても本人には出来ないかもしれません
どのプルダウンメニューから入るのか程度で良いですから教えていただけないでしょうか
640 :
複乳 :2010/03/19(金) 18:07:50
641 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 18:08:21
123でならどうマクロを組めば良いかは検討が付きます 確かに遅くなりそうな気はしますね でもそう深刻ではないように思います 私の予定としてはVBAで組んだ物を渡して2003以降なら無くても出来ると伝えるという2本立てでするつもりでした しかし2002で出来るならその必要も全く無くなった訳ですが
642 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 18:12:27
>>640 それなら話がまた振り出しに戻るのですが
それで全体を変えてもセル内容を移動すれば移動元のセルはデフォールトになります
エクセルの95(バージョン7.0)ではそうなります
2002ではならないのでしょうか
おれちょっとカルシウム足りてないのかな
645 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 18:20:05
642です 余談を言うと 123の2001ならワークシートのプロパティーで変えればOKなんですよね 123が気に入っているのですがこの2001でアップデートは最後です もはやサポートも何も無い状態です 会社も無いのでしょう多分
646 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 18:27:17
>>643 まあそう怒らないで下さい
確かに無視しました
しかしそれは意味が不明だったからです
確かに611が出来るかどうかの質問ですが611に書かれているのはセルの内容を移動させても移動元はデフォールトには戻らないというものです
ゆえに634のレスは2002でもデフォールトに戻らないセルの背景と文字の色が指定できるという意味になってしまっているのです
647 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 18:35:59
(ここのやり取りに限りませんが他にもいろいろ尋ね周り)この件に関しては疲れました マイクロソフトの対応が遅いのが一番の問題ですね VBAに関しては昨日、2003と2002の違いについては今日電話をし返事をくれつお言った目では良かったのですがその後何の連絡も有りません マイクロソフトについてはそもそもパクリでエクセルなんぞを作ってOSとの抱合せ販売でシェアを盗むようなことをしなかったら更に使いやすくて強力になった123が今でも販売されているでしょうにという点がとても残念です
648 :
複乳 :2010/03/19(金) 19:00:28
とりあえずデフォールトはそろそろやめてくれ 見る度に吹き出してしまうんだよw
実は俺もw
こいつはexcelよりも日本語の勉強が先だろ。 聞けば聞くほど、何がしたいのかわけがわからなくなる。
651 :
複乳 :2010/03/19(金) 19:13:09
単純にバカか精神年齢が低いと思う あと全然関係ないのに俺の中でロータスの評価が下がった
今ざっと一連の書き込み見たけど、何をやりたいのか俺には分らん。 Excel95みたいだけど、95にはWorksheet_Changeはない。 似たようなことはOnEntryプロパティでやってたな。 大昔のことなのでやり方もよく覚えてないが。
一連のやり取りを見ると、サポートが即答できないのがなんとなく解る。
655 :
複乳 :2010/03/19(金) 19:39:48
95にWorksheet_Changeなかったのか、失礼した ってか、よく知ってるなー
>>653 最終的には2002で
>>611 のようなことができるかということだと思うんだが。
他人には「振り出しに戻ってしまう」とか言いながら、「95では」と言い出して自分で振り出しに戻している。
何がやりたいって、黒バックにしたいんだろ? Excelじゃ無理。
AさんはExcelの配色を変えたいけど方法がわからない。 世話好きのBさんに相談したら、実はBさんはExcelが嫌いだった。ここから悲劇が始まった。 Bさんはたまたま95だけ持っていたけど、使い方は知らないし用語もわからない。 95と2002じゃ互換性も低いし操作性も全然違う。 そりゃ伝わるわけないよ。 解決策1 素直にわからないと言う。 そもそもAさんが自分でサポートに電話して自分の言葉で状況を伝えるべき。 解決策2 世の中Excel一色になってしまったので、BさんはあきらめてExcelに乗り換える。 友達サポートしようと思ったら、毎日使わないと人に教えられるほど詳しくなるのは無理。
660 :
複乳 :2010/03/19(金) 22:20:37
>>657 ワークシートチェンジなら割りと余裕かと・・
手元の2003で試したら
>>598 でできる。ワークシート自体の設定を変えるっぽい
excel95じゃできなかったんだろうな
なんにしろ、いろいろな人が既に言ってるんだが・・・サポートも大変だな
661 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 22:32:19
パートタイマーの勤務表を作っています。 A=7時間、B=5時間、C=4時間という風にアルファベットを 個人の名前の横に記入して表をつくっているんですが、 代入計算?してセルに入力したアルファベット種類と数から、 個人の勤務時間の合計を表の最後の列または行のセルに自動で出したい のですが、可能でしょうか?
>>661 決まった内容のセルの数はCOUNTIFで数えられる
=COUNTIF(B1:Z1,"A")*7+COUNTIF(B1:Z1,"B")*5+COUNTIF(B1:Z1,"C")*4
↑
B列からZ列の間で"A"が入ったセルの数を調べて7を掛ける。以下同じ
664 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 23:05:44
>663 ありがとうございます 本読んでもわからなかったので助かりました さっそくやってみます。
665 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 23:36:36
バカが急に沸いて出たようですね
>>662 2003では出来ることは既にここの話で既知のこと
それを理解する能力が無いということ
>>660 上記と同じ
理解力無し
エクセルの95で出来ないという事が何かの誤解を生んでいる訳では無いことが判らないらしですね
666 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 23:38:34
>>648 天に向かって吹いて自分の顔でも汚していたら良いでしょう
別に止めませんよ
笑って見ているだけです
667 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 23:39:28
>>650 自分に理解力が無いことをわざわざ言う事も無いでしょうに
668 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 23:42:10
>>662 あんまり興味のない話だったが、それどうやるの?
俺2007しか持ってないけど。
670 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 23:46:20
671 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 23:47:59
>>653 あなたも理解力が無いようですね
エクセルの95にWorksheet_Changeが無いのは既に判っていること
だからネット上で探したのです
672 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 23:49:07
>>656 2002以降と95は分離して話しているというのが理解できていないようですね
混同しているのはあなたでしょう
673 :
複乳 :2010/03/19(金) 23:50:33
こ・・・これは釣りなのか?それともガイジンの方ですか?
そもそもexcel95の細かい仕様知ってる人なんて本当に少数だぞ。
しかも現行で使ってる人なんてトキより少ないだろw
無料でそれ以上の機能を持ったもの(Openoffice)が出回ってるのにわざわざ有料の劣化品使ってるなんて
>>666 ただとりあえずデフォールトはマジでやめとけwなんか貴族みたいでいちいち面白いんだよwwwwデフォルトだよ。普通は伸ばさないんだよwww
有名なgoogleの検索結果教えてやるよ
"デフォールト" の検索結果 約 65,200 件中 1 - 10 件目 (0.26 秒)
"デフォルト" の検索結果 約 10,100,000 件中 1 - 10 件目 (0.22 秒)
捏造と思うなら調べればいいぞ。ここまで差があるとは思わなかったがwとりあえずこれは本当に本心からの親心だw
貴族キャラを通すなら止めはしないんだが・・うーむw
要するに色々突っ込みどころが多いんだよwwwww
普通は
>>598 でおわりなのw周りで笑いをこらえる身にもなってやれ!
674 :
複乳 :2010/03/19(金) 23:52:53
>>672 収まったと思ってリロードしたら出てくるとか何のバツゲームだよ!
だから95なんて誰も使ってねーんだよ!そんな知識このスレですら必要ないのwww
わかったらopenofficeつかっとけw
675 :
名無しさん@そうだ選挙にいこう :2010/03/19(金) 23:56:37
>>658 幸いな事にあなたがたのようなバカが出てくる前にそうでない人のアドバイスによって問題はほぼ解決しています
複乳氏
エクセルが一番頭がいい
679 :
複乳 :2010/03/20(土) 00:07:52
>>676 なーに
>>677 それは無い。エクセルのバグはかなり多い。特に小数誤差は計算ソフトでは最低クラス
>>662 数式バーも黒くする方法が分らん。教えてくれ。
>>665 によるとここの話で既知らしいが、どこか書いてあったっけ?
681 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 00:08:31
幸いなことに私の123の2001が息絶えるまでに新しい流れが出来ています GoogleSpreadsheetsとOpenOfficeです 私はビルゲイツがどこかで盗んできたような表計算を使うのも 牧原敬之がどこかで盗んできたような歌を聴くのも嫌いです そういうものを使ったり聴いたりしないといけないような人には同情します
>>681 仕事していないやつにはわからんだろうが、自分の好きなソフトなんて使えないんだよ。
683 :
複乳 :2010/03/20(土) 00:16:32
>>680 オートフォーマットかと思っていたが違うのか。私にも分かりません。
>>662 さん教えてください
685 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 00:28:44
>>673 >しかも現行で使ってる人なんてトキより少ないだろw
ま、そうでしょう
私も持っていただけですから
Openofficeを知っているなら少しは同情が減りますね
>普通は
>>598 でおわりなのw周りで笑いをこらえる身にもなってやれ!
それが間抜けだったから続いているのでしょう
>だから95なんて誰も使ってねーんだよ!
だからそれがどうしたのでしょうか
俺のソンケーする株屋さんは95を数年前まで使ってたぜ。 さすがに今は使ってないと思うけどな。
687 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 00:36:01
>>682 それはあなたが回りに従い、合わさざるを得ないような立場にしか居ないということを意味するだけです
私はエクセルで送られて来るものをOpenOfficeで見ることは有ってもこちらが何かをエクセルで送る必要に迫られるようなことは有りません
ほかのアプリの色まで変わるよね・・・
689 :
複乳 :2010/03/20(土) 00:38:07
>>685 普通OOoは知ってるよ。しらないと言うことをしらないのは君だけだよ・・
>>684 あれ、釣りなのか。残念。妙にobjectのcolorが変わってたからそんな機能があるかと思ったんだが
690 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 00:50:59
>>686 ソフトは永遠ですから古いものを使うのは良くあることです
ルーチンワークの多数の書式、特にマクロをたくさん含んだものを作っていたら手放せなくなります
しかしそれもそのソフトに合うOSが乗るパソコンが寿命を迎え中古市場でも買えなくなることで終わりを告げますが
691 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 00:57:57
>>689 まあ、そうあせらないで
「知ってるのを知らないのは」
と言いたいのではないですか?
692 :
複乳 :2010/03/20(土) 01:01:06
>>691 そうだね
>>690 OEMじゃないOSを買ってvmwareでも使え100年ぐらい使えそう
693 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 02:26:08
例えば、エクセルのファイル内に書類1〜10までの項目(シート)があり 全てのシートにおいてA3〜C3は真っ赤に塗りつぶしたいとします。 ここで質問なのですが 1つのシートの色を変更すると ほかのシートも同時に変更することってできますか? 例えば、書類1シートのA3〜C3の色を変更すると ほかの書類2〜10のシートも同時に変るようにしたいのです。
694 :
693 :2010/03/20(土) 03:10:51
解決しました、
695 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 09:40:18
『○○年 △月 ×日(曜日)』 と書かれたセルが30こあり、最初の1日目の 曜日を変えると、他の日の曜日も変るようにしたいのですが どうしたらいいのでしょうか?
日付はシリアルを入力しておけば書式でどうにでもなります
>>695 曜日だけが変わる事は無いハズ。
悪い事言わないから、日付は2010/3/20のように入力して、
書式をyyyy"年"m"月"d"日"(aaaa)にしときなさい。
もしかしたら和暦かもよ
699 :
複乳 :2010/03/20(土) 10:40:38
>>695 A1の書式設定を
yyyy"年"m"月"d"日"(aaa);@
とし、A1に1/1と入力
A2に=A1+1
のようにすればA1に連動して変わるよ
Excel2007なんですけど、セルを切り取って他のセルにコピーしても元のセルはデータが残ったままなんですが、これは仕様ですか?
カット&ペーストなら残らない
>>700 コピー&ペーストだと残る
カット&ペーストだと残らない
Excelに限らずパソコン操作の基本
コピペはあるのにカトペって言わないのはどうして?
同じパターンで略すならカッペだな
705 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 12:01:50
選択したセルのRGB番号を調べるにはどうしたらいいですか? 例えばA1が赤色だったとして、その赤は具体的にはどういうRGB番号になってるのか調べたいのです。 255 0 0なのか 254 0 1なのか そういう細かいとこが知りたいのです。
>>705 VBA使わないと無理だと思う
Sub a()
c = Range("A1").Interior.Color
r = c And 255
g = c \ 256 And 255
b = c \ 65536
Debug.Print r, g, b
End Sub
>>701 Ctrl+xして他のセルにCtrl+vしても元のセルに残ったままなのですが・・・
>>707 おまえのつかってるExcelニセモノだよ
(;゚д゚)ァ
710 :
複乳 :2010/03/20(土) 14:15:57
>>703 普通は移動っていうんじゃないかな
なんでかはしらん
>>707 どんなデータが残るんだ?
711 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 18:18:29
しむらうしろ!はあるのにしむらまえ!って言わないのはどうして?
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | 次でボケて!!! | |________| ∧∧ || ( ゚д゚)|| / づΦ
713 :
657 :2010/03/20(土) 18:36:27
>>659 出来るんなら教えてくれ。
カラー印刷にも対応していて
黒バックは印刷せず、白文字は
黒印字になる方法を。
>>710 普通セルを切りとりして他セルにペーストしたら元のセルのデータは削除されますよね?
それが残ったままなんです。
715 :
複乳 :2010/03/20(土) 19:17:58
コピーペーストになってるんじゃないの それか貼りつけたと思って貼りつけていないとか
>>707 Ctrl+XのつもりがCtrl+Cだったというオチとか。
>>714 Ctrl+xに、Copyするだけのマクロを割り当てているという落ちに3000点
y=1351x^-0.307 という式があるのですが,このxをExcelの関数を使って求めるにはどのようにすれば良いでしょうか。
クリップボードを監視してる奴が人知れずいて悪さしてるに1000ガバス
>>719 変形の仕方も分からないです。ご存じでしたら教えてください。
>>721 excelは関係ないだろ。中学程度の数学の問題。
723 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 20:17:18
あるフォルダにmp3ファイルがいっぱいあります その「ファイル名」と「長さ」だけをExcelのA列B列に書き出すにはどうすればいいですか? *「長さ」はそのフォルダで、"表示"→"詳細表示の設定"で表示させることが可能のやつです
>>722 当方中3ですが,習ってないです。
変形は確かにExcelとは関係ないですが,変形したとして,その後のExcelの関数を使った求めかたを教えて頂きたいのです。
>>723 長さってのは音楽の再生時間の事か。それOSからは取得できないよ、たぶん。
>>724 展開したらそれセルに書くだけ。
726 :
名無しさん@そうだ選挙にいこう :2010/03/20(土) 20:45:06
A B 1 2 1月 2 4 2月 3 6 2月 4 7 3月 列Bの月を参照して月ごとに列Aの値を合計や平均する関数ありませんか
>>726 SUMIFあたりを組み合わせれば月ごとの集計はできるけど、普通はそういうのはピボットテーブルでやる。
>>715-717 一瞬作業が出来るようになったのですがまた戻ってしまいました。
セル選択してポップアップメニューから「切りとり」→「貼り付け」をしてもやはりコピーになってしまいます。
解決しそうもないので、死ぬほど困るものでもないし、このまま運用します。
>>726 合計・・・SUMIF関数
平均・・・AVERAGE関数&COUNTIF
>>728 うほWSHから取れたのか。はずい回答しちゃったな。
732 :
名無しさん@そうだ選挙にいこう :2010/03/21(日) 08:04:53
エクセル2007で作ったファイルを 2003で開いたところ 塗りつぶし部分が違う色に変わってました。 これはどういうことでしょうか?
>>732 Office Excel 2007 では、色のサポートも、最大 1,600 万色となっています。
>>732 2003はたった56色しか使えないので、Excelが勝手に使える色に変えてしまう。
C1〜AA1 C3〜AA3 C5〜AA5 C7〜AA7 C9〜AA9 C11〜AA11 C13〜AA13 これらのセルにある背景色をまとめて変更して さらに他のブックにも同時に適応したいのですが どうしたらいいのでしょうか?
>>736 セル番号が規則的だからVBAを使うのが早い
Sub a()
For i = 1 To 13 Step 2
Range("C" & i & ":AA" & i).Interior.Color = RGB(255, 0, 255)
Next
End Sub
他のブックが1つのフォルダにまとまってるなら、それもVBAで簡単にできる。
手作業で一気にやる方法は、たぶんないと思う。
738 :
名無しさん@そうだ選挙にいこう :2010/03/21(日) 19:10:23
739 :
名無しさん@そうだ選挙にいこう :2010/03/21(日) 19:39:25
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ セルの右上に単位として”万”とか”人”というふうに文字が表記されている 資料があるのですがどのようにしたら右上に小さく文字が表示できるのでしょうか? コメント機能など使ってみましたがうまくできません(>_<)
740 :
複乳 :2010/03/21(日) 19:45:43
>>739 ABCDE、と入力してDEだけを選択する
右クリックで書式設定
だけど単位だけ別のセルにした方が色々使い易いとは思うけど
741 :
名無しさん@そうだ選挙にいこう :2010/03/21(日) 19:51:10
>>740 ありがとうございます!!早速試してみます!
>>736 VBAが一番手っ取り早いと思うけど条件付き書式でも出来る。
=MOD(ROW(),2)=1
あと2003にあるかどうか知らないが、2007にはテーブルとして書式設定ってのもあるみたいだな。
列見出しが邪魔かも知らんけど。
オ-トシェイブのある列を消したところ、F列とG列の間に一本の線となって残ってしまいました。 右クリックで捕捉できず消すことができません。400%に拡大しても無理でした。消すにはどうしたらいいでしょう?
>>743 図形描画ばーの中の白抜き矢印の形のつーるをつかう
>>744 うーん、そこをONにして一本線クリックしても反応せんかった。
746 :
名無しさん@そうだ選挙にいこう :2010/03/22(月) 13:57:18
C1に22(和暦) D1に3(月) E1に1(日) C2〜31まで空白 D2〜31まで空白 E2〜31まで2〜31まで連番で入力。 この状態でF1〜F31まで曜日を自動入力するようにしたいのですが どうしたらいいのでしょうか? 後、土曜日だけ青く 日曜日だけ赤色にすることは出来ますか?
>>743 一本の線になったってことは2003かな?2007なら図形は消滅するはずだし。
マウスを合わせてカーソルの形が変わたところっで左クリックすれば選択できる。
図形の上下にアンカー(小さい白丸)が付いたらDeleteで消える。
>>747 2002使ってる。アンカーがつかないんだよね。2007なら消滅するはずというなら一度そちらで開いてみようと思う。
>>746 F1に=DATE(C1+1988,D1,E1)、F2に=F1+1として下にオートフィル、F列の書式をaaa
文字や背景の色を変えるには条件付き書式で
だけど、日付は年月日に分けないで1つのセルに入れた方が便利だよ
2007だと一本線出てこないな。1回2007で保存して2002で開きなおしたら、
やっぱり一本線が残ってる。うーんうーん。実害はないが気になる。
>>750 無理だった。
とりあえずマクロを使って太らせてみるか Sub xxx() Dim tmp For Each tmp In ActiveSheet.Shapes If tmp.Width = 0 Then tmp.Width = 30 End If Next End Sub
>>751 うちは2003、2007しかないから厳密に同じ実験はできないんだけど、
2003で一本線になった図形を2007で開いたらやっぱりちゃんと一本線が出てきた。
2007でホーム→検索と選択→オブジェクトの選択と表示で図形の一覧が出てくるはずだけど、
そこから選択できない?
>>753 図形の一覧で問題のオブジェクトを見つけた。チャートが一本線になってしまっていたみたいだった。消えてスッキリ。さんきゅ!
755 :
名無しさん@そうだ選挙にいこう :2010/03/22(月) 18:18:08
>>749 ありがとうございます。
>文字や背景の色を変えるには条件付き書式で
具体的にはどうしたらいいのでしょう?
F3+1が日曜日だとして
「F3+1」を条件設定で赤くなるようにした場合
F3+1が日曜日以外の時も、赤くなってしまいます。
どうしたら良いのでしょうか?
>>755 >>749 をした後で、
条件付き書式で、数式を使用して書式を設定する。
=WEEKDAY($F1,2)=6の場合は青
=WEEKDAY($F1,2)=7の場合に赤にしる。
weekday関数をググってみると吉。
757 :
名無しさん@そうだ選挙にいこう :2010/03/22(月) 21:26:00
VBAを利用して Webページにある複数のテキストボックスに A1セルに書かれている内容をWeb上のAというテキストボックスに入力 A2セルに書かれている内容をWeb上のBというテキストボックスに入力 するような物を作りたいのですが やり方とかあるのでしょうか? あれば教えてください
758 :
名無しさん@そうだ選挙にいこう :2010/03/22(月) 21:46:14
>>756 すいません。
2010(beta)を使ってるんですが
条件設定 → 新しい書式のルール → (一番下の)数式を使用して を選択。
次の数式を満たす場合に値を書式設定のとこに
「=WEEKDAY($F1,2)=7」を入力。プレビューで赤を選択としたのですが
何も変りません。
>>758 俺の2010betaはちゃんとうまくいくぜ?
760 :
名無しさん@そうだ選挙にいこう :2010/03/22(月) 23:00:23
>>759 ごめn もっかいやったら
上手くいった thx
761 :
名無しさん@そうだ選挙にいこう :2010/03/22(月) 23:51:54
すいません。
>>746 とほぼ同条件で
B6に22(和暦) C6に3(月) D6に1(日) E6に曜日の場合
E6〜36の曜日を、日曜だけ赤にするにはどうしたらいいのでしょうか?
=WEEKDAY($E6,7=7
かと思ったのですが何故か上手くいきません。
>>757 できる
objIE.Document.Forms(0).Item("A").Value = Range("A1")
objIE.Document.Forms(0).Item("B").Value = Range("A2")
みたいにやる。
Itemの次の文字列はページのソースを見ないとわからない。
764 :
名無しさん@そうだ選挙にいこう :2010/03/23(火) 00:11:31
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 行に月、列に日付を書いて、毎日一つデータをうっています。 月1〜12 日 1 adg 〜 beh 31 cfi a,b,c・・・が数字です。月ごとにグラフを表示させることはできるのですが、 一つのグラフに縦軸に数字、横軸に1月1〜31日、2月1〜28日・・・と ずーっと横に伸ばして表示することってできないでしょうか? 今はひと月ずつ作って横に並べてみています。
765 :
名無しさん@そうだ選挙にいこう :2010/03/23(火) 00:12:39
↑すいません、ずれてます;何となく伝わるとは思うのですが;
766 :
名無しさん@そうだ選挙にいこう :2010/03/23(火) 01:14:56
下記の単語帳印刷用エクセルファイルをダウンロードして、
枠線の一部を変更しようとしたのですが、通常の「セルの書式設定」からは
できませんでした。
http://www.vitamin-p.jp/index/article/article_0313.html どこから設定されてあるのかさっぱり分かりません。
お手数ですが、ご存知の方お教えくだされば嬉しいです。
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel 2000
【3 VBAが使えるか .】いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 エクセル 罫線を消す
767 :
名無しさん@そうだ選挙にいこう :2010/03/23(火) 01:57:10
>>766 シート自体は"罫線"じゃなくてセルの区切りの目安となっているただの"枠線"みたいですね。
しかし、印刷時の罫線は印刷プレビュー→設定→枠線のチェックを外す、としていけば消すことが出来ます。
その後通常のシートに戻してお好みの罫線を引けばよいでしょう。
769 :
名無しさん@そうだ選挙にいこう :2010/03/23(火) 02:31:20
セルに特定の数字を入力すると 特定の数字だけ色が変化するようにしたいのですが どうしたらいいんでしょうか? 例えば『項目1』の1の部分だけ 赤や青に変えたいんです。 条件書式で『指定の値に等しい』や『文字列』でやってみたのですが 1の部分だけでなく、項目の部分も色が変ってしまいます。
770 :
766 :2010/03/23(火) 02:39:46
>>768 ありがとうございます!印刷時の罫線なんですね。
自分では見つけられなかったと思います。
ありがとうございました。
>>769 部分的に色を変えるのは条件付き書式じゃ無理。VBAが必要
>>764 データの選択でCtrlを押しながらセルを選択すれば、離れていたり複数の列や行にまたがるデータを
1本にまとめることができる。
データエリアが複雑な場合は数式を直接入れてもいい。
B1が1月1日でM32が12月31日だったとして、グラフの「元のデータ」の値に以下の式を入れれば
1年分のデータが1本にまとまったグラフができる。
=(Sheet1!$B$2:$B$32,Sheet1!$C$2:$C$29,Sheet1!$D$2:$D$32,Sheet1!$E$2:$E$31,Sheet1!$F$2:$F$32,Sheet1!$G$2:$G$31,Sheet1!$H$2:$H$32,Sheet1!$I$2:$I$32,Sheet1!$J$2:$J$31,Sheet1!$K$2:$K$32,Sheet1!$L$2:$L$31,Sheet1!$M$2:$M$32)
>>769 "項目"って文字を書式の中に入れればいい。で、書式で数字のほうだけ色指定すればいい。
774 :
複乳 :2010/03/23(火) 14:31:17
>>769 「項目」「1」それぞれ別セルにするといいと思います
それが一番楽やねw
質問です>< りんご ばなな りんご ぶどう りんご りんご ぶどう なし ・・・と、ダラダラ3万行くらいまで続くデータベースで、 果物をうまいこと配列変数で定義したいんです>< みなさんならどうしますか?>< ヒントでもいいので教えてくだしあ><
>>776 「配列で定義する」の意味がよくわからん。
配列変数にデータを移したいだけなら
Dim a As Variant
a = Range("A1:A30000")
みたいにすれば一発で代入できる。
同じのがいくつかあるか数えたいならピボットテーブルで一瞬でできる。
>>776 ん、俺DB知らない人間なんで役に立てそうもないわけなんだが、
問題の意味がわからないのは俺がDBわかんないからか、それとも文章がおかしいのかどっちだろか。
>>777 定義じゃなくて宣言です><
ごめんなさい><
Dim 果物(4) As string
果物(1) = りんご....
っていう感じにうまいことしたいんです><
宣言も違ってる気がする データが何種類あるか調べたいならピボットテーブル使え
>>779 A列を選択して、
データ → フィルタ → フィルタ オプションの設定 → 重複するレコードは無視する
でデータの一覧が作れる
VBAでやりたいなら上の操作をマクロの記録
>>779 それDBちゃうよな?
で、説明で手抜きをするな。違う答えがいっぱい来て困るのお前だぞ。一番迷惑なのは答えた側だけど。
>>781 うおおおおおおおおおおおおおおおおおおおおおおおお
すごいです>< 解決した予感がします><
だめだこりゃ。
785 :
名無しさん@そうだ選挙にいこう :2010/03/23(火) 20:17:57
>>785 一番最終行のどっかに値が入ってるからとか。
>>785 左側に結合したセルがあるに3000ペリカ
Excel97を使用していて、結合したセルの一部は削除できなかったのでは?
これが当たったらエスパー認定
788 :
名無しさん@そうだ選挙にいこう :2010/03/24(水) 11:08:53
すいません。 条件書式で土曜日を青くなるようにしてるのですが 土曜日が祝日の場合、土曜日が赤くなるようにしたいのですが どうしたらいいのでしょうか? 普通に土曜日が祝日の日を赤で塗りつぶそうとしたのですが どうやら条件書式の方が優先されるようで土曜日が赤くなりませんでした。
祝日も条件付書式にすればいいんじゃないかな?
790 :
名無しさん@そうだ選挙にいこう :2010/03/24(水) 11:51:38
>>789 ほーやって?
振り替え休日とかはどうすれば良いの?
>790 VBAで。
792 :
名無しさん@そうだ選挙にいこう :2010/03/24(水) 12:37:49
>790 条件「前日の日曜日が祝日の場合」 なっ、簡単だろ
祝日は別途リストつくんないとだめだよ 日付の横に祝日だったら1が入るセルをつくって、それみて条件書式
>>790 ,794
「日経PC.21」のバックナンバー見てみな。
条件付書式とVLOOKUPの組合せで驚くほど簡単に
曜日や祝日を色分けできるヒントが載ってるよ。
796 :
名無しさん@そうだ選挙にいこう :2010/03/24(水) 15:00:22
祝日を赤くするってどうしてるの? 毎年、祝日って日が変わるじゃん
>>796 だから祝日は、毎年一覧をどっかに作って、それと関連付けする必要があるんだよ。
エクセル使ってても式を組み立てられない人って結構いるから この手の人に説明するのむつかしいよね
799 :
796 :2010/03/24(水) 18:44:51
800 :
複乳 :2010/03/24(水) 19:36:01
異なるブックのデータ抽出、統合に関して質問させてください。 手元に複数のブックがあり、それぞれ あ 9 う 2 え 7 け 3 い 5 というデータと 1 α 2 β 9 γ 8 δ 5 ε というデータがあったとして、 それぞれ数字に対応するデータを抽出して う 2 β い 5 ε のようなデータを作りたいです。 どなたか方法がお分かりでしたらご教示願います。 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 統合 抽出 ブック データ
>>801 vlookupで抽出した後、lenが3のものを抽出したらどうよ?
>>802 ありがとうございます。
試してみます。
【1 OSの種類 .】 Windows ビスタ 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 なし Sheets("作業用シート").Range("A1").Select Dim I As Integer I = 2 Do While Cells(I, 21) <> "" Cells(I, 25).Formula = ("=cells(I,21)+cells(I,24)") I = 1 + I loop Cells(I, 21)が空欄なら、ずっと計算を続けるはずなのですが なぜかセルには数式cells(I,21)+cells(I,24) がそのまんま表示されます 表示形式を直しても直りません 記述がおかしいのでしょうか? End Sub
↑end sub がなぜか文章の最後にくっついてますが、間違いなのでどうか気にしないてください....
806 :
名無しさん@そうだ選挙にいこう :2010/03/24(水) 22:07:55
>804 Dim I As Integer I = 2 Do While Cells(I, 21) <> "" Cells(I, 25).Formula = ("=cells(" & I & ",21)+cells( " & "I,24)") I = 1 + I Loop これでできると思います。 たぶん。
807 :
806 :2010/03/24(水) 22:09:56
>804 Dim I As Integer I = 2 Do While Cells(I, 21) <> "" Cells(I, 25).Value = Cells(I, 21) + Cells(I, 24) I = 1 + I Loop 間違えました。 たぶんこれだと思います。
808 :
名無しさん@そうだ選挙にいこう :2010/03/24(水) 22:17:45
formulaでしたいんだったら、 = "=a" & I & "+ b" & I (A列、B列を足す場合) みたいに、cellsを使わないで、やるんじゃないかい? formulaはエクセル一般機能の式を作らないとダメ
809 :
名無しさん@そうだ選挙にいこう :2010/03/24(水) 22:37:56
プリンタで印刷するときに 改ページされる部分を自動的に実線を引かせる事は可能でしょうか?
810 :
複乳 :2010/03/24(水) 23:13:35
811 :
804 :2010/03/24(水) 23:53:37
解決できました、本当にありがとうございます。 周りには詳しい人がいないので、こにスレの方々にはとても感謝しています。
812 :
名無しさん@そうだ選挙にいこう :2010/03/25(木) 00:14:05
数字を入力すると 自動的に数字の後に『○年度 出納帳』 と自動的に出るにはどうしたらいいですか? 例えば、22とセルに打ち込んだら 自動的に『22年度 出納帳』と出るようにしたいんです。
813 :
複乳 :2010/03/25(木) 00:29:13
>>812 書式設定 ユーザー定義
0"年度 出納帳"
22と打てばデルとおもう
エクセル2007の散布図について質問です。 元データが例えば2005年上半期のデータなら2005/1/1 2005年下半期なら2005/7/1と日付形式で入力されており、これらの日付データは X軸の目盛として表示させようと思っています。 ただし同じ年度のデータが複数ある場合があります。 (例:2005/1/1が3つといった感じです) X軸の目盛の表示形式をyyyy年mm月に設定していますが、元データ通りに yyyy年1月、yyyy年7月といった感じで指定して表示させたいのです。 このような場合はどうすればよいのでしょうか? よろしくお願いします。
7月にならずに8月などが表示されてしまうということなら、散布図を使わないほうがよい事例の気がする。 どうしてもというのなら軸の書式設定の目盛の項目で調節。
エクセル(2007)のグラフについて 体力測定のデータを元にレーダーチャートグラフを作成したいのですが いくつか質問させてください。 @身長・体重・血圧・握力etc・・・など様々な数字が絡むため かなりいびつな形のレーダーチャートになります。見栄え良くするには、元データの数字を調整しないとダメですか? A各個人のデータに対し、平均データを作成してあるのですが これを各個人のグラフに色を変えて重ねることは可能ですか? 割とよく見かける構図だと思うのですが全然わかりません。
>>814 yyyy年mm月 → 書式設定 ユーザー定義 yyyy"年"m"月"
>>816 @
軸の書式設定。
軸を右クリック→目盛タブで、表示単位や最小値、目盛りの間隔を調整するといい。
A
グラフ右クリック→元のデータ→系列タブ→追加で、値の欄に平均値があるセルをドラッグすれば重なると思う。
>>818 あ、ごめん@じゃできないわ。
数値の単位を変えるか、一定の条件で点数化して対応するしかない。ごめん。
>>815 >>817 ありがとうございます。
散布図では軸は数値としてしか認識しないせいか、日付指定はムリなようですね。
別のグラフ形式で考えてみます。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 EXCEL 桁 揃え 整列 セルに入力されている数値を少数第1位で揃え、元々少数第2以上が入力されているものはそのままに。 また、表示上ではなく、実際のセルに小数第1位以上まで入力されているようにということは可能でしょうか? よろしくお願いします。
822 :
複乳 :2010/03/25(木) 22:12:55
よくわからんので例出してみて
開始日、工数(日)→終了日はWORKDAY 開始日、終了日→工数(日)はNETWORKDAY でいけるとおもうのですが、 終了日、工数(日)→開始日をするにはどうすればいいでしょう?
マイナスの工数として入力すれば逆算
826 :
名無しさん@そうだ選挙にいこう :2010/03/26(金) 00:08:05
AH7〜44まで 日曜日を赤で。土曜日を青で表示するようにしたところ 何故か2/20の土曜日だけ青くなりません。 どうしたらいいですか? ちなみに前後の土日は全て青と赤になってます。 何故、2/20の土曜日だけ変らないのでしょうか?
827 :
名無しさん@そうだ選挙にいこう :2010/03/26(金) 00:14:34
Excelのエラーの#N/Aとはどういう意味ですか?
829 :
827 :2010/03/26(金) 00:32:03
ヘルプのどこを押せばいいですか?
831 :
826 :2010/03/26(金) 01:10:08
無視しないで(・ω・` )
833 :
826 :2010/03/26(金) 01:19:34
他の月も何故か20日の土曜日だけ 色が変りませんでした。 どうなってるのでそう?
834 :
826 :2010/03/26(金) 01:24:28
AH7〜44まで、以下の条件書式を設定。 1:青 数式(=WEEKDAY($AH8)=1) 適応先(=$AH$7:$AH$45) 2:赤 数式(=WEEKDAY($AH7)=1) 適応先(=$AH$7:$AH$45) というように日曜日を赤で。土曜日を青で表示するようにしたところ 何故か2/20の土曜日だけ青くなりません。 どうしたらいいですか? ちなみに前後の土日は全て青と赤になってます。 何故、2/20の土曜日だけ変らないのでしょうか?
835 :
名無しさん@そうだ選挙にいこう :2010/03/26(金) 01:31:47
他の人がつくったExcelファイルの中で、数式がカッコ { } でくくられていたんです こんなかんじで {=SUM(B3:B5*C3:C5)} これはどういう意味ですか?
>>834 言われたとおりにやったら青くなったが。(Excel2000)
838 :
826 :2010/03/26(金) 01:37:38
>>836 2010BETAですがやっぱ駄目です。
条件書式って例外を設定できますか?
もしかしたら知らないうちに例外が設定されてるのかも。
839 :
名無しさん@そうだ選挙にいこう :2010/03/26(金) 01:45:11
>>835 その配列のしくみをおしえてくれませんか?
自分も使いたいんです。
840 :
名無しさん@そうだ選挙にいこう :2010/03/26(金) 01:52:19
111才の人の誕生日を入力できますか?
841 :
名無しさん@そうだ選挙にいこう :2010/03/26(金) 01:58:01
時間として 12:15 と入力しました そのあと、書式を日付にしました そしたら、セルの中身は「1900/1/0 12:15:00」でした どういうこっちゃねん? シリアルが関係あるらしい程度は知ってるけど 1月0日とはどういうこと?
>>841 そこは本来は1月1日になるはずなんだけど伝統的にあえて残されてるバグみたいなもん。
ロータス1-2-3とかも関係してくる話。
>>839 配列数式は、同じパターンの計算を繰り返すように式を展開するんだよ
普通のSUM関数を展開するとこうなる。
=SUM(B3:B5) → =B3+B4+B5
配列数式の場合は、こんなふうに式が展開される。
{=SUM(B3:B5*C3:C5)} → =(B3*C3)+(B4*C4)+(B5*C5)
もしも間違えてこうしてしまうと数式のエラーになる。
{=SUM(B3:B5*C3:C4)} → エラー
B列のセルが3個、C列が2個だと、対応するセルの数が合わなくて式が展開できないから。
844 :
複乳 :2010/03/26(金) 08:01:33
>>838 それ2/20が一番下にあるんじゃないか
一個したのを見てるようだから
1:青 数式(=WEEKDAY($AH7)=7) 適応先(=$AH$7:$AH$45)
とすればいいと思う
845 :
821 :2010/03/26(金) 09:06:19
>>822 申し訳ありません。
下記のように入力されている数値を
3
3.5
3.525
こうしたいんです。
3.0
3.5
3.525
よろしくお願いします。
>>845 > 表示上ではなく、実際のセルに小数第1位以上まで入力されているように
・・・例を見てもこの文の意味がわからない。
どれもこれも表示上の問題しかないぞ?
3=3.0だし、3.5=3.5だ。値はどっちにしろ変化しない。
どういう変化を求めてるのかを例示してくれ。
847 :
複乳 :2010/03/26(金) 10:15:28
>>845 同じく、表示のことしか意味が分からない
書式設定では小数をわける事は出来ないので、
A1に入力した物を変えるにはtext関数とifで分けるしかない
=IF(INT(A1)=A1,TEXT(A1,"0.0"),TEXT(A1,"G/標準"))
848 :
821 :2010/03/26(金) 10:45:27
何度も申し訳ありません。 現在の状態 3 3.5 3.525 これらの数値を1つのセルでつなげると「3_3.5_3.525」となります。 それを「3.0_3.5_3.525」となるようにしたいのです。
849 :
821 :2010/03/26(金) 11:09:58
850 :
複乳 :2010/03/26(金) 11:29:13
>>848 最初からそう書け
B5=IF(INT(B4)=B4,TEXT(B4,"0.0"),TEXT(B4,"G/標準"))
右にオートフイル
B6=B5
C6=B6&"_"&C5
右におーとふいる
>>848 (;´Д`) ・・・?
結局表示は関係ねぇ・・・orz
A1 B1 C1に値があるとして、
=IF(A1-FIXED(A1,1,1),A1,FIXED(A1,1,1))&"_" &IF(B1-FIXED(B1,1,1),B1,FIXED(B1,1,1))& "_"&IF(C1-FIXED(C1,1,1),C1,FIXED(C1,1,1))
>>850 ありがとうございます。
感動しました。
休日出勤が無くなりそうです。
うん、俺には最後までレスなしか… 。・゚・(ノД`)・゚・。<休日潰れてしまえー
854 :
複乳 :2010/03/26(金) 13:10:22
返事に期待するなら2chで回答者なんてしないほうがいい
855 :
名無しさん@そうだ選挙にいこう :2010/03/26(金) 14:49:03
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003/2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel アドイン リボン Excel2003と2007を共存させて使用しています。 Excel2003で使っている3つのアドインが,ツールバーに追加される形態です。 これらをExcel2007で使うと,「アドイン」という「リボン」に3つともまとめられてしまいます。 これらをそれぞれツールバーのように「3つのリボン」に独立するように改変したいのですが, 何か方法はないでしょうか? アドイン作者のサイトには特に記述はありませんでした。 よろしくお願いします。
OS:xp Excel2003です。 ピボットテーブルを使うと、部署名が 第一営業部 第三営業部 第二営業部 と並んでしまいます、これを直す方法ってないでしょうか?
>>857 一二三を123に置換したら営業部長さんに叱られるかな?
ピボットテーブルは手動で項目の順番を並び替えることができるし、 その後項目が追加されてもその順番を覚えててくれるので便利
>>841 シリアル値でいうと 1 が 1900年1月1日を表す。
1時間は、1/24 で 0.041666667。 1分はさらに60で割ってあげればいい…というのは知ってるはず。
なので、
=(1/24)*15.75 とやると 15:45 が表示できて、
=("15:45")/(1/24) とかやると、15.75 という10進数で表現できたりするんだけど…
その場合、1日に満たない数値になるので、1900年1月1日として成り立たない。
基準より前の負の日付や時間はエラーを返す仕様なので、1899年12月31日を表現できない。
1に満たない 0 日として表示する苦肉の策。
ロータス 1-2-3 の件は、もう少し後の日付(1900年2月29日。存在しない閏年)の互換用バグだよ。
861 :
名無しさん@そうだ選挙にいこう :2010/03/27(土) 16:59:40
vlookup関数じゃなくてlookup関数はどういうときによく使いますか?
【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 このブックに含まれるいくつかの数式は、現在閉じている他のブックにリンクしています。以前のバージョンの Excel で、リンクされているブックを開かずにこれらの数式を再計算すると、結果の文字列のうち、255 文字の制限を超えている文字列は返されません。 質問 Excelでネット上に落ちていたゲーム用のシートを利用しているのですが、データを保存しようとすると、 このブックに含まれるいくつかの数式は、現在閉じている他のブックにリンクしています。以前のバージョンの Excel で、リンクされているブックを開かずにこれらの数式を再計算すると、結果の文字列のうち、255 文字の制限を超えている文字列は返されません。 とエラーになってしまいます。 保存を続行すれば、問題ないのですが、いちいちエラーが表示されるのがめんどくさいので 修正しようと思っているのですが、どこのセルで他のシートを参照しているのか分かりません。 どのセル、あるいはどのVBAの行でエラーを出しているのか分かる方法はないでしょうか?
863 :
複乳 :2010/03/27(土) 18:04:48
>>861 使う時がくれば分かるよ、と言いたいがlookupは本当に使わないな
vlookupで調べたいものが左側にある時とかじゃない
>>862 [ を検索すればok もちろん ] でも構わない
>>858 うーん、正式名称だからそのままはまずいかも
置換し直すのがいいのかな?
>>863 862ですが、すみませんが意味が分からないので分かりやすくお願いします。
>>865 他のbookを参照するような式を作成したら必ず[]でそのbook名が入る。
それを検索したらどうよ?って話。
867 :
866 :2010/03/27(土) 20:59:12
[]じゃわかりづらかったね。 "[" や "]" の事ね。
>>867 ありがとうございます。
ブック全体を数値と値で"["と"]"で検索してみたのですが見つからないでした。
”!”はどう?
>>869 他のシートを参照しているセルが多数ありましたが、
他のブックはたぶん無いと思います。
18000セルほど該当したのですべては確認しておりません。
>>870 「たぶん無い」じゃなくて、きちんとすべてのシートを調べて一つも無いことを確認して下さい
>>871 Alt+F11でModuleすべて見ましたがありませんでした。
>870 非表示シートはありませんか?
>>873 これ実行してみ
Sub aaaaa()
For Each s In Worksheets
For Each c In s.UsedRange.Cells
If InStr(c.Formula, "[") > 0 Then
s.Activate
c.Select
MsgBox (s.Name & "!" & Chr(64 + c.Column) & c.Row)
End If
Next
Next
End Sub
876 :
名無しさん@そうだ選挙にいこう :2010/03/28(日) 01:12:26
複乳さんは何才ですか?
>>874 無いはずです。
>>875 実行しましたが何も表示されませんでした。
念のためF9でBPをNextに設定してみたのですが、
ちゃんととまったので実行されているのはまちがいありません。
878 :
複乳 :2010/03/28(日) 01:57:24
>>876 聞いても仕方ないでしょう
>>877 "["の代わりにCHAR(91)なんて使ってないよなぁ
使えるか走らないけど、リストや条件付き書式の中にでも入ってるのかも
あるいはテキストボックスへのリンクとか
シートを新規ファイルに半分コピーして、エラーの有無を探していくというのはどうかな
後はそのファイルがどこにあったか教えて欲しい
セル入力時のオートコンプリートを出すショートカットはあったりするのでしょうか。
あるセルに入力される値が「0900」・「900」・「9:00」のどれでも 時間「9:00」として表示されるようにできませんでしょうか? 文字列であれば表示形式「##":"##」でよいようですが。 それをさら計算に使いたいので時間として扱いたいのですが、 文字列としてしてでも他のセルでダイレクトに計算結果が出せればokです。 たとえばC列に開始時間、D列に終了時間を入力・表示し、 E列でD-Cの時間を関数で表示したい場合です。
>>881 文字列と整数と分数とを、同じように計算したいなら
文字列は数値に、整数は分数に直せばいいだけのこと。
でも if のネストが多そう…
883 :
名無しさん@そうだ選挙にいこう :2010/03/28(日) 13:05:21
>>881 計算に使いたいなら、ちゃんと入力した方がいい
>>882-883 レスありがとうございます。
ですよね、、依頼されて作ってるんだけど困ってたんです。
手入力するように言います。ありがとうございます。
>>881 書式設定→時刻
=IF(D1="","",SUM(IF(LEFT(D1,2)="0.",D1,REPLACE(D1,IF(LEN(D1)=4,3,2),,":"))-IF(LEFT(C1,2)="0.",C1,REPLACE(C1,IF(LEN(C1)=4,3,2),,":"))))
※ただし、24時間内での計算のみ適用可。
886 :
名無しさん@そうだ選挙にいこう :2010/03/28(日) 14:26:18
ヒストグラムを作成したのですが、規格値、平均値、標準偏差等の位置に縦線を引きたいのですが、良い方法は ありますでしょうか? ※エクセルの線を選択して表に移動させる方法以外でお願いいたします
>>884 > 依頼されて作ってる
できないんだったらそんな無理しなければ...
889 :
857 :2010/03/28(日) 22:49:18
ピボットで並べた一つの分野の中の順番を入れ替える事は出来る?
家計簿作っているんですけど、デフォルトで31日分の行を用意したとして 実際は毎月28日〜31日の変動がありますよね。 その場合、翌月分の日付を条件付き書式で非表示にしたいと思うのですが どのような関数にしたらできますでしょうか? 例えば2月のシートは28日までなのですが、 31日分の行があるので3月1〜3日分も表示されてしまいます。 この3日分を条件付き書式で見えなくしたいのです。
ドラッグ&ドロップで
>>885 どうもありがとうございます。
24時間記述と4桁数字、どちらがいいかを聞いて
決めることにします。
レスくださった皆さん、どうもありがとう。
893 :
885 :2010/03/28(日) 23:55:43
>>892 >>885 の計算式はC,D列に900,0900,9:00のどれを入力してもおkですが、日をまたぐ
場合には対応してない式なのです。
なぜ日をまたぐ式でないかを考えてみてください。
※あるところを変更するとそれは解除することが出来ます。
依頼されるくらいのExcelの知識があれば解るでしょう。
頑張ってみてください。
>>890 前日の値と前日に+1した値を両方Month関数で月数にして
違ったらIFで非表示にすれば
たとえばA1に2/28といれて
A2に=IF(MONTH(A1+1)=MONTH(A1),A1+1,"")
とか
>>890 A1 に2010を。B1 に 2 を。
A32 にシリアル値で2月28日(=date($A,$1,28))を入れてあると仮定させてもらって…
A33 以下にこんな式を入れて対応してる。
=IF(A32="","",IF(MONTH(A32+1)=$B$1,A32+1,""))
理屈は簡単。前の日の次の日が、表示したい月と違ったら空白にしとけ…と。
ついでに、前の日が空白だったら、自分のセルも空白にしとけって入れてる。
セルの書式設定で d だけにしておけば日付だけが出る。
シリアル値については、
>>860 に書いたから参考に。
かぶった…orz
897 :
名無しさん@そうだ選挙にいこう :2010/03/29(月) 01:36:48
>887 このサイトをみたのですが、平均値が3.8で−σが0.5で+σが7.1 なのかわからないのですが。 σ7.1だったら±σともに10.9、-10.9でなくて?
898 :
857 :2010/03/29(月) 08:12:42
>>891 出来ないよ。。
どうしても第三が真ん中にいる
>>893 追記どうもありがとうございます。
ちょっと考える余地が残っていて嬉しいです。
がんばります!ありがと〜^^
900 :
名無しさん@そうだ選挙にいこう :2010/03/30(火) 16:54:38
質問です。 OS:WinXP SP3 エクセルバージョン:2000 アンケート集約結果のまとめをエクセルを使って行っています。 各項目に4っつの選択肢がある56の質問からなるアンケートです。 各質問ごとに1本の横棒になるような100%積み上げ横棒グラフを書いています。 項目エリアとプロットエリアの幅を調整しようとして、うまくいかずに困っています。 プッロトエリアの幅をある程度以上広げると、勝手に項目が隠れるくらいプロットエリアが広がってしまいます。 どうやるとうまく調整ができるのでしょうか。よろしく御指南下さい。 m(_ _)m
エクセル2007で浮動棒グラフを作成したのですが、そこに 新たに折れ線グラフを追加したい場合どうすればよいのでしょうか? よろしくお願いいたします。
【1 OSの種類 】 WindowsXP 【2 Excelのバージョン】 Excel2000 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 最大値から指定個数を求める |品名|糖度|酸味|個数| |苺 |20|10|10| |蜜柑|15|15|20| |梨 |10|12|15| |林檎|18|10|10| 上記の様なデーターで糖度の高い物から30個を求めたいとすると 苺が10個林檎が10個蜜柑が10個となる様な関数を教えてください また、同時に酸味も参照するような事は出来ますでしょうか?
903 :
名無しさん@そうだ選挙にいこう :2010/03/31(水) 16:51:03
エクセルで3月32日と表示されるセルを作りたいんですが どうすればいいですか? もちろんシリアル値としての計算が可能で。
マクロで 1.LeftHeader = Format(Now, "ggge年m月d日 (aaa)") 2.LeftHeader = "" & Chr(10) & "&""MS 明朝,標準""&12平成22年3月日()" 上記の2つは別々にヘッダーに適用できてます。 それで1をMS 明朝,標準""ポイント12にしたいのですが どうすれば良いでしょうか? 素人質問ですみません。
905 :
名無しさん@そうだ選挙にいこう :2010/03/31(水) 18:04:40
>>900 しらん
>>901 グラフ 重ねる 辺りでぐぐれ
>>902 並び替えでいいんじゃないの。同じものが出てきたときの処理がわからんので出来ない。途中までならRANK関数でできる
>>903 たぶん無理。シリアル値はA1、表示はB1でB1にシリアル値で3月0日を求め、差を全て日付にする。後はtext関数でくっつける。
後はA1を元に計算するようにする
>>904 しらん
>>904 RightHeader = Format(Now, "&""MS 明朝,標準""&12ggge年m月d日(aaa)")
かな?
私も始めたばかりでよくわらりませんの。
907 :
名無しさん@そうだ選挙にいこう :2010/03/31(水) 21:39:48
【1 OSの種類 】 WindowsXP 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか 】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 excel ポップアップ セル内のデータが表示しきれないときに#####と表示されるときに そのセルにカーソルを持っていくと、ポップアップで内容を表示していたんですが 何かの拍子に出なくなりました excelの機能かどうかハッキリしないのですが、どうすれば出るようになるのでしょうか? ┌──┬──┬── │####│ │ ∇←カーソルとすると ├─∇┼──┼── ┌────┐ │12345678│←これのこと └────┘
集計(合計)をした時に『計』を表示させない方法はありますか? AAA 100 AAA 100 AAA計 200 BBB 300 BBB 150 BBB計 450 ↑この『計』文字がいらない
909 :
名無しさん@そうだ選挙にいこう :2010/03/31(水) 21:51:17
>>907 1:ツール→オブジェクト→表示タブ の「オブジェクト」の「すべて非表示」にチェックが入っている
→「すべて表示」にチェックを入れる
2:上記ではない場合→マクロでリストのオブジェクトを消したときに発生。
→新しい空のシートを作って、それに元のシートを全部コピー→貼付け
(シートのコピーはダメ)
910 :
名無しさん@そうだ選挙にいこう :2010/03/31(水) 21:52:03
あ、読み間違えてたww ごめん、寝るわww
911 :
907 :2010/03/31(水) 22:01:41
>>909 素早いレス、サンクス
1: これではなかったです
2: 新しいブック(シート)でも同じ症状なので、これも違うみたいです
912 :
名無しさん@そうだ選挙にいこう :2010/03/31(水) 23:00:03
C2,C4,C6,C8,C10,C12,........................C100のセルを全部消して、上に詰めるにはどうすればいいですか? 他の列はそのままにしておきたいので行を消すのはNGです。
>>912 空のシートを1枚用意する
A1にc2、B2にc4と入れてAX列まで右にオートフィル、c100までのデータを作る
A1〜AX1を選択してコピー
メモ帳に貼り付け
メモ帳でタブをコンマに置換
メモ帳ですべて選択、コピー
メモ帳終了してExcelに戻る
名前ボックスに貼り付け
Ctrl+-
914 :
913 :2010/03/31(水) 23:09:17
2行目誤植→B1にc4
915 :
名無しさん@そうだ選挙にいこう :2010/04/01(木) 01:17:28
ブログなんかであるように Excelのセルにアマゾンの画像を出してリンクさせたいのですが そう言うのって可能でしょうか? もちろん画像の貼り付け以外で
916 :
複乳 :2010/04/01(木) 01:55:04
>>907 書式設定を「数値」にしたら出た。理由はわからん
文字列だとでないっぽい
>>908 ピボットテーブル使うといいよ
ちなみに2000だと計、2003だと集計と表示される。
>>912 D1=INDIRECT("r"&ROW()*2&"c3",0)
下にオートフィル。D50までかな。別にD列じゃなくてもいいけど。
後は値でコピーでも何でも
別の方法。
C1を右クリックで削除(上に詰める)
↓キー
F4(F4はキー操作イガイ、前回と同じ動作をする。つまり削除上詰め)
↓キー
F4
・・と↓キーとF4連打
VBAが使えるならfornextでstepを-2にすれ
こんちは 複数セルがある中で、特定の列の重複を基準に行を削除したいのですが 001 りんご あかい 002 りんご あまい 003 バナナ きいろ 004 バナナ うまい ↓ りんご と バナナ のデータは1つだけでいいので 001 りんご あかい 003 バナナ きいろ だけ 残ればよいです もしくは、002 と 004、001と004というふうに残ってもいいのですが… よろしくお願いします
>>918 すんませんw
りんごの行を選択して フィルタ→重複無視で いけました
920 :
名無しさん@そうだ選挙にいこう :2010/04/01(木) 21:57:56
SUM関数の文字列版はないですか? 例えば A1 ヤッターマン A2 コーヒー A3 ライター だとして、 B1=SUMMOJI(A1:A3) とすると、 B1 やったーマンコ開いた みたいになるの。 SUMMOJIに相当する関数は?
921 :
名無しさん@そうだ選挙にいこう :2010/04/01(木) 21:58:41
失礼、 B1 ヤッターマンコーヒーライター
922 :
名無しさん@そうだ選挙にいこう :2010/04/01(木) 22:08:17
質問があります。 A1 B1 C1 D1 A3 B3 C3 D3 A5 B5 C5 D5 A7 B7 C7 D7 ・・・・・・・ A59 B59 C59 D59 のように、AからDの4列を1行おきに文字列連結させたいのですが、 それにはどういう関数を使いますか? あと、当然非常に長い文字列になります。まさか1つのセルの文字列制限ってありますか?
923 :
名無しさん@そうだ選挙にいこう :2010/04/01(木) 22:28:35
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel 改行 テキストファイルで あいうえお かきくけこ アイウエオ カキクケコ といったような文章をコピペなりインポートして、改行されている部分は同一セル内に納め、 一列抜きは次の行のセルに記述したいと思います。そんなのは可能でしょうか? テキストエディターによる一括修正にはなれているのですが・・・
>>922 セルの数に関係なく、文字列を簡単に連結する方法はありません。
比較的すっきりできるのは、作業列かVBAを使う方法です。
もちろん文字列の長さには制限があります。文字数はExcelのバージョンによって違います。
>>923 一発でやるのは不可能。
まず、テキストエディタで改行を別の文字に置き換え(たとえば「 , 」など)、
「 ,, 」をもう一度改行に置き換えてからExcelに取り込み、
Excel上で「 , 」を改行に置き換える。
文字列連結の関数はCONCATENATE()
928 :
920=922 :2010/04/01(木) 23:10:31
929 :
920=922 :2010/04/01(木) 23:12:22
>>927 しかしCONCATENATE()だと、連続セルを A1:A50 のように書いてやってもできないですよ。
CANCATENATEは一度に結合できるセル数に制限があるし&演算子を使うより入力する文字数が多くなる。 セルの数が少ないときは「関数の入力」を使えば、結合したいセルをクリックするだけで 入力できるというメリットはあるけど、ぶっちゃけあんまり役に立たないよな。
931 :
920=922 :2010/04/01(木) 23:42:49
考えた。 連結させたいセルをA行に終結させて、 B2に「=B1&A1」といれる。 あとはB3から下をオートフィルで完成。 みんな頭悪すぎ。
>>931 ぶっちゃけ、その方法は925に書いてあるわけだが
933 :
名無しさん@そうだ選挙にいこう :2010/04/02(金) 00:19:09
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 大文字 フィルター フィルターで大文字から始まる文章だけ抽出する方法を教えてください。 フィルター、大文字で検索しても大文字かは判断しないとかそういうのが出てきて困ります
× 終結 ○ 集結 × A行 ○ A列 まずは自分の頭の心配をしようね
>>933 作業列に大文字で始まるかどうか判定する式を入れて、その列に対してフィルターをかける
A1の文字列が大文字で始まるかどうか判定する式
=(65<=CODE(A1))*(CODE(A1)<=90)
936 :
933 :2010/04/02(金) 00:28:17
>935 うわあああああ できました!!!! ありがとうございます!!! 愛してるー!!!!
結果的には同じだけど、作業列の数式は=CODE(A1)だけにして、 フィルターの条件を「65以上、90以下」にするという手もある
938 :
933 :2010/04/02(金) 00:37:54
あああ、ありがとうございます! 大文字のみのリストと小文字のみのリストを 作りたかったので>935さんの ゼロか1で気軽に切り替えれる方がいいです。 おかげで例文と単語が混ざってたリストを別々に出来ました!!! 勉強します!!
939 :
名無しさん@そうだ選挙にいこう :2010/04/02(金) 00:51:30
いままで、オートフィルタの一覧で「#N/A」も選択できる状態だったのですが、 急に#N/Aが出てこなくなってしまいました。 「#N/A」のエラーが出てくる行だけを抽出していたので、大変困っています。 どうして急にソートできなくなってしまったのでしょうか? また、どうしたらソートできるようになりますか? すみませんが、宜しくお願いします。
>>940 斜め線はオートシェイプの直線を使わないと無理。
日付けにスペースを入れるには数式が必要。
=TEXT(A1,"m月"&IF(DAY(A1)<10," ","")&"d日")
など。
Excel2007以降なら条件付き書式が使える。
>>941 斜め線は2セル使っていいなら可能でしょう。現に使ってるみたいだし。
>>942 罫線の斜線は2つのセルにまたがることはできない
セル結合するとセル内改行が必要
その場合2行目だけ右揃えはできない
スペースで右寄せすると、印刷時の位置調整が面倒
計算に使えなくてもいいんならテキストボックスを重ねて、その中を右寄せ下寄せにするという手もある どっちにしてもオートシェイプを使うことになるので、斜線をオートシェイプで引いた方が早い
>>940 4セル使えば良いです。
1,罫線 A1:B2,A3:B4それぞれ外囲いで引く。
2,B1,A2,B3,A4の4セルに斜め線を引く(右クリック→セルの書式設定→罫線→斜め線をクリック)
3,残りの空きセルに各文字を入力。
(4,A1:B4を選択しフォントの大きさを11→14へ変更する。)
5,A1:B4を選択し、印刷範囲の設定をする。
6,印刷プレビューで確認し、設定で各種微調整をおこなう。
7,良ければ印刷。
8,印刷物を確認し微調整を。良ければOK。
印刷のみの体裁に使う日付は文字列入力すりゃいいんだよ。
スペースも簡単に入るし。
さらにExcelを活用したい主婦には後で関数式とか教えてあげればいいんだよ。
946 :
945 :2010/04/02(金) 06:07:17
忘れてた。
b2,b4は文字入力の後にでも右揃えにすればよい。
>>945 の作業行程上でいくと3.5,ってことでよろしく。
947 :
複乳 :2010/04/02(金) 06:23:12
>>939 理由はシランがISNA関数ならNAエラーでTRUEになるから、これでオートフィルタすればいいんじゃない
948 :
名無しさん@そうだ選挙にいこう :2010/04/02(金) 14:45:20
VBAのマクロコマンドにはどんなものが有るのですか? そのリストや解説はどうすれば手に入るのでしょうか。
949 :
複乳 :2010/04/02(金) 16:15:36
950 :
名無しさん@そうだ選挙にいこう :2010/04/02(金) 16:43:40
謝謝 しかしネットではリストはなかなか探せなかったのです そのURLで真っ先に出てくるところでも知りたいsheetchangeは出て来ません つまりあの件をまだやってる訳ですが、、、 手探りではどうにもならないからexcel2002は買ってしまいました それでもsheetchangeの使い方は出て来ません マイクロソフトもいい加減で質問してもさんざんのたらい回しと拒否であげくこちらが切れて30分ほど叱り飛ばしてやっとさっき「MSDN」という言葉を言わせたところです しかし既にVisual Studio2008の存在に気づいてダウンロードした後でしたが
951 :
複乳 :2010/04/02(金) 18:14:01
ワロタwまだやってたのか Private Sub Worksheet_SelectionChange(ByVal Target As Range) '処理内容 End Sub マクロの内容はこんな感じになると思う。 Worksheet_SelectionChangeでぐぐればいいかな。多分。
あれ? 今日は書き込めたぜ。
954 :
名無しさん@そうだ選挙にいこう :2010/04/03(土) 01:18:46
こんどの会社がExcel2007なんです。 いままではExcel2003使ってました。 まだほとんどさわってませんが、このさらに使いにくく、不便になった 2007 を仕事で使用するにあたり なんでもいいから気をつけないといけないこと、とかありますか?
955 :
複乳 :2010/04/03(土) 02:55:10
>>952 上の方にあると思う。色がどうだの、言ってた変な日本語の人
>>954 2007 バグ でぐぐるといいのかなぁ
とりあえず256*65536に表が拡大されたけど、拡大されたところを使うとバグが置きやすいと聞いたことはある
256*65536で止めておくのが正解かな
>>954 慣れろ
早く慣れたいなら自宅でも2007を使え
たいしてかわんねえよ
シートの拡大、条件付き書式の強化、フルカラー対応、関数の拡張、良くなった点も多いのに あとはマクロの記録さえなんとかなればなあ…
>>954 まず慣れなきゃならないのはExcelよりも会社だろ。
Excelのバージョン違いなんて些細なこと。
むしろ(バージョンの違いはあるにせよ)Excelを扱ったことがあるぜという前向き
な気持ちでがんばりなさい。
なんで人生総合相談所になってんだ?
(´ω`)
なんだそのスナフキンみたいな態度わぁ
【1 OSの種類 .】 Windows vista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 えっと、お取り込み中申し訳ないんですが Excel2007の関数でフォルダの中身のファイル名を書き出す式を教えて下さい。 Excel 関数 ファイル名で検索してみたんですが VBAだったり 解説が意味が理解出来なかったりしました (ヤフーで3番目ぐらいに出てきましたOTL) すいませんお願いします
>>963 VBA使わないと無理
3番目は文字列の操作をやってるだけで、ようするにこの質問とは全然関係ない話
まじですか・・・ そのじゃあVBAのプログラム?でお願いします 使い方も調べてきますOTL
>>965 VBAでやる方法は、それこそ検索すればいくらでも出てくるわけだが
Excelを起動する
Alt+F11
挿入→標準モジュール
ここで開いた白い窓にVBAのプログラムをコピペしてからF5を押すとプログラムが動く
>963=>965です ありがとうございます なんとかそのまんまコピーできそうなのを見つけて 実行できました助かりました!
968 :
名無しさん@そうだ選挙にいこう :2010/04/04(日) 16:00:19
【1OSの種類】WindowsXPServicePack3
【2Excelのバージョン】Excel2003
【3VBAが使えるか】いいえ
【4VBAでの回答の可否】否
【5検索キーワード】Excel 書式 コピー 全行
ttp://uploader.rgr.jp/src/up2648.jpg この様なA3〜G3まで書式指定された行があります。
このA3〜G3までの書式指定をA4〜G4やA5〜G5やA6〜G6にうつすには
画像のように書式のコピーをクリックしてなぞってやれば可能です。
しかしA3〜G3までの書式指定をその行以下のAn〜Gn(n=4, 5, 6, 7, ・・・)の全てに適用するには
どうしたらいいでしょうか。
(到底なぞりきれません。)
よろしくお願い申し上げます。
コピーしてから、貼りつけたい範囲を選択して、形式を選択して貼付け
970 :
968 :2010/04/04(日) 16:52:37
>>969 A3〜G3までの書式指定をその行以下のAn〜Gn(n=4, 5, 6, 7, ・・・)の全てに適用したいのですが。
全てとは文字通り全て(Excelが扱える上限まで)です。
シート内のみでのやりかたはわからないけど 下記だとどう? 1)処理したいシートのコピーを作成 2)処理したいシートで A3〜G3までの書式指定を 全ての行(適用したくない行も含めて)に適用 3)適用したくない行(A1〜G2)をコピーシートから 処理したいシートへコピぺ(戻す)する 4)最後にコピーシートを削除する
>>971 ありがとうございます。
それで全部出来ました!
973 :
名無しさん@そうだ選挙にいこう :2010/04/04(日) 17:26:47
A,B,C列に表があります。 D,E,F列にも表があります。 つまり、左と右に二つ表があるんです。 ここで左の表だけ行のならべかえをすることって可能ですか? (without affecting the other right-hand table)
二つの表の お互いの行位置が 無関係なら可能
975 :
名無しさん@そうだ選挙にいこう :2010/04/04(日) 17:48:56
976 :
973 :2010/04/04(日) 18:21:06
>>974 ざんねんながら同じ行です。 I'm afraid both of the tables are overrapping each other.
>>975 そんな簡単にできるんだ。実際できたよ! I never dreamed that it can be handled that easily. I did it!
>>977 画像が消えてる
質問する時は最低でも24時間はデータが残る場所を使って
>>977 自動的に次の数字や数式を補う機能のことをオートフィルと言う。
人間が指定したセルから次の数字を計算することはできるが、セルの位置を推測する機能はない。
あるいはVBAで作るしかない。
980 :
977 :2010/04/04(日) 23:34:14
画像のリンク切れ失礼致しました。
修正して再うp致しました。
よろしくお願い申し上げます。
//////////////////////////////////////////////////////////////////
【1OSの種類】WindowsXPServicePack3
【2Excelのバージョン】Excel2003
【3VBAが使えるか】いいえ
【4VBAでの回答の可否】否
【5検索キーワード】Excel 次の番号
ttp://imagepot.net/image/127039146044.jpg この様に次の番号をExcelは推測して勝手に付けてくれますが、
この機能について質問させてください。
ttp://imagepot.net/image/127039146171.jpg この画像の状況で、A14にカーソルがあるとします。
このとき、その上にある空白以外のセルの中で直近のものの次の番号を
推測させてそのカーソルの位置に書き込ませることは出来ませんでしょうか。
この画像の状況ならA14に(A9の次として)"タグ72"が入るということです。
どうかよろしくお願い申し上げます。
981 :
名無しさん@そうだ選挙にいこう :2010/04/04(日) 23:44:47
>>980 再うpしたところ、申し訳ないけれど一般機能では「無理」
vbaで出来なくはないけれど、たぶんあまり実用的ではなさそう。
>>980 A9をA10にオートフィルするとA10に タグ72 が入る。
A10をアクティブにしてその黒枠部分にカーソルを持って行くとカーソルが4方向矢印になる。
その状態でドラッグしてA14 にドロップするとよい。
さすがに推測は無理だけどA9〜A13を選択した状態でA14をオートフィルすれば「タグ72」が入るよ
それでできるけどビミョーに...
985 :
980 :2010/04/05(月) 07:42:12
>>981-984 ありがとうございます。
A14にカーソルがある状態で一発で上記の処理("タグ72"と入れる)
を完了したいので、VBAでならもし可能でしたらお願いします
>>985 Sub hoge()
Dim v As String
Dim i As Long
Dim myStr As String
Dim NStr As String
Dim Bln As Boolean
v = ActiveCell.End(xlUp).Value
If v = "" Then Exit Sub
Bln = False
For i = Len(v) To 1 Step -1
myStr = Mid(v, i, 1)
If myStr Like "[0-9]" Then
Bln = True
NStr = myStr & NStr
ElseIf Bln = True Then
Exit For
End If
Next i
If IsNumeric(NStr) Then NStr = NStr + 1
NStr = Left(v, i) & NStr
ActiveCell.Value = NStr
End Sub
末尾の半角整数が+1になる。数字がなければそのままコピー。
ツール→マクロ→オプション でショートカットキーを設定できる。
987 :
980 :2010/04/05(月) 20:55:03
>>986 ありがとうございます。
それでできました。
ExcelのVBAは食わず嫌いだったのですが、
C/C++, Python等はそもそも知っていて
プログラミングを知らないわけではないのです。
そのため今回のような柔軟な事ができるのであれば
今度勉強してみようと思います。
【1OSの種類】WindowsXPServicePack3
【2Excelのバージョン】Excel2003
【3VBAが使えるか】いいえ
【4VBAでの回答の可否】可
【5検索キーワード】Excel 1 上のセル
>>980 と似ているのですが、
そのセルより上のセルを順に見ていって、最初に半角数字を含んだセルの文字列を
Strとして取得、このStrの最初の数字を+1し、それ以外を1に置き換えたものを
入れる方法(VBA)を書いていただけませんでしょうか。
数字は自然数ないし0のみ認識してください。
例えば -23 は ハイフン23 であるとし、 +1ならハイフン24すなわち-24に、
1に置き換える場合はハイフン1なので-1になる。
といった具合です。
3.14も3ドット14と認識してください。
例:
ttp://imagepot.net/image/127047107668.jpg お手数おかけ致しますが、
どうかお知恵をお貸しください。
よろしくお願い申し上げます。
989 :
988 :2010/04/05(月) 21:46:21
みんなこの程度の関数っていくらぐらい請求してる?うちは1万5千円なんだけど。
>>988 Strは予約語だからstr1にした。
ワークシート関数として作ってあるから、
>>989 の画像の例だとセルA11、B11、C11に =謎処理() と書けばいい。
Function 謎処理() '半角数字の含まれるセルを上向きにサーチ
Dim str1 As String
Dim R As Integer, C As Integer
Dim F As Boolean
Dim L As Integer
R = Application.Caller.Row
C = Application.Caller.Column
F = True
While R > 1 And F
R = R - 1
str1 = Cells(R, C).Text
L = Len(str1)
While L > 0 And F
If "0" <= Mid(str1, L, 1) And Mid(str1, L, 1) <= "9" Then F = False
L = L - 1
Wend
Wend
If F Then
謎処理 = CVErr(xlErrValue)
Else
謎処理 = 謎2(str1)
End If
End Function
991 :
990 :2010/04/06(火) 03:44:53
続き。(これで最後) Function 謎2(str1) '数値を置き換える Dim str2 As String Dim ch As String Dim F As Boolean Dim n As Variant str2 = "" F = True While Len(str1) > 0 And F ch = Left(str1, 1) If "0" <= ch And ch <= "9" Then n = Int(Val(str1)) str1 = Mid(str1, Len(n) + 1): str2 = str2 & (n + 1) F = False Else str1 = Mid(str1, 2): str2 = str2 & ch End If Wend While Len(str1) > 0 ch = Left(str1, 1) If "0" <= ch And ch <= "9" Then n = Int(Val(str1)) str1 = Mid(str1, Len(n) + 1): str2 = str2 & "1" Else str1 = Mid(str1, 2): str2 = str2 & ch End If Wend 謎2 = str2 End Function
992 :
990 :2010/04/06(火) 03:53:43
注意(仕様) 処理の対象となる文字列の中に半角数字が16桁以上連続した部分があると正しく処理できない。
993 :
989 :2010/04/06(火) 07:20:22
994 :
名無しさん@そうだ選挙にいこう :2010/04/06(火) 14:13:14
>>951 そうです数日前にやっとexcel2002を手に入れて再開したところです
しかし今日信じられないことが解りました
どうも Visual Basic の正式なマニュアルというのは(日本語では)書籍であれヘルプの形であれ無いようですね
有って当たり前だと思って探し回っていましたが探せない訳が解りました
ここでいくら聞いても明確な答えが返って来ない訳です
みなさんはどうやって各命令語の記述の仕方を調べているのですか?
Visual Basic そのものをソフトで買えばそのヘルプには各命令語の記述の仕方が書かれているのでしょうか
VBじゃなくて、VBAじゃないの?
996 :
名無しさん@そうだ選挙にいこう :2010/04/06(火) 15:55:59
>>995 その違いがよく判らないのですが
いずれにせよいったいどうしたら又は何を買えばVisual Basicのコマンドのリファレンスが手に入るのでしょうか
みなさんいったいどうやって手に入れているのですか?
997 :
名無しさん@そうだ選挙にいこう :2010/04/06(火) 16:12:59
>>996 わたしは複乳さんにメールで送ってもらったけど、どこかネットで探せば見つかるんじゃ?
F1キー押せよ
1000 :
名無しさん@そうだ選挙にいこう :2010/04/06(火) 17:25:27
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。