前スレ
Excel総合相談所 101
http://toro.2ch.net/test/read.cgi/bsoft/1329913579/ ▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問テンプレ(雛形)は必須じゃないけど、出来れば使ってね
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
ここは技術的な質問のみで。
Sub Macro1() F1 = 3: F2 = 12: F3 = 36 e1 = 9: e2 = 34: e3 = 51 Range(Cells(F1, 3), Cells(e1, 35)).ClearComments Range(Cells(F1, 3), Cells(e1, 35)).ClearContents Range(Cells(F1, 3), Cells(e1, 35)).Interior.ColorIndex = xlNone Range(Cells(F2, 3), Cells(e2, 35)).ClearComments Range(Cells(F2, 3), Cells(e2, 35)).ClearContents Range(Cells(F2, 3), Cells(e2, 35)).Interior.ColorIndex = xlNone Range(Cells(F3, 3), Cells(e3, 35)).ClearComments Range(Cells(F3, 3), Cells(e3, 35)).ClearContents Range(Cells(F3, 3), Cells(e3, 35)).Interior.ColorIndex = xlNone End Sub これ↑を↓にしたらダメだった。 なぜなんだぜ? Sub Macro2() F1 = 3: F2 = 12: F3 = 36 e1 = 9: e2 = 34: e3 = 51 For i = 1 To 3 With Range(Cells(F & i, 3), Cells(e & i, 35)) .ClearComments .ClearContents .Interior.ColorIndex = xlNone End With Next End Sub
>>2 [Ctrl]+[G]でイミディエイトウィンドウを表示して、
Forループの中に
Debug.Print F & i, e & i
を追記して実行すればわかる
>>2 With Range(Cells(F & i, 3), Cells(e & i, 35))
F1とF別変数だよ
これFとeの変数に何もはいってないだろ
Option Explicitを付けてみればわかる
>>3-4 なるほど。
ちょっとイジってみたぜ
Sub Macro3()
F1 = 3: F2 = 12: F3 = 36
e1 = 9: e2 = 34: e3 = 51
For i = 1 To 3
If i = 1 Then
F = F1: e = e1
ElseIf i = 2 Then
F = F2: e = e2
Else
F = F3: e = e3
End If
With Range(Cells(F, 3), Cells(e, 35))
.ClearComments
.ClearContents
.Interior.ColorIndex = xlNone
End With
Next
End Sub
なんかイマイチだよね〜
配列変数を使えよ Sub Macro4() Dim i, F(2), e(2) F(0) = 3: F(1) = 12: F(2) = 36 e(0) = 9: e(1) = 34: e(2) = 51 For i = 0 To 2 With Range(Cells(F(i), 3), Cells(e(i), 35)) .ClearComments .ClearContents .Interior.ColorIndex = xlNone End With Next End Sub
>8 超ありがとう!これで明日から工数低減できる!!
B2〜E4に罫線を引くとき、マクロの記録をすると長文になりますが、 もっとシンプルに出来るでしょうか? Sub Macro1() Range("B2:E4").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With
With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With End Sub
>>10 処理を抜き出してサブプロシージャ化してみるとか
>>10 すでに色が付いてたり、罫線引かれてるところを変更するなら仕方ない部分あるけど
単に枠付けるだけなら、既定の設定でいい部分のプロパティは外す
Sub Macro1()
Range("B2:E4").Select
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
End Sub
だけでもずいぶんすっきり
Excel2003で、得意先と金額を並べたピボットテーブルがある。 得意先 金額 A商店 | 30 ・・・ A商店 合計 | 500 B商店 | 40 ・・・ B商店 合計 | 800 という感じ。得意先ごとに改ページしたいので、フィールド「得意先」には「アイテムの後ろに改行を入れる」とかいうオプションを入れている。すると、通常なら上手くいくのだが、たとえば「B商店 合計」の行がページ先頭に来た場合は意図通りに改ページされない。つまり (3ページ目)1行目→ B商店 合計 | 800 (4ページ目)1行目→ C商店 | 700 ・・・となって欲しいのに、 (3ページ目)1行目→ B商店 合計 | 800 (3ページ目)2行目→ C商店 | 700 ・・・と、同じページ内にB商店・C商店が並んでしまう。これは仕方ないのだろうか。 どうも、B商店合計の行が1行目に来る場合だけでなく、2行目に来る場合でもこの現象は起こるようなのだが・・・。
>>10 Sub Macro2()
With Range("B2:E4").Borders
.LineStyle = xlNone
.LineStyle = xlContinuous
.ColorIndex = 3
End With
End Sub
>>15 >>1 >・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
> ここは技術的な質問のみで。
>>15 ピボットなら
得意先をページのフィールドにしてしまえばいいじゃん
19 :
10 :2012/04/22(日) 19:49:23.45
オートフィルタじゃなくフィルタオプション機能で、セルに書いといた複雑な条件によるフィルタリングをした場合。 フィルタリング後の表から、フィルタ条件を探り直すことは、やっぱり出来ないんだよね? オートフィルタなら、フィルタリングボタンを押して探ることでフィルタ条件を探り直すことが出来るけど、それが出来ないのかってこと。 上記の「セルに書いといた複雑な条件」を消さずに置いとけば良いという問題ではない。それはあくまでメモ程度でしかなく、確証につながらないから。 何とかならないのかな。
>>20 セルに書いといた複雑な条件とフィルタリング結果のシートをパスワード付きで保護しておくとか?
オートフィルタだってフィルタリングした後にセルの内容書き換えたり非表示にしたり操作できるんだから
事後にフィルタリングボタンを押してもメモが見れるだけだと思うんだけど
イマイチ状況がわからない
>>21 >オートフィルタだってフィルタリングした後にセルの内容書き換えたり非表示にしたり操作できるんだから
>事後にフィルタリングボタンを押してもメモが見れるだけだと思うんだけど
そこまで言い出したらキリがないので、そこまでは考えない。
フィルタ後の表を、自分以外の第三者に、特にフィルタオプション機能を(というか、フィルタオプションで
「*商店*」とか使うワイルドカード等を)知らない第三者に見せた時に「こうやってフィルタリングしたんですよ」と
客観的に見せたいんだよね。フィルタオプションをした手順を一から丁寧に再現するしかないのかと思うが。
>>22 それだと元の質問の
「フィルタリング後の表から、フィルタ条件を探り直すこと」
とは関係がないような気がするけど
読解力がないクセにレスしてんなよ俺
オートフィルタをかけた状態で、マウスドラッグのオートフィルの代わりに キーボードでやる方法ありますか?
25 :
名無しさん@そうだ選挙にいこう :2012/04/25(水) 15:53:34.93
【1 OSの種類 .】 WindowsXP,7 【2 Excelのバージョン 】 どのバージョンでも大丈夫です 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 G12に100000000 G13に30000000000 が入っているとします =G12/10000&"万円 +"& G13/10000&"万円" の結果が 10000万円+300000万円となるところを 10,000万円+3,000,000万円と , が入ってほしいなと思っております 書籍を数値にして,にしても表示されませんでした セルの中で=を使った計算の数字の部分を3桁毎に,をうつ方法教えて頂けないでしょうか よろしくお願いいたします
=TEXT(G12/10000,"#,###")&"万円 +"& TEXT(G13/10000,"#,###")&"万円"
>>25 =TEXT(G12/10000,"#,##0万円")&"+"&TEXT(G13/10000,"#,##0万円")
おっと被った;
29 :
名無しさん@そうだ選挙にいこう :2012/04/25(水) 17:39:12.97
win7 エクセル10を使用。 ROUND関数で27.4999といった数字を四捨五入して27と表示したいのですが 27.5扱いにされ28に四捨五入してしまいます。 どうしたらいいですか?
>>29 数式が =ROUND(27.4999,1) になってて、表示形式が 0 になってるとか?
31 :
名無しさん@そうだ選挙にいこう :2012/04/25(水) 18:03:50.22
例えば =ROUND((0.1+1)*2/12*150,0) と入力した場合、28と表示されてしまうんんです。
32 :
名無しさん@そうだ選挙にいこう :2012/04/25(水) 18:12:20.60
例えば (0.1+1)*2/12*150 と電卓で入力した場合、27.49999となるんですよ。 これを四捨五入すると27になるので エクセルにも27と表示して欲しいのですが 27.5扱いにされ、28と表示されてしまうんですよ。
>>32 (0.1+1)*2/12 を四捨五入すればいいと思う
35 :
名無しさん@そうだ選挙にいこう :2012/04/25(水) 19:28:16.79
>>34 =ROUND((0.1+1)*2/12,0)*150としたところ
0と表示されました
>>32 つーかさ、そもそも
(0.1+1)*2/12*150 =27.5
だよね?
普通の電卓で計算すると/12の時点で0.18333・・・と循環小数になるから
計算結果が27.499・・・・になってるだけで、本来そっちのが間違いじゃね?
38 :
名無しさん@そうだ選挙にいこう :2012/04/26(木) 04:16:26.91
エクセルにて 1と打ち込んだら○ 0と打ち込んだら× と表示させたいだがどうすればできるだろうか
39 :
名無しさん@そうだ選挙にいこう :2012/04/26(木) 06:43:25.32
解決
40 :
名無しさん@そうだ選挙にいこう :2012/04/26(木) 09:11:28.90
41 :
名無しさん@そうだ選挙にいこう :2012/04/26(木) 21:15:38.22
よろしくおながいします 【1 OSの種類 .】 WindowsXP→2ヶ月後に7になる予定 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 行1:2012/5/1(表示は2012年5月) 行2 行3:1 2 3 4 5 6 7 8 9 10・・・・・・・・・・31 で、行2の部分に 「第1週」「第2週」「第3週」「第4週」「第5週」と表示したいのですが 行1の月日表示を使って関数で自動表示可能でしょうか 月日を変えれば週の表示も変わるような感じで 例)5月なら 第1週 第2週 1 2 3 4 5 6 7 8 9 10 11 12 という感じです
週の区切りは1日始まりの7日ごと? それとも土日月のいずれかで区切るの? 前者だと関数使うまでもないし(第5週を表示するか否かぐらい) 後者だと第1週の長さが変わるんで、2行目にセル結合使えないし かといって、個々の列に関数入っていればセル幅越えての表示もできないからなー
43 :
名無しさん@そうだ選挙にいこう :2012/04/26(木) 21:44:33.69
>>42 週の区切りはカレンダー通りです
日曜始まりの土曜終わり、で1週間
なので、1週間の日数がまちまち(特に第1週と最終週)なのが頭イタイというか
これまでは1から31は使いまわしで、
週数はセル結合の範囲を変えながら手入力してたんですけども
何かいい方法はないかと思いまして
>>43 「excel 第何週」でググればサンプルが見つかるかと
45 :
44 :2012/04/26(木) 22:25:34.67
あ、数式が知りたい訳じゃなくて、セルにうまく収める方法を知りたいって事か 1日が土曜日だと1セルに「第1週」って入れないといけないから、そもそも無理があるような?
47 :
複乳 :2012/04/27(金) 01:01:03.31
>>48 ▼のついてるセルをアクティブにした状態で
Alt+↓or↑でプルダウンが出現する
51 :
50 :2012/04/27(金) 13:44:45.25
>>48 あ、ごめ; 勘違いしてた
「オートフィルタ」と「キーボード」しか見てなかったお; orz
>>50 なにか違うものが出てきました・・
あ
(空白)
(空白)
い
(空白)
(空白)
これをフィルタで(空白)を表示させて
A2セルの(空白)を=A1にして、一番下までオートフィルしてフィルタ解除すると
あ
あ
あ
い
い
い
になるのですが、それをキーボードかマクロ?で出来ないかなと。
>>52 それならコピペでいいんじゃないの?
[Ctrl]+[C] → [Ctrl]+[V]
>>52 そういう事がしたいなら、
あ(空白)(空白) を選択して Ctrl+D
をすれば、選択範囲の最上セルを複製できるよ。
俺が普段から愛用しているショートカットキーなのだ♪
Ctrl+D → 上のセルと一緒にする
Ctrl+R → 左のセルと一緒にする
>>54 おお、便利なショートカットですね。
でも「あ」「い」が500ぐらいあるので・・
亀レスですんません
>>41 っす
>>44 ありがとうございます!
早速ぐぐりますた
イケそうなところまでは詰められたんですが最後までイケませんですたorz
がとても勉強になるページをたくさん見られてよかったです
>>47 おおおおコレです、まさにこんな感じです!
WEEKNUMとDATEで何とかならんかとかジタバタしておりますたが
自力でまとまりませんですたorz
そのまま使わせていただきます!
ありがとうございますた!
>>56 ありがとうございます!
あっなるほど・・・という感じですね
自分も万年カレンダーを作ってるんですが、
全然ちがう方法をとってますた
ぜひ参考にしたいと思います!
ありがとうございますた!
58 :
名無しさん@そうだ選挙にいこう :2012/04/28(土) 10:11:09.79
別ファイルの参照について質問です。 オンラインストレージにファイルを置いていて、そのオンラインストレージから、2つのパソコンの2つのファイルのセルを参照したいんです。 具体的には同じような表データがあって、それぞれの合計値をオンラインストレージのファイルで表示したいんです。 どのようにすればいいんでしょう
【1 OSの種類 .】 Windows7 【2 Excelのバージョン】 Excel2007 【3 VBAが使えるか.】 いいえ 【4 VBAでの回答の可否】 否 エクセルでA〜D列まで枠を作って以下の様な計算を 行いたいです。 A列 分母 B列 分子 C列 パーセンテージ(少数第2点以下切り捨て) D列 C列に応じた得点 D列は、C列が100%なら10.0、99%〜100%未満なら9.0、98%〜99%未満なら8.0 といった感じに、1%下がるごとにD列の点数が10点満点から1点ずつ下がるように 自動得起算してくれるようにしたいです。 関数を調べてみたのですが、よくわかりません。 お手数ですが関数計算式を教えて頂けますでしょうか。 よろしくお願いいたします
>>58 「Book1.xls」の「Sheet1」の「A1」セルを参照する場合こんな感じで参照できる
=[Book1.xls]Sheet1!A1
62 :
名無しさん@そうだ選挙にいこう :2012/04/28(土) 10:34:47.47
>>60 aとbの2つのパソコンをつないでいて、そのうちのaのパソコンのcドライブ直下のファイルを指定する時はどうすればいいのでしょうか?
>>62 Cドライブ直下なら
='C:\[Book1.xls]Sheet1'!A1
64 :
名無しさん@そうだ選挙にいこう :2012/04/28(土) 10:41:56.91
>>63 それはオンラインストレージ上のファイルからaとbどちらのパソコンを参照するのでしょうか?
パソコンの名前は違うので、それで指定することはできないのでしょうか
>>64 あなたの周りにもうちょっと第三者に理解できるように説明できる人はいないの?
>>61 ありがとうございます。
C列はどう設定すればいいですか?
67 :
名無しさん@そうだ選挙にいこう :2012/04/28(土) 11:10:14.57
>>64 の言いたいことはわかるけど、無理だと思うわ
68 :
名無しさん@そうだ選挙にいこう :2012/04/28(土) 11:18:21.37
>>68 ストレージのファイルを開いておいて、
参照元のファイルからセルをリンク貼り付けしたらあかんの?
参照元ブックがあっちこっち移動するんならどうしようもないけど
72 :
名無しさん@そうだ選挙にいこう :2012/04/28(土) 17:39:58.06
>>71 移動はしませんが、ネットに繋がっていない状態でも使いたいファイルなんです
>>64 マイネットワークから対象のブックがあるフォルダ開いたら
アドレスバーにパスが出るのでそれをコピーして以下のパスに貼る
='パス\[Book1.xls]Sheet1'!A1
こんな感じ
='\\ネットワーク上のPC名\フォルダ…\[以下略
シングルクォテーションの位置注意な
>>72 って、そもそもネット繋がってないなら
別PCのファイルなんて参照できんやろー!!!
前提条件から崩してくれるなや!!
75 :
名無しさん@そうだ選挙にいこう :2012/04/28(土) 17:51:15.08
>>74 オンラインストレージ上のファイルで2つのファイルのA1のセルの合計を見たいんです。
その、オンラインストレージのファイルを見るときはどちらのPCもネットにつながっている状態ですが
そのローカルに保存してあるファイルを編集するときは必ずしもネットが使える状態とは限らないのです・・。
77 :
名無しさん@そうだ選挙にいこう :2012/04/28(土) 19:02:48.11
>>76 javaとphpをやっていたので、VBAも基本的な事なら出来ると思います。教えて頂けませんか
それぞれc:\を共有設定し、PC-AのC:をY:、PC-BのC:をZ:で ネットワークドライブの割り当てをする。 ='Y:\[num.xls]Sheet1'!A1 ='Z:\[num.xls]Sheet1'!A1
普通にdropboxとかで同一アカウント使えばいいだけなんじゃないのそれ。
>>59 です。
同じ状況なのですが、今度は100%なら10点、99.5%なら8点、99なら6点
98.5以上なら4点、98以上なら2点、それ未満なら0点とD列に設定するには
どうしたらいいですか?
>>81 =(C1>=0.98)*((C1/0.005-200)*2+10)
83 :
82 :2012/04/29(日) 00:41:14.25
98.5以上と98以上の「以上」を見逃してた =(C1>=0.98)*(INT(C1/0.005-200)*2+10)
VBAについて質問です。 【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel 2007 指定したフォルダにあるExcelファイルを全て開くマクロを作ろうと考えています。 ただし、 ・非表示のファイルは、次の場合を除いて開く ・読み込み専用の設定がされているファイルは開かない ここで、「読み込み専用」とはファイルアイコンを右クリックしてでる「プロパティ」における 「読み込み専用」の設定の事だと考えて話を進めます。 そこで、Dir関数の実験として、以下のマクロをとりあえず作成しました。 Sub test() Dim RepStr As String Const ParentDir As String = "C:¥hoge¥" RepStr = Dir(ParentDir, vbHidden) Do Until RepStr = Empty Debug.Print RepStr & "; " & GetAttr(ParentDir & RepStr) & "(" & (GetAttr(ParentDir & RepStr) And Not vbArchive) & ")" RepStr = Dir Loop End Sub (続く)
(
>>84 の続き)
このマクロでは、Excelブックかどうかは判定しないものの、ファイル属性は拾えているはずなのですが、
どういうわけか読み込み専用ファイルも拾われてしまいます。
Dir関数にファイル属性を指定していることが問題かも知れませんので、
最初のDir関数を次にしました。
RepStr = Dir(ParentDir)
この場合、非表示も読み込み専用も表示されないはずですが、
これでも読み込み専用ファイルが拾われてしまいます。
では、「読み込み専用」のイメージが間違っているのでしょうか。
GetAttr関数で読み込み専用ファイルの属性を調べると1(または33)となり、
どうやら間違ってはいなさそうです。
質問は、以下の1点です。
・Dir関数は読み込み専用ファイルをフィルタリング出来ないのでしょうか。
以上、よろしくお願いします。
>>83 ありがとうございます。
今度は同じ条件で、100%は5点、98%以上は4点、96%以上3点、94%以上2点、92%以上1点
92%未満は0点とするにはどうしたら良いですか?
また、A〜E列に各列のセルに○印を書いたら、その丸の数をカウントして
そのマルの数をF列に数値化(マルが5個あったら「5」、3個だったら「3」)と
するにはどうしたらいいですか?
>>86 まずはExcelの関数本、1冊買っちゃいなよ
千円前後だし1冊あればExcelのバージョン上げない限り買い換える必要ないしな
それよりも、ひょっとしなくても学生のPC演習の宿題手伝わされてるのか
ってぐらいな質問内容ばっかりなんだが
大きなお世話
>>88 そうですか・・・
何ででしょうね・・・?
>>91 バグじゃない?
MSに問い合わせれば確実かと
>>89 俺なんか2000時代に買った関数辞書まだ使ってるぞw
キューブとか出てきたからぼちぼち買い換えるかどうしようか考えてるが
キューブ関数使うような仕事してねーしなあ
>>61 何度も質問すみません。
もし、90%未満なら0を設定する場合、どのような計算式になるのでしょうか?
if文使え
【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】 Excel 2007 バリバリ使おうと思って、 XML形式のファイル(20MBくらいのサイズ)から 3万行×10列くらいのテーブルを 読み込もうとしたのですが固まってしまいます。 処理能力的にEXCELではムリポでしょうか?
>>97 その程度のサイズなら全然余裕だと思うけど
99 :
97 :2012/04/29(日) 23:55:02.22
テーブルの行数を減らしたファイルでもやってみた 1000行:すぐ 7000行:1分半くらい 13000行:2分半くらい 結構時間かかるなあ
100 :
名無しさん@そうだ選挙にいこう :2012/04/30(月) 00:22:45.63
スペック
>>99 まさかとは思うけど自作のVBAマクロで読み込んでたりしないよね?
>97 処理能力云々ではなく、エクセルは重いファイルの取り扱いが下手 csvにできるならしてみれば良い
103 :
名無しさん@そうだ選挙にいこう :2012/04/30(月) 05:12:33.29
2010で作ったシートが2003にコピーできません! (たぶん、行数と列数が増えたからだと思います) 範囲指定してコピペると、列幅とか行幅がデフォのままなので これではダメぽ。
>>103 2010から2003形式で保存して2003で開き直す
>>97 テスト環境で65500行×22列×7シート
とかのファイル扱ってるけど全然問題ないぞ
さすがに開くときはちょっと時間かかるけど
XML形式なのがマズーじゃないのかな
5000行前後ならエクセルで全然ストレスないけど 10000行超えるようなやつはアクセス使ってる
以下のようなデータ行が10000件くらいあります。 A列には1から10,000までの数字があります。同じ数字が1個か2個あります。3個以上はないです B列にはaかbどちらかが入っています。(両方ある場合もあります) この時、A列で異なる数字が何件あるかカウントするのはいい方法はないでしょうか? 以下の例ですと、データは10件ですがA列に入っている数は7種類です。 この「7種類」という数字を弾きたいのですが、いい方法はないでしょうか? (実際のデータは1から順列でなく、PC管理番号のような英数字が入っています) A列 B列 1 a 1 b 2 a 3 a 3 b 4 a 5 b 6 b 7 a 7 b
>>107 1、数字を出すだけならピボットテーブルにA列だけ入れてみて行数見る。
2、A列だけで重複の削除をしてみたらどう?
3、A列を昇順で並べ替えておき、C1に1、C2に=if(A2=A1,C1,C1+1)にして下までドラッグして一番下の数字を見る。
>>104 ども
>>107 =SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))
111 :
名無しさん@そうだ選挙にいこう :2012/04/30(月) 18:04:57.21
グラフについてお願いします 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 1月2月3月4月・・・・ 電気 ガス 水道 ガソリン 灯油 という感じで1ヶ月にかかった金額を折れ線グラフにしたんですが、 線いっぱいなのでガソリンと灯油だけ縦棒グラフにしました。 で、水道なんですが、2ヶ月おきの数値なので、 グラフだと点だけになっちゃうので、0の月を補完してプロットしようと思い、 ツール-オプションを開けたんですけども(もちろんグラフアクティブ状態で)、 なぜか「補完してプロットする」がグレーアウトしてて使えません。 原因として何が考えられるでしょうか。
>>112 電気ガス水道が折れ線でガソリン灯油が棒なんですが
複合だとプロット補完できなくなるんでしょうか。
全部折れ線にして試してみます。
全部折れ線にしたらプロット補完選択できました。 それから他の要素を縦棒にしたら思い通りの形にできました。 ありがとうございました。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 横一列B2〜CZ2までデータが入っていますが、一部無効回答で空欄になっています。 「データが入っているセル」の数を数える関数って何を使えばいいですか?
【1 OSの種類 .】 Windows XP Home Edition 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 すみません、意味が判りません 【4 VBAでの回答の可否】 可・否 :同上です シートを増やそうとすると、たとえば2と3の間なら簡単に挿入できますが、 3の右に作りたい時はどうすればいいのでしょう? できれば優しく教えてください。本当にごめんなさい。
>>115 データが数値ならCOUNT
データが文字列ならCOUNTAで
>>116 新しいシートはどうやっても既存シートの左側にできるので、
新しいシートの番号部分を、シートをおきたい場所にドラッグする
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 ??? 【4 VBAでの回答の可否】 可 範囲名から列の値を求めその値に基づいて並べ替えを行いたいのですが 下に作ったvbaを記述しますので、どうしたら良いか教えてください おねがいします。 '"範囲A""範囲B"はソートキーにしたい範囲の範囲名 Dim 範囲A As Integer Dim 範囲B As Integer Sub 列数取得() 範囲A = Range("範囲A").Columns.Count 範囲B = Range("範囲B").Columns.Count End Sub Sub ABソート() 列数取得 Application.Goto reference:="ALL" '"ALL"はソートしたい範囲の範囲名 Selection.Sort _ Key1:=Cells(2, 範囲A), order1:=xlDescending, _ Key2:=Cells(2, 範囲B), order2:=xlDescending, _ Header:=xlNo End Sub
>>118 何を質問しているのかよくわからないので想像だけど
マクロの実行は[Alt]+[F8]でできる
121 :
118 :2012/04/30(月) 21:42:49.15
>>120 質問趣旨がはっきりしなくて済みません。記述したvbaを実行しても
望んだ結果になりません。
A B C
1
2 1 A あ
3 2 B い
4 3 C う
5 4 D え
という表があり、範囲名「ALL」はA2:C5、範囲AはB2:B5、範囲BはC2:C5とします。
>>118 で書いたvbaを実行すると、A2の列を元にソートしてしまいます。
@範囲A、A範囲Bの優先順位でソートをさせたいのですがどうしたら良いでしょうか。
>>121 Columns.Count じゃなくColumn
>>122 動きました!ありがとう御座いますm(__)m
マクロを個人用マクロブックに保存して使っていたのですが いつのまにか マクロを実行するたび「PERSONAL.xls」というのが開くようになりました。 今まではバックグラウンドで動いていたのかなと思うのですが、どうやったら戻りますか?
【1 OSの種類 】 Windows XP 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか 】 - 【4 VBAでの回答の可否】 不可 シート1のA1セル〜A20000セルに、A00001〜A20000までコードを打ち込むとする (実際は、不規則なコードが大量並んだデータを毎月受け取り、それをA列に貼り付ける)。 A列の中から特定のデータを見つけ出して、B列に目印の文字を書き込む。この目印の文字は 何でもいいけど、「1の次は2というように必ず連番にしろ」とかいうのは不可。 基本的に、全部同じ文字を目印として書くことにしたい。 仮にB35セル,B227セル,B4131セルに目印を書いたとする(実際はもっと何個も大量に目印を書く)。 このとき、シート2のA1セルに計算式を入れて縦にコピーすることで、シート2のA1セル〜A3セルに 「A00035」「A00227」「A04131」が表示されるようにしたい(A4セルより下はエラーでも何でもいい)。 シート1のC1セル〜C20000セルに計算式を入れるとかいうのは避けたい。そんな大量に式を入れたら重くなるので。 この場合の計算式は、どうしたらいいかな?
>>127 もう少しデータ数が少ないなら、配列数式の計算式を提示できるけど、データ数が多すぎ。
C列に作業列を入れたほうが軽く動くレベルの式で現実的じゃない。
Excelに抽出系の関数はないから力技に近くなる。
取るべき道は
・C列に作業列を入れる
・VBAでやる
のどっちか。VBAであれば、マクロの記録で何とかなるレベルだし。
129 :
名無しさん@そうだ選挙にいこう :2012/05/02(水) 23:00:58.30
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 よろしくお願いします 書式設定のユーザー設定で 年と月を 12/05 と表示させたいんですが、yy/mmとすると 12/5 になってしまいます これ、ヒトケタの月数のアタマに0を入れるにはどうしたらいいでしょうか
>>129 Excel2000だと書式設定 yy/mm でセルに2012/5を入力したら 12/05 で表示されるけど?
>>130 Excel2000の質問なんてしてないけど?
133 :
名無しさん@そうだ選挙にいこう :2012/05/03(木) 00:09:39.60
2007でもだな
2003でも12/05になった
>127 オートフィルタでコピーが一番楽と思う 計算式というなら、 シート3のA1=シート1のA1
>135の続き 途中で書き込んでしまった。スマン シート3のA1=シート1のA1 シート3のA2=シート1のA2 ・・という風に、シート3のセル全てをシート1と同じにする そうすればC列の作業列が使えるので、 それをシート2で引っ張ってくる vba使えるならソレが一番早いし軽いと思う
>>129 です
>>130-134 ご回答ありがとうございますた
ええええそんなーという感じで自宅の2003でやってみたら、
ちゃんと12/05になりますたorz
職場が2007なんですが、
何度やっても12/5になるので質問したのですが…
連休明けたらもう1回、書式クリアしてやってみます
ありがとうございました
>129>137
思い出した
エクセルのロケール(国設定)が変わってるかもしれない
・書式設定で
[$-411]yy"年"mm"月"
と指定する
・OSの、”地域と言語のオプション”の辺りで海外設定になってるかもしれない
http://okwave.jp/qa/q6680990.html で直す
・もし治らないようなら、
別PCで作りなおし、そのファイルにコピーする(うまくいくかどうかはわかりませんが)
>>137 です
おおっ、そんなことがありますか
外資にいるのでかなり可能性がありますです
早速やってみます
だめなようなら自宅から2003のファイルを送ってコピーしてみます
ありがとうございました!
Excel初心者です。 日付と売上高が 1/1 100 1/2 99 1/3 87 1/4 1/5 1/6 1/7 59 1/8 1/9 とありまして、1/4, 1/5, 1/6, 1/8, 1/9の値を予測して値を出したいのですが、Excelで可能でしょうか。 FORECASTかTRENDを使って出せると思ったのですが、いまいちよくわかりません。 大変お手数ですが、宜しくお願いします。
データが少なすぎてダメ グラフ書いて近似曲線を作って、その数式を表示させて 納得行く数式に自分で修正して使え
【1 OSの種類 .】 Windowsvista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 シートをコピーした時に対象のセルの数字をコピー後のシート名(1)、〜(2)、〜(3)を使って1,2,3に変更したいと思い =MID(RIGHT(CELL("filename"),2),2,1)と数式を作ったのですがうまくいきません 上の数式だと「 ) 」と表示されました ただ参照する場所が間違っていたのでCELL("filename"),2)の場所をCELL("filename"),3)に換えたら 一応(2)が2と表示されたのですが別シートの(1)までも2になってました (1)の数式を確認して何も変えずにエンター押すと今度は1になりシート(2)のさっき変わっていた場所が1になってます どうしたらシート()の中をうまく使えるでしょうか? コピーした時にそのセル範囲だけ+1される方法でも大丈夫です
>143 =MID(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))), FIND("(",RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))))+1, FIND(")",RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))))- FIND("(",RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))))-1 )
>>144 早い回答有り難うございます助かりました
146 :
名無しさん@そうだ選挙にいこう :2012/05/04(金) 01:26:46.61
Aさん 会員 出席 Bさん 会員 欠席 Cさん 会員 出席 Dさん 会員 出席 Eさん 会員 欠席 Fさん 非会員 .欠席 Gさん 非会員 出席 Hさん 非会員 .欠席 Iさん 非会員 .出席 Jさん 非会員 .欠席 こんな表で 会員だけの出席者数 3 非会員だけの出席者数 2 を同時に出せるような関数はありますか? オートフィルタとsubtotalの集計方法9を使ったのでは、別々にしか出せません。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 VBAは使ったことがありません。
>146 =SUMPRODUCT((B1:B10="会員")*(C1:C10="出席")) =SUMPRODUCT((B1:B10="非会員")*(C1:C10="出席"))
>147 ありがとう
答えが7になった時だけ0に表示させるにはどうしたよいのでしょうか? 7-(A1+A2)=7 になったら0にしたい・・・
150 :
名無しさん@そうだ選挙にいこう :2012/05/04(金) 18:20:55.72
>>149 =IF(7-(A1+A2)=7,0,7-(A1+A2))
>>150 即答ありがとうございます!
できました! 感謝!
=NOT((A1+A2)=7)*1 うーん
【1 OSの種類 .】 Windowsvista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 条件付き書式でCOUNTIF関数を使って別シートを参照するようにしたのですがうまくいきません やりたいことは sheet2,A1のセルにはsheet1,A1の値が入っており sheet1,A1とsheet1,B1〜E1の値が違う場合sheet2,A1の書式を変える ただしsheet1,B1〜E1が空白の場合sheet2,A1の書式は変えない 同様にsheet1,B1に値が入っておりsheet1,C1〜E1が空白の場合sheet1,A1,B1を比べ値が違う場合sheet2,A1の書式を変える 他にもsheet1,B1,C1,に値が入っておりsheet1,D1〜E1が空白の場合sheet1,A1,B1,C1を比べ値が違う場合sheet2,A1の書式を変える わかりにくいかもしれませんがよろしくお願いします
>153>149
>>154 > sheet2,A1のセルにはsheet1,A1の値が入っており
> sheet1,A1とsheet1,B1〜E1の値が違う場合sheet2,A1の書式を変える
> ただしsheet1,B1〜E1が空白の場合sheet2,A1の書式は変えない
=AND(COUNTIF(Sheet1!B1:E1,Sheet1!A1)=4,COUNTA(Sheet1!B1:E1)<>0)
> 同様にsheet1,B1に値が入っておりsheet1,C1〜E1が空白の場合sheet1,A1,B1を比べ値が違う場合sheet2,A1の書式を変える
=AND(Sheet1!B1<>"",COUNTA(Sheet1!C1:E1)=0,Sheet1!A1<>Sheet1!B1)
> 他にもsheet1,B1,C1,に値が入っておりsheet1,D1〜E1が空白の場合sheet1,A1,B1,C1を比べ値が違う場合sheet2,A1の書式を変える
=AND(COUNTA(Sheet1!B1:C1)=2,COUNTA(Sheet1!D1:E1)=0,OR(Sheet1!A1<>Sheet1!B1,Sheet1!B1<>Sheet1!C1))
>>156 1つ目の計算式間違ってた
=AND(COUNTIF(Sheet1!B1:E1,Sheet1!A1)<>4,COUNTA(Sheet1!B1:E1)<>0)
158 :
154 :2012/05/04(金) 21:53:08.48
すみません
>>156 >>157 の数式では
条件 条件付き書式に他のワークシートまたはブックへの参照は使用出来ません。と出てしまいました
>>158 sheet2のどこかに作業用のセルを設けてそこに数式設定して
条件付き書式はその作業用のセルを参照すればいいんじゃない?
160 :
154 :2012/05/05(土) 08:47:48.73
>>156 >>159 ありがとうございます
すっきりさせたかったのですが難しそうですね
159の方法でやってみます
161 :
名無しさん@そうだ選挙にいこう :2012/05/05(土) 10:41:00.99
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel14.0.4760.1000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
ttp://iup.2ch-library.com/i/i0626653-1336181432.png このような2011年度と2012年度との比較グラフを作りたいのですがどういう表を作ればいいのかわかりません
要素が多いのでグラフが言うことを聞いてくれません・・・
・月ごとの間に間隔を開けたい
・けれど2011年の4月と2012年の4月はくっつけたい
というジレンマに悩まされています 助けてください
作成済みの2011年度分に2012年度分を追加していく形で作っていくつもりなのですが
必要ならアップします
4月のグラフと5−6月のグラフを別に作成して並べる
>>163 グラフとグラフって合成とか出来るんですか?
図形を重ねる要領で
グラフエリアの書式設定で背景を透明にして 重ねる感じですか? やってみたんですが
空白のデータを挟む
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 条件付き書式でExcel2003では3個までしか条件設定できず悩んでいます 次の3つの数式を1つにまとめられないでしょうか? =IF((う=""),(あ=い)) =IF((え=""),(AND(あ=い,い=う))) =IF((お=""),(AND(あ=い,い=う,う=え)))
169 :
名無しさん@そうだ選挙にいこう :2012/05/05(土) 22:14:09.64
VBA使えるのにこの程度の質問かよw
>>168 =OR(
IF((う=""),(あ=い)),
IF((え=""),(AND(あ=い,い=う))),
IF((お=""),(AND(あ=い,い=う,う=え)))
)
171 :
名無しさん@そうだ選挙にいこう :2012/05/05(土) 23:20:51.78
質問の意味がわからん あ=いってなんだよ
>>171 セルに名前定義する機能知らないの?
挿入→名前→定義 で定義できる
>172 す、すげぇ。普段から名前の定義使わないと気づかないな
>>166 月ごとで作ると12枚重ねることになってめどいので
2011年度と2012年度で作成して背景透明
(作業中はグラフエリアの枠だけ残しておく)
完全に重ねるんじゃなくて、一方をずらせばOK
グラフの幅はお好みで設定してくれ
横軸は表示しないにして、折れ線の横軸を使うと自然な仕上がりに
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 印刷範囲の設定はどうやっておこなうのでしょうか
177 :
176 :2012/05/06(日) 15:31:55.47
自己解決
178 :
名無しさん@そうだ選挙にいこう :2012/05/06(日) 15:41:42.27
それはググれ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン】 Excel2007 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 否 EXCELで以下のような表を作成しています。 この表の中でマルの数をカウントして、Z列のセルにカウント数を表示させる関数式を 教えて頂けますでしょうか。 ややこしい計算ではありますが、よろしくお願い致します。 (表の内容) A列からE列まで2行に枠を作り、ヨコ5×タテ2の表があります。 入力条件は以下の通りです。 ・AからC列は、行1か行2のどちらかにマルが入る。 ただし、マルがどちらにも入らない場合もある。 ・D、E列は行1にマルが入る。 ただし、マルが入らない場合もある。 行2にはマルは入らない ・マルの合計は最大5。ただし最小で0。 ・マルの合計数をZ列に数字で表示させる。 A列 B列 C列 D列 E列 Z列 −−−−−−−−−−−−−−−−−−−−−−− 行1 ○ ○ ○ ○ 5 行2 ○
多分初歩的なことなんだろうけど、時間の計算で教えてください 開始時刻をD3に、終了時刻をE3に入れて F列に =E3-D3ってするじゃないですか。 んで休憩時間を入れて計算しようとして =E3-D3-1ってするとセルが ##### になってしまいます。 例えばK1に1:00として =E3-D3-$k$1ってすれば正しく出るんですけど、なんで1って直接指定するとダメなんです? シリアル値とか言うのがよく判らんっす w
181 :
名無しさん@そうだ選挙にいこう :2012/05/07(月) 21:22:31.97
#####になるのは幅が足りてないんだ・・・思いっきり伸ばしてやれ
1と1:00はちがうぞ
>>179 =COUNTIF(A1:E2,"○")
>>181 セル幅100ぐらいにしてもずぅ〜っと ####### です w
>>182 今、=E3-D3-"1:00"ってやると正しく出ましたが、、
これで良いんですかね?
時間の計算も一筋縄には行きませんなぁ ありがとです。
>>184 1とだけ書くと1日って意味になる
つまり24時間だから、1時間だけ引きたい時は
=E3-D3-(1/24)
みたいにする手もある
シート1のA列に、 南九州商事 東大阪株式会社 西東京有限会社 ・・・・・・・ 西鹿児島物産 上埼玉鉄道 北九州不動産 と大量のデータが並んでる(1万件くらい)。この大量データの中で「九州」を含むものにはB列に番号「001」を、「東京」を含むものにはB列に番号「002」を・・・というようにあいまい検索を行なって 番号付けしていく作業をする場合、普通ならオートフィルタで「九州を含む」とか指定して地道にやっていくと思う。でも、その「○○を含む」の「○○」条件がかなり多く(200以上)、 単純作業の繰り返しに時間がかかってしまうのは苦痛だ。 しかもExcel2003なので、「○○を含む」条件を指定したかったら、フィルタの△ボタンを押して「オプション」ボタンを押して「・・・を含む」条件をコンボボックスから指定して・・・と、マウスの 細かい操作をしなきゃならなくて、きつい。この作業を、何とか効率化できないだろうか。マクロを使うしかないかな。絞込み条件に指定するキーワードと番号は、シート2に「*九州*」「東京*」・・・と 前もって登録しておけばいいのは間違いないのだろうけど。
searchとかでも簡単だろ
VBAについて質問です。 【1 OSの種類 .】 Windows 2003以降 【2 Excelのバージョン 】 Excel 2003以降 VBAのクラスモジュールを使用するとInstancingというプロパティ項目があります。 通常は「1 - Private」のままで良いので気にしないのですが、 これを「2 - PublicNotCreatable」とするケースがさっぱり分かりません。 このプロパティは何を設定するプロパティで、「2 - PublicNotCreatable」とは どういう属性なのでしょうか。
>>192 いや、そのサイトは見たんだけれど機械翻訳があまりにもまずすぎて
意味が分からないんですよ。
>>191 翻訳酷過ぎ笑ったwww
クラスを継承させる時、親クラスを使わせたくない時がある
そういう時に使うと思う。
>>195 うーん・・・VBなら分かるんですが、
VBAの場合、継承の機能はないですよね。
>196 InheritsはVBだけだけでしたか、すいません 他には思いつかないな
うっかりA列を表示しないにしてしまったのですが 再表示させる場合はどこをクリックして選択したらいいのでしょうか?
CTRL+Aで右クリック 最表示
A列で%で89.90%というように、パーセントで表示しています。 これをB列では、小数点第2位以下を切り捨てて、「8.9」と 表示させたいです。 たとえば、50.55%なら「5.0」、91.01%だと「9.1」に したいです。 B列にはどのような関数を設定したらいいでしょうか?
>201 =INT(A1*1000)/1000
>201 と思ったら違った。こうしたいのね =INT(A1*100)/10
>>201 パーセント表示だから中身は0.899なんだろ?
なら
=ROUNDDOWN(A1*10, 1)
助かりました ありがとうございます
>199 でません>< 何か壊れてしまいまいたでしょうか?
>>206 Excel2003までなら、アドレスボックス(選択しているセルのアドレスが表示されるところ)に
A1とかA:Aなど入れて[ENTER]
メニューの 書式>列>再表示 でいいんだけど、Excel2007以降は手元にないからしらん。
>>207 2000ですが出ませんでした。諦めます。
ありがとうございますた。。
B列選択して 隣のA列(見えないけど)までドラッグして選択して右クリックすれば 再表示コマンド出るでしょ
グッドラッグ
WinVistaのexcel2003なんですが 今時間を使った計算をやっちまいましてその計算のほうは問題ないんだけど 並んだ結果を見て見た目がウーン・・・書式で表記を変えたいんだけどなんかこうグッとこない たとえば12:34:56みたいなのはこのままでいいんだけど 21:09:08になった時は21: 9: 8って0のところを半角スペースにしてみたい かといって4:32:10が4:32:1 になったら困るしどうしたもんかなって 数値の時だと書式を###0にしたらみたいな感じで似たようなことできないスかね? あーっとVBAとかなんとかいうのは使えませんテペペロン セルを横に5つ使って 時間部分、コロン、分部分、コロン、秒部分 みたいにして それぞれのところをVALUE(HOUR(時間))とかにして書式#0にする っていう方法思いついたけどあんまりやりたくないなあせっかく計算式立てたのもあるし 書式のユーザー定義で一発ドーンみたいないい方法あったら教えて
>>211 >書式のユーザー定義で一発ドーンみたいないい方法あったら教えて
無理
無理なら仕方ないね うん無理を言ってスマンかった ありがとね
>>211 セルを横に5つも使う方法が検討対象になるのに
数式で対処するのはNGなの?
数式・・・? って言われてから気付いた 時間&":"&分":"&秒 みたいな感じかな 全然きづかんかったわー 元の計算式が結構長いからうまくできるかわからんけど試してみよ ありがとね!
#0っていうのは0になって 0にはならないのね・・・ぐむむ こりゃやっぱ無理ぽいかなー IF使うとなるとカッコ制限がピンチになるし・・・
>>216 VBAなら簡単だけど
っていうか、時刻の表示で0をスペースにするのはあからさまに不自然だと思うんだけど
>215 それでtext関数
>>220 ヒント MSゴシック
UIとPはスペースが数字より小さいからずれる
222 :
名無しさん@そうだ選挙にいこう :2012/05/09(水) 08:17:15.46
他のセル使えよ
>>212 スレとは関係ないんだけど、一発ドーンといえば、書式設定の「縮小して全体を表示する」がリボンに入ってないのが不思議でしょうがない。
みんな、文字を小さくするんじゃなくて表の大きさをUPしてんの?
>>223 似たので2010にある「選択範囲にあわせて拡大/縮小」という機能、2010以前のバージョンにない(2007にはあるかも)
からマクロで作っておいたことがある。
これはPCの画面サイズ・解像度が変わった場合に有効なんだよな。
226 :
名無しさん@そうだ選挙にいこう :2012/05/09(水) 17:02:27.27
>>226 数式だとこんな感じにするとか
=INDIRECT("Sheet1!A" & (INT(ROW()/59)+1))
228 :
226 :2012/05/09(水) 17:18:45.34
>>227 できました!ありごとうございます。これで捗ります。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 印刷方法の質問です。 複数のシートを両面印刷したいのですが、方法を教えて頂けますでしょうか。 用紙はA3で、表裏で上下逆にならない方法お願いします
>>229 プリンタとプリンタドライバの設定の問題では?
>229-230 お前らちょっとはぐぐれカス エクセル 複数シート 両面印刷
シートが別になってる場合はプリンタの設定で両面印刷は無理じゃね
うげ、今試してみたら出来た。それぞれのシートを個別に両面印刷にしないとダメだったのか。
連動はともかく 大項目のきれいなリストはなんとか作りたいのですm(_ _)m
>>233 印刷からやるんじゃなくて書式の方で設定すれば一括で変更できる
出てくる画面はまったく同じなのに適用される範囲が違う
昔からある、Excelの落とし穴
助けてください。抽出で困っています。 【1 OSの種類】 Windows 7 【2 Excelのバージョン】 Excel 2003 【3 VBAが使えるか】いいえ 【4 VBAでの回答の可否】許してください。理解できません。 4種類の本があり、ページは各300ページほどあり、索引は2000ほどあります。 以下の形でExcelデータにしました。 索引 本A 本B 本C 本D 甲 7 4 1 乙 1 8 丙 2 5 丁 7 4 3 4 戊 6 2 己 1 2 5 庚 8 4 辛 4 2 壬 3 6 5 2 癸 8 1 本Aはp.6まで、本Bはp.5まで、本Cはp.5まで、本Dはp.7までの範囲内で 全ての本に出ている索引 2冊に出ている索引 1冊に出ている索引 それぞれを抽出したいのですが、どうすれば良いですか。
>>239 表がくっついてしまってすみません。今書き直します。
>>239 索引 本A 本B 本C 本D
甲 7 4 1
乙 1 8
丙 2 5
丁 7 4 3 4
戊 6 2
己 1 2 5
庚 8 4
辛 4 2
壬 3 6 5 2
癸 8 1
こんな感じです。
おまえの日本語とその表が理解できんわ!!
>>242 あなたの日本語はよく分かるのに。
索引 本A 本B 本C 本D
甲 p.7 p.4 p.1 ・・・甲が出ているページ
最初から指定したページまでの中で、どの本にも出ている索引。
滅多に出てこない索引。
まぁまぁ出てくる索引
を出して!と言われました。
>>239 F列にこんな数式で
=IF(COUNTA(B2:E2)=4,"全ての本",COUNTA(B2:E2) & "冊に") & "に出ている索引"
>>244 日本語理解してくれました?!
ありがとうございます。
やってみます。
苦しんでから結果報告いたします。
246 :
244 :2012/05/10(木) 23:19:26.06
>>245 ごめん、これ見落としてたわw
> 本Aはp.6まで、本Bはp.5まで、本Cはp.5まで、本Dはp.7までの範囲内で
247 :
244 :2012/05/10(木) 23:22:14.94
>>246 こんなんで
=COUNTIF(B2,"<=6")+COUNTIF(C2,"<=5")+COUNTIF(D2,"<=5")+COUNTIF(E2,"<=7")
>>247 再度ありがとうございます。やってみます。
これで、索引の一覧が出てきたら嬉しいです。
>>244 すごい!!サクッとできました。
とりあえず自分で頑張っていて挫折して、こちらの式を入れてみたらサクッとできました。
ありがとうございます。
感謝です。
回答を見て、質問の意味がわかったぜ
今回もエスパー度高い回答者だったな
すいません、初歩的なことですが分からないので教えて下さい。 F22セルに数字を打ち込むとE22セルに計算式が出るようにしたいと思っています。 他のセルとF22に入力する数字によって計算したいのですが、 F22が空白の場合はE22も空白になるようにする方法がわかりません。 =IF(F22=" "," ",IF(B2*5%/(F5*F22))) 上記の関数ではダメなようです。 ご教示下さい。
>>252 ”5%”というのを他の形で表せば良い。
254 :
名無しさん@そうだ選挙にいこう :2012/05/11(金) 15:57:58.89
XPsp3,EXCEL2003です。 知人(作成者ではない)から入手したEXCELシートの関数記述の中に 「J5C3」というセル参照があります。 前後のセル参照では「C3」で参照されているセルを参照しているようなのですが、 計算結果は、これで正しく算出されています。 関数内で「J5C3」という記述方法があるのでしょうか? あれば、どういう意味なのでしょうか?
>>254 ブックをアップするかコピペするかできないの?
256 :
254 :2012/05/11(金) 16:38:02.36
>>255 レスありがとうございます。
下記のIF文の6行目です。
IF(D1/2<>INT(D1/2),
IF(D5>=C3*10000,
G9*10000,IF(D5/(C3*10000)>=0.9,G10*10000,0)),
IF(D7>=C3*10000,
INT(((D7-C3*10000)/20000))*E12+D9*10000-IF(D6>=C3*10000/2,G9*10000,
IF(D6/(J5C3*10000/2)>=0.9,G10*10000,0)),
IF(D7/(C3*10000)>=0.9,D10*10000-IF(D6>=C3*10000/2,
G9*10000,IF(D6/(C3*10000/2)>=0.9,G10*10000,0)),0)))
257 :
252 :2012/05/11(金) 16:39:03.86
258 :
名無しさん@そうだ選挙にいこう :2012/05/11(金) 16:40:29.59
連投で申し訳ありませんが EXCEL2003のIF関数のネストは何階層までOKなのでしょうか?
たしか7
260 :
258 :2012/05/11(金) 16:50:48.67
自己解決しました。取り下げます。
>>256 作成者のミスじゃないかな?
6行目のIF関数が評価されると#NAME?になると思うよ
262 :
256 :2012/05/11(金) 18:11:51.42
>>261 レスありがとうございます。
たまたま6行目の条件が未発生でうまく行ってるってことですね。
>>262 同意を求められてもブック見てない第三者に分かるわけない・・・
264 :
名無しさん@そうだ選挙にいこう :2012/05/11(金) 19:53:03.05
=A5 =B5 の2つのセルがある。 んで=A5をA6に変更する。それに連動してもう一つのセルも =B5から=B6に変わるようにするには どうすればいい? どうか教えろください
大項目の綺麗なリストは作業列を使えば可能じゃないかい? 作業列といってもわりと力技になりそうだけど
>>264 最適かはサッパリわかんないけど、
作業列に5.6入れる列作ってindirect
5を入力したら 2 2 1 って表示されるようにしたいんだが どう組んだらいいの?
269 :
名無しさん@そうだ選挙にいこう :2012/05/12(土) 00:25:50.26
=IF(A1=5,2) =IF(A1=5,2) =IF(A1=5,1)
>268 A1=5 A2=INT(SQRT(A1)) A3=2 A4=A1-A2*A3
>>268 5を入力するセルがA1の場合、
2 → =IF(A1=5,2,"")
1 → =IF(A1=5,1,"")
272 :
名無しさん@そうだ選挙にいこう :2012/05/12(土) 13:37:50.55
EXCEL2003です。 呼び方が分からないのですが、 画面が印刷イメージで表示され、 ページ外枠が太い青線で、改ページ箇所が太い青の破線で表示され、 各ページイメージの真ん中に「1ページ」、「2ページ」…の透かしのような文字が 表示されるモード(?)を 解除して、普通のシートイメージで表示させるには、どうすれば良いのでしょうか?
改ページプレビューを解除 ウィンドウの右下にアイコンが3つ並んでる
メニューで表示−標準を選択
質問のレベルが低すぎてワラタ
>275 新参乙
月ごとにsheetを作って出勤簿を作りたいのですが、前の月(sheet)の有給休暇の残りを、新しい月(sheet)に反映させるのはどのようにすればよいですか?
改ページってたまに「全ての改ページを解除」を選択しても 解除されない時ってないか? 何回選択してクリックしても青線消えない時とかあるんだが
当たり前だバカ そりゃ印刷する紙の大きさには限界があるだろ どんだけ低レベルなんだよ もはやExcelの質問じゃねえぞ
え 意味わかんない
青い線と青い点線の違い
エクセルの印刷周りは最低だからどんなバグがあっても(゚ε゚)キニシナイ!!
287 :
名無しさん@そうだ選挙にいこう :2012/05/13(日) 00:30:39.73
Excelのセルで入力したあと、セルの焦点をそのいま入力したセルのままにすることはできますか? Enterを押すと下のセルにうつりますし、Tabを押すと右のセメにうつるので困ります。 かといってそのままにしておくと登録しておいたショートカットでそのセルに対してマクロが実行できません
>287 どんなマクロかしらんけど前のセルに戻す動作もマクロに入れればいいんじゃないの
>>287 オプションで「入力後にセルを移動する」のチェックを外す
290 :
名無しさん@そうだ選挙にいこう :2012/05/13(日) 00:46:55.39
>>288 上のセルをマクロ対象にしろと申すか?
入力してマクロを実行するパターンと
すでに入力されてるセルを選択してマクロを実行するパターンがあり
後者の場合はわざわざ対象セルの下のセルを選択しないといけなくなり
そりゃマヌケだろが?
291 :
名無しさん@そうだ選挙にいこう :2012/05/13(日) 00:48:51.38
>>289 本気で申してるのか?
その方法これまで30年もExcelをさわってきた無意識のセル入力感覚を破壊することになるぞ。
なんかやばい人にレスしちゃったみたいだ・・・ 早めに寝て忘れよう
Enter→Shift+EnterとかTab→Shift+Tabとかで戻ってこいよ って言おうと思ったけどやっぱやめた コイツ頭悪そうだから何言っても無駄だわ
>287 inputboxを用意し、書き込むセルも指定 そこからマクロに繋げるとか
296 :
287 :2012/05/13(日) 09:32:04.16
>>296 ゆとり中学生かな?小学生かな?
他のスレで荒らし方を覚えたんだね!すごーい^^
でも全然あれないね^^;
299 :
名無しさん@そうだ選挙にいこう :2012/05/13(日) 14:35:25.80
>>298 近頃は地震は来るし、竜巻も来るし、ヒョウも降ってくるから
その程度じゃ荒れないんだろ
ヒョウーーーーッ!!しゃうしゃうしゃう!!!あべしっ
オワター!!
質問が来ないとアホが来るスレだなw 初心者も遠慮なく質問しる
自虐的だな
304 :
名無しさん@そうだ選挙にいこう :2012/05/13(日) 19:08:23.38
最近Excelを学び始めた者です。 自分以外がデータ入力する場合に備えて入力されている式の説明を入れようとしたのですが、セルに入力するのはうまくないですね。 かといってコメントをベタベタ貼るのも邪魔なような気がします。 みなさんはこういう場合どうしますか?
>>304 コメントを「常に表示」じゃなく、当該セルにマウスポインタがきたときだけ表示(規定値)でも邪魔ですか?
306 :
304 :2012/05/13(日) 19:33:27.06
邪魔だから聞いてるんです
ということは何をやっても邪魔ですね 人に聞くのは諦めて自分で探してください
308 :
304 :2012/05/13(日) 19:58:42.91
なんだと、この野郎
ChromeさんのアドオンのClip to Evernoteのスマートファイリングがマジうんこすぎるんだけど、ちゃんと学習してるんですか? 学習しないタイプであれば、毎回ノートを設定し直すのが面倒ですし、スマート〜をOFFにしようかと思うのですが。 学習してくれるのであれば、もうちょっと頑張って調教したい!!
すまn誤爆
>>304 必要なセルの隣なり下なりにコメントを入力し、
列or行を選択、右クリックで非表示設定
でどうすかね?
311 :
304 :2012/05/13(日) 20:25:34.53
非表示にしたら見えなくなって意味がないでしょ。 ここには使えない人間しかいないんですか?
312 :
名無しさん@そうだ選挙にいこう :2012/05/13(日) 20:28:19.15
304です。 調べてみたところN関数というものがあるらしく、数式内にコメントを入れるようにしました。 みなさんありがとうございました。
313 :
名無しさん@そうだ選挙にいこう :2012/05/13(日) 23:26:44.99
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 (((1/23)+((X-0.9916)^2/0.5921))*(-0.3069))^1/2 この式を展開したいのですがどうすればできますか?
【1 OSの種類 .】 Windowsvista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 HOUR関数とMINUTE関数使って時間と分に変換したいのですがうまくいきません A1に5.5 B1に=HOUR(A1) C1に=MINUTE(A1)と入っています これではB1に12,C1に0表示されてます B1には5,C1には30と表示したいのですがどうしたらいいのでしょうか?
>>314 =HOUR(A1/24)
=MINUTE(A1/24)
>>304 入力禁止のセルは何かの色で塗りつぶし+保護
別シートに説明
ダメ可能
どういたしまして
ID出ないスレだとなりすましする馬鹿が居座るんだな
Excel2010でファイルが突然開けなくなりました ダブルクリックすると灰色の何もない画面が出ます ネットに出ていたなんかのチェックを外すというのもやってみましたがダメでした 思い当たる節として、Bluetoothを1度切ったことがあります どーしたら良いのでしょうか? Windows7です スレ違いだったら申し訳ないです
>>321 なんかって何?
まぁ他のアプリケーションを無視する辺りだろうけど
Excel再インストールで対処できると思う
おぉーこういう時ピボットってこうやって使えばいいのかー 勉強になります!ありがとうございました!!
327 :
名無しさん@そうだ選挙にいこう :2012/05/16(水) 16:54:58.98
【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 2007(出来れば97-03形式で保存したい)
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 否
よろしくお願い致します。
二つのシートがあります
シートAには物品の一覧
シートBはそれらを画像付きの表形式で表示します
こちらがシートAに品名や単価、個数、日付、場所を入力すると
シートBの表に反映される物を作りたいです。
=A!B3 とかにするのは分かるのですが
その式をBの全てに入力するのは大変です。
引っ張り方が規則的なので簡単に出来る方法がありそうなのですが
良い方法あれば教えて頂きたいです。
このような感じの物を作りたいです
ttp://www1.axfc.net/uploader/Sc/so/346211
329 :
327 :2012/05/16(水) 18:26:53.37
>>328 有り難う御座います。
まさにこれがしたかった事です。
INDIRECT関数を知りませんでした。
これは色々応用できますね。本当に助かりました。
画像はハイパーリンクで大丈夫です。
何とかなりそうなので後は自分で出来そうです。
【1 OSの種類】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 否 チェックボックスを任意の場所に作成し、かつチェックを入れると 特定のセルに値が自動で設定できるようにするにはどうすれば いいのでしょうか。 仮として、セルはB1、値は10として、説明頂けますでしょうか。
331 :
名無しさん@そうだ選挙にいこう :2012/05/16(水) 22:27:33.39
【1 OSの種類】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 否 エラーのポップアップで 文字列を数値に変換を一つ一つではなくシートごと一括でできるのでしょうか?
>>330 1)チェックボックスを置いたセルを、リンクするセルに設定(仮にA1とする)
2)A1セルのフォント色を白にする
3)B1の式=if(A1,10,"")
>>330 vba必須
>>331 意味がわからんが、
ツール、エラーチェック。後はIなりF2enter連打するなり
チェックボックスとかラジオボタンって2種類あるのが罠だよな
336 :
名無しさん@そうだ選挙にいこう :2012/05/17(木) 20:46:51.32
【1 OSの種類】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 否 2つの数字がわかっています。条件は、 セルAが0の時、セルBも0 セルAが45の時、セルBは60で、ABの比率は1.33333になります。 0の時の比率は0なので、セルAが45から0に下がっていくに従って、1.33333の比率が どんどん下がり、0の時は0になるようにしたいです。 このような場合で、セルAが30の場合、25の場合など任意の数字を入れてセルBの数値を 導き出すことはできるでしょうか?
エクセルと関係無いような? >1.33333の比率がどんどん下がり そんな曖昧な条件では計算できない、条件不足。
>>339 それだと条件を満たしていない
> 1.33333の比率がどんどん下がり
=60*(A1/45)^n nは1以上とか?
343 :
名無しさん@そうだ選挙にいこう :2012/05/18(金) 01:29:43.63
336です。 質問が下手ですいません。。。 ひとまず、338さんの統計関数をみてみて、ちょっと調べてみます。
344 :
名無しさん@そうだ選挙にいこう :2012/05/18(金) 09:52:09.39
>>336 A列をx、B列をy として
たとえば、y=ax^2 という二次曲線を考えてみる。
点(x,y) が (45,60)をとおるので、これからaを求める。
a=y/(x^2)だから、a=60/(45^2)。
すると、y=60/(45^2) * x^2
結果として b1=60/(45^2) * a1^2
if関数使って、a1が0の場合だけb1を0とする。
これで良いんじゃない?
二次じゃなくてn次でも良いでしょうけど。
345 :
344 :2012/05/18(金) 09:55:45.03
ごめん、 >if関数使って、a1が0の場合だけb1を0とする。 これはいらない。 b1=60/(45^2) * a1^2 だけでいい。 比を求めたくなった時だけA1=0を別扱いすればいい。
何のためにそれをしたいのかは多少気になる
347 :
344 :2012/05/18(金) 10:19:10.95
そうなんだよね。 目的によって式は変わるからね〜
【1 OSの種類 .】 Windows7 64bit 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 2007より搭載されたテーブル機能を使って表を作り、新しい行を追加してもA列には式が自動で入力されるようになりました。 この自動入力される式・値を編集することは可能でしょうか。 表の上から下まで新しい式を入力すれば、その式が標準となるのは分かります。 しかし、セルによっては、常に標準の式ではなく別の式や直接値を打ち込むこともあります。 すると、エクセルのよけいなお節介で標準の式が入れ替わったり新しい行を追加しても何も入力してくれなくなることがあります。 「A列はどんな値が入力されようが標準の式は=B1*1.05なんだよ!」みたいな指定をしたいのですがそのような設定はありますでしょうか。
349 :
名無しさん@そうだ選挙にいこう :2012/05/18(金) 18:57:01.80
列の境界線をダブルクリックすると、自動で列幅を調整してくれますが、これをいくつものシートにたいして一括で行うことはできるのでしょうか?
調整したいシートを選択してから実行すればできる
351 :
名無しさん@そうだ選挙にいこう :2012/05/18(金) 19:04:26.77
>>350 シートを選択とはタブをcntlキー押しながら選択し、どこかの境界線でダブルクリックするということでしょうか?
はいそうです
>>351 cntlキーではなくCtrlキーを押してください
IF関数で時刻の判定が出来ません。 どのようにすれば可能でしょうか? =IF(セル>"18:00",A,B) ↑こうしてやると、関数のエラーは出ませんが、正しい処理がされません。 セルの書式はは時刻設定されています。
>>354 =IF(A1>"18:00"*1,"A","B")
>>355 ありがとうございます。
その《*1》には、どのような意味があるのでしょうか?
"18:00"を0.75(シリアル=18/24)で計算して表示をh:mしたほうがいいよ。
それだと 0.75ってなんだっけ? てことになりやすい
表示はあくまでh:m
18/24かtime関数がいいと思う 0.75はわかりにくい。その場限りならどっちでもいいけどね
要するにシリアルで演算したほうがいいよってことね。
皆様、ありがとうございました!
18:00だからまだいいとして 18:03だったりしたらどうすんのと
=timevalue(好きな時刻)を入れてみてちょ
日付や時刻を"5/18"とか"22:03"にすると、演算しかりグラフでその経過1(時間)が反映されないのし。
>>365 =IF(セル>TIMEVALUE("18:00"),処理A,処理B)
でいいですか?
関数使うくらいなら*1でいいやん
好きにしたらいい
カメラ機能についておながいします。 表をちょこっと貼っちまいたい時なんかに重宝するんですが、 罫線が一部分だけぶっとくなったりするのは仕様でしょうか。 また、カメラのように選択部分を図に変換する機能はありますでしょうか。
>>372 >罫線が一部分だけぶっとくなったりするのは仕様でしょうか。
仕様に関する問い合わせはMSでないと答えられないのでMSのサポートに聞きましょう
>また、カメラのように選択部分を図に変換する機能はありますでしょうか。
カメラでいいのでは?
>>372 >罫線が一部分だけぶっとくなったりする
仕様らしい、、オラのもそうなる。
>選択部分を図に変換する機能
カメラはシートを超えて表示する位なもので、作図機能はない、、はず。
>>372 図のリンク貼付けではなく、図の貼り付けなら画像になる・・・
が、罫線が表示されない。他にも表示されないものがあるかも
カメラで画像を表示してるが粗くなる
Excel中級者ですが オートコンプリート機能などイラン機能が満載のマイクロソフトの製品は使えば使うほど無性にイライラしてくるシーンが増えているような気がするのですが、気のせいでしょうか?
>>379 そんなあなたに
┌────────────┐
│ |||||||||| (R) │
│ |||||| ||||||||||||||| .│
│ ||||||||| |||||| |||||| ||||||||||| .│
│.||||||||||| |||||||| |||||||||||||||| │
│ ||||||||| |||||||| ||||||| .│
│ ||||||||| |||||||| ||||||||| │
│ ||||||||| ||||||||||||||| ||||||||| │
│ ||||||||| ||||||||||||||| ||||||| .│
│ ||||||||| ||||||||||||||| .│
│ |||||||||| .│
│ │
└────────────┘
Copyright (C) 1986, 87
Lotus Development Corporation
Release 2.1J
>>379 たしかに、、。
熟練度が増してきたら外せばいいのかも。
>>379 Ms製品はデフォルトで初心者向けに作っている
もうちっと極めればその初心者向けおせっかい機能や、excelのバグを含めた技能を習得できる
excelは色々ウンコな点もアるガ、やはりデファクトスタンダードであり、極めて入れば
事前のミスなども防げる
愚痴らず、逆に「何故このバグが起こっているのか?」と調べるのも一興
そんな隙がないならどんどんここで聞けば良い
といってる俺もテーブル機能なんてさっぱりわからんがな。hahaha
【1 OSの種類】 Windows XP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 否
>>330 です。追加で質問させてください。
ある手順書を作成していて、条件に該当しなければチェックボックスにチェック入れて終わり。
該当すれば、値を求めて計算式にあてはめて得点を10点満点で求めるというものを
作っています。
仮にA1からE1まで、以下の通りとします。
A1〜C1 値、D1はa1からC1の計算式、E1はD1の結果に伴い、得点を関数で算出しています
続きます
386 :
385 :2012/05/20(日) 08:39:39.04
質問したいのは以下のことを行うには、どのようにすれば可能かということです。 ・チェックボックスにチェックがあったら、E1に10が自動で入る。 ・チェックがなければ、A1からC1の値を元に応じてE1に得点が設定される。 お手数ですが、ご回答頂けますでしょうか。 よろしくお願いいたします。
>>388 そのようなイメージです。
できれば、true falseは表示させたくないのですが、可能でしょうか?
作業列なんざ後でいくらでも非表示なりなんなりできるだろう
>>390 この場合の深刻な問題というのは、
+をVIPやニュー速と同列に見なしたユーザが、+に「とりあえず」記事を投稿し、フォローを受ける。
そのフォローが予想もしなかった(2chの参加者から見れば当然のものであるが)厳しいものであったために、
「+は怖いところだ」という誤解を招き、それが拡大再生産されているのではないと思います。
ある人が、「+は怖いところだ」と思ったのなら、それは誤解じゃなくて正しい認識だと思います。
怖いケースと、怖くないケースがあって、そういう両面とか全貌を見てない、認識の甘い人に対して、
怖いところの反応をするのは、当然の話で、それは深刻な問題という程でもないと思います。
>>392 よ、聞いてくれよ
スレと全然関係ないんだけどさ
394 :
名無しさん@そうだ選挙にいこう :2012/05/20(日) 13:04:42.82
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 基本的な操作の質問になります。 以前、Excel2000を使っていました。(この時には出来ていたことです) 2010に買い替えたところ、フィルタを使用してのフィルが使えなくなってしまいました。 具体的にはフィルタの条件に合った所に1,2,3・・・等と連続した数をダダーっと入力したり、フィルタの条件に合った箇所だけに名前を入れるような事です。 フィルタで隠して、その部分(行)は編集したくないのに範囲指定とかしてコピーなりすると隠してある部分まで編集されてる、、。 何か操作方法が変わったのでしょうか? 条件が一つなら置き換えを使えば問題ないのですが、複数の条件(A列が○でB列が×の行へ・・とか)だったりすると使えません。 Excel2000の時は、フィルタを使って隠したところは編集されず表示されている行を上から1,2と入れてあとは下にビビーっと引っ張ると勝手に3,4,5,6・・・と作ってくれました。 以上、よろしくお願いします。 Office2000をWindows7に無理やりインストールしましたが、「正確に使えなくても知らないよ?」と表示されるのでこの解決法以外で教えてください。
2003では少なくとも出来なかったよ
>>394 2003ではできるよ
オートフィルタ、フィルタオプションどちらでも歯抜けになった
使用が変わったのかもねぇ
【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excelで全動作に効果音がでるようになる機能を使ってますが そろそろ飽きてきたのですが他の種類はでていないのでしょうか? と言いますかサウンド機能のダウンロードページすらいくら検索しても出てこないのですが、、w
>>394 たしかに2010だとできないね
数が少なければ、抽出したデータのはじを作業列にして、選択状態にしておけばソコしか入力されないんで1、2、3…と入力できます
あとはググって出てきたデータで申し訳ないけど、
=SUBTOTAL(2,B$2:B2)
な感じでカウントさせれば
あっ、これフィルタ解除したらダメっすねぇ
シート1の図に番号を振り、どのセルにでも(別シートでも)数字を入れれば 対応した図がセルにコピーされるようにしたいのですが、検索しても 指定セルへのコピーしか見つかりません。探したりないだけでしょうか? 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 一週間程度の経験 【4 VBAでの回答の可否】 可
>>400-401 ありがとう
アドインでこんなのがあるのかー
他の探してみたけど無かったわ
やるとしたらVBAなんだろうけど、作るのめんどくさそう
>>402 こんな感じ?シート2限定だけど
Worksheet_ChangeでTargetをそのまま渡せばいけると思う
シート2マクロ
Private Sub Worksheet_Change(ByVal Target As Range)
Call hoge(Target2)
End Sub
標準モジュール
Sub hoge(ByVal Target2 As Range)
Dim a
a = Target.Value
Sheets(1).Select
ActiveSheet.Shapes(a).Copy
Sheets(2).Select
ActiveSheet.Paste
End Sub
405 :
名無しさん@そうだ選挙にいこう :2012/05/20(日) 17:13:11.44
【Windows7, Excel2010, VBAは扱えないです】 AクラスとBクラス共に出席している人の数を数えようとして、 ↓の式のようにしてできたのですが、 この式を配列数式({}が付いてる式)にしないで同等の計算をする方は無いですか? {=SUM( (TRANSPOSE(A1:A40)*(A1:A40<>0)=B1:B40)*1 )} ※A列=Aクラスの名簿番号, B列=Bクラスの名簿番号 これを大量に作るので作業列はなるべく作りたくないです。
>>400 インストールしたらC:\WINDOWS\Media\Office97配下にwavファイルがたくさんインストールされたから
それを差し替えればいいんじゃない?
>>405 =SUMPRODUCT(COUNTIF(A1:A20,B1:B20))
409 :
405 :2012/05/20(日) 17:30:44.33
>>407 SumをSumProductに変えても配列数式にしないと出来ませんでした。
410 :
405 :2012/05/20(日) 17:36:17.59
>>411 2010だとだいぶ改善されてるな
2003とかでもショートカットキー使ってたからどうでもいいけど
それはボタンでやるのに必要な設定
>>395-396 >>398 レスありがとうございます。
やっぱり出来ませんか、、。
皆さん出来なくて問題ないんですか??
これ使えなかったらExcelの存在意義がかなり薄れると思うんですけど……
2007でも出来無さそうなのでバグとしてMicrosoftは認識していないんでしょうね。。
バグにしか思えませんが、、。
>>414 それで存在意義が薄れるとかないわ
MSのサポートに確認してみたら?
馬鹿が作ったソフトを使う馬鹿
列ごと一括でもめんどいの?
B1に何か入力されたらA1の現在の時刻刻みこむ関数ってどうやるんですか?
>>415-416 出来なくても問題ないという回答ですか?
1000行に満たないデータでもこれが出来ないと相当大変ですけど、、。
一々ひとつづつ通し番号や組分け番号(記号)を手で入力していかないといけなくなりますが。
組分け番号はif関数使えば手入力しなくても出来るけど、、。今までマウスドラッグするだけで完成したことを考えれば手入力に近い手間。
本当にお使いなら、実は何か他に方法があるのではありませんか?
Excelの使用で一般的な情報管理のデータを作成している人なら、自分が質問した編集作業は行う筈です。
教えてください。お願いします。
>>417 自分へのレスでしょうか・・?
違う気がしますが、自分は
>>394 で質問をさせて頂いたものです。
>>396 さんが使えてたと言う2003を用意するしかないですかねぇ、、。
2003ならSP3でWindows7に対応しているそうなので。
>B1に何か入力されたら この行為がアテンションするから、どのセルも再計算されまする。
>>419 列で求めた計を行で扱いたいという件かな?
423 :
名無しさん@そうだ選挙にいこう :2012/05/20(日) 21:53:14.63
>>422 えらそーなこと抜かしてる割に汎用性乏しすぎwww
>>394 の為に敢えてそのような形にしたの??
>>419 2003でもできなかったよ
もしかすると俺のやり方が間違ってるのかそもそも質問を理解できていないのかも
ちなみに
>>416 は
>>411 に対してだと思ふ
>>424 >>394 、419見て最初に思いついた奴
なんか不都合あったらまた条件追加してくるでしょ
これでよければこれでいいし
汎用性とか考えたほうが良かったの?そのほうがいいなら次回から少しは考慮するよ
いずれexcelは優れたハサミとして世界愛用されてる
>>422 394の方です。
ありがとうございました。
使い方が違うという事ですか、、。
また、わざわざ作って見せて頂いて申し訳ありません。
ただ自分は式をみてパッと理解出来るほど使いこなせていません。大抵の場合、ツールを使って式を完成させるので・・・
こういった処理が必要な時に関数を常に利用するというのは無理があります。
自分には2003購入しか解決法がなさそうですね。
お世話になりました。
>>424 自分のやりたい事の答えとしては十分な内容でした。
MAXというのを使ったことが無かったので試す必要がありましたが・・・
>>426 失礼しました
>>428 425も言ってるが、俺も2003で使えなかった。
こちらは2002です。やはり出来ませんでした。
みんな存在意義の薄いソフト使ってるんだな
今更2000買ってどうするんだよ しかも2003以降と互換性のないファイル作って、、どうしようもないな
>>434 それを言い出すと
>>394 なんてvbaでいいだろ、
となるワケ
エクセルの存在意義すらなくなるレベルの最重要の作業らしいし、
これぐらいやってもいいでしょ
>>434 互換性が必要だなんて質問者は言ってないぞ
よく読め
excel2000のヘルプはすごい使いやすかったなあ・・・
438 :
名無しさん@そうだ選挙にいこう :2012/05/21(月) 17:31:33.63
【1 OSの種類 .】 WindowsXPsp3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excel2003のファイルAとBがあり、 ファイルAにはシートC(絶対参照を含む関数あり)、 ファイルBにはシートDがあります。 ここでシートCからシートDへシート全体をコピーすると シートDのセルには 「(シートCからデータを持ってきたことを示す式)+関数」になってしまいます。 当方のしたいことは シートCからシートDへシート全体をコピーしたとき、セルに シートCからデータを持ってきたことを示す式を 含まないものにしたいということです。 そういったコピーの仕方はありますか?
確かに、置換してシート名をなかったコトにするくらいしか使い方思いつかんから、なんかいい方法あれば俺も嬉しい
>>438 確認だけど
(シートCからデータを持ってきたことを示す式)とは、
例えば、↓のこと?
[BookA.xls]SheetC!
なくなっても、セル参照エラーにならないの?
ファイルの構成が似てるんじゃないかな 例えば請求書で取引先ごとに分けている場合、シフト表を部署ごとにわけてる場合・・等 (細部が微妙に違っていたりして、一つ作ってコピーができない) 毎日やるor量が多いならvbaをなんとか覚える、そうでなければ置換がいいと思う 他の方法として、indirectならコピーしてもリンク先は影響されない。 だが、シートの内容をほぼ全て書き換えることになる上に、重くなる おすすめはしない
情報が不十分なんであてずっぽだけど 形式を選択して貼り付け - 値 で済む話じゃないのかな
シートを全て選択してシートの移動またはコピーでコピー 後でシート名を変更?
>>444 それって、ファイルAをファイルBに別名保存することと同じだよね。
それでいいのかな?
ファイルBのシートDって、別にDである必要はないんだよね? シートCそっくりにすれば良いんだから、シートのコピーで正解だと思う 難しい事はなんも無かったな
448 :
438 :2012/05/21(月) 22:48:17.49
>440 [ この中の部分をいいたいです ] >447 シートのコピーをしたら [ この中の部分をいいたいです ] がついてしまいました。 これがつかないコピー方法があればアドバイス願いたいです。
>>448 [ この中の部分をいいたいです ] を置換で消せってば
>>448 シートCだけでなく、参照しているシートも同時にシートコピーすればいいのよ。
451 :
名無しさん@そうだ選挙にいこう :2012/05/22(火) 08:58:53.60
2010 windows7です さて=A1 とかですとそこの値を返しますが 例えば=Aは決まっていて数字はD2の値が3だったら=A3 D2の値が11だったら=A11みたいにやりたいのですが それは可能でしょうか? 任意で値が変わるようにしたいです。 お願いします。
=INDIRECT("A"&D2)
excel2007使ってます webクエリで外部データ取り込みしたのはいいんですが、取り込んだクラス内の画像は保存されません 保存、表示するにはどうすればいいですか?
http://www1.axfc.net/uploader/Sc/so/348061.xls このファイルにある複数の図を、それぞれに番号を振り
どのセル(違うシート)でも対応した番号を入力すると、入力したセルに図がコピーされる様にしたい
のですが、以前質問したとき図が用意できていなかったので図ありで再度質問
させていただきます。
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 始めたばかり
【4 VBAでの回答の可否】 可
よろしくお願いします
>>456 俺の知識では
Group 153を29、グループ化 1を30等、予め設定しておかないと無理な気がする
「セル上にある図形」
ってvbaで取得できないことはないと思うけど、しんどすぎる
>>456 適当に作ったらこんな感じ
俺だったらツールバーかモードレスなフォームにアイコン並べて
マウスクリックで図が貼り付けられるようにするけど
Private Sub Worksheet_Change(ByVal Target As Range)
With Worksheets("図リスト")
Dim s As Shape
For Each s In .Shapes
If .Cells(s.TopLeftCell.Row, 1).Text = Target.Text Then
s.Copy
ActiveSheet.Paste
End If
Next
End With
End Sub
【1 OSの種類 】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 セルB2、セルC2のいずれかにN(YES or NOのNOの頭文字N)を入力した場合、セルD2に 自動的にNが入る式を作りました。もちろん両方Yの場合はYです D2のIF関数: =IF(OR(B2="N",C2="N","N","Y") 問題なく出来たのですが、この数値を下向きにコピーした時に B2以降とC2以降のセルが空欄の場合もD2以降にYが反映されてしまいます BLANKの式を入れてないので当たり前ですが・・・ 四苦八苦してBLANKの式を入れようとしてもうまくいきません そこでお願いなのですが上記の式をベースに、B2以降 and/or C2以降が空欄の場合でも D2以降も空欄に出来るような式をお願いします。よろしくお願いします
質問です。 =IF(A1<>"A",IF(A1<>"B",IF(A1<>"C")…))) と延々続けないといけないんですが、数式が長すぎると弾かれてしまいます。 どのようにしたら、長い数式を入れる事が出来るのでしょうか?
>>460 やっつけだと
=IF(B2&C2="","",IF(OR(B2="N",C2="N"),"N","Y"))
ただこれYN意外の文字だとおかしくなるので
俺ならfalseの時は必ず""が帰るようにして後は&でくっつける
=IF(OR(B2="N",C2="N"),"N","")&IF(AND(B2="Y",C2="Y"),"Y","")
>>461 作業列か、条件をうまいことまとめる
ここに式ややりたいことを書いてくれれば手伝うよ
>>462 ありがとうございます。両方とも見るからに解決策です
後者の方が分かりやすいけど前者の式もいいですよね。
B2とC2の対象セルには入力制限でYとN以外入力不可としてますので
YN以外の文字が入ることはないです。前者かな?
明日会社でやってみるのが楽しみです
ありがとうございました。
>>463 >>462 の後者の式だと必ず全部の条件式が評価されちゃうから若干無駄なコストがかかる事になるね
素直に書くならこうなると思う
=IF(OR(B2="N",C2="N"),"N",IF(AND(B2="Y",C2="Y"),"Y",""))
>>462 作業日報の《休み》表示で、定休日、有給、半有給、振替、忌引、欠席、…を表示しようとしています。
セルA1が1なら"定休日" ,2なら"有給"、3なら"欠勤"…と続き、それ以外は、曜日を入れるようにしています。
最初は入っていたのですが、半有給だの、半振替だの、半欠勤だのと、どんどん追加され、数式に収まらなくなってしまいました。
>>464 B2またはC2がNの場合、対象セルはN、そうでない場合は再度次のIF関数で
Yがつかない場合にブランクにするということですか。これが頭に浮かんでも
全然数式に出来なかったんです。省エネで教科書のようなお手本な感じがします
明日試させていただきます。ありがとうございました
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 多少は 【4 VBAでの回答の可否】 可 質問させてください。どうにも方法がわからず、データ量が膨大で困っています。 シートA A | B | C 田中 | 10 | hoge 鈴木 | 10 | huga 斎藤 | 10 | hogehoge シートB A | B | C 田中 | 10 | apple 黒田 | 10 | mikan 斎藤 | 10 | apple このような名前の部分が共通するシートを統合して、指定した列のデータだけ統合することは出来ますか? 例えば 1.シートAの名前欄に無くて、シートBの名前欄に無い項目は追加する。 2.シートA、シートBの名前欄に共通してある項目のC列だけ統合する(文字列) A | B | C 田中 | 10 | hoge、apple 鈴木 | 10 | huga 黒田 | 10 | mikan 斎藤 | 10 | hogehoge、apple よろしくお願いします
すいません。文言がおかしかったです。 1.シートAの名前欄に無くて、シートBの名前欄にある項目は追加する。 2.シートA、シートBの名前欄が共通する場合は、C列だけ統合する(文字列) という指定です。よろしくお願いします。
>>466 ありがとうございました。
チャレンジしてみます。
教えてください 【1 OSの種類】 Mac OS X 10.6 【2 Excelのバージョン】 Excel2004 【3 VBAが使えるか】 少し 【4 VBAでの回答の可否】不可 文字入力は、セルをクリックして、そこに直接書いています。 そのとき、クリック後に最初の1文字を入力すると同時に、 セルの周囲に四角い白い枠が表示されます。 文字を処理するための領域のような四角で、 過去の文字入力の履歴を表示してくれたりします。 ここで質問です。 1. この四角は、何という名前の物でしょうか? これについて検索したいんですが、名前がわからずに困っています。 2. この四角を出ないようにしたい。 この四角は白色塗りつぶしなので、これが表示されると 上下左右のセルが隠れてしまい、内容が見えません。 この四角を消す方法はないでしょうか? (お節介で邪魔なんです) 以上です。 どうぞよろしくお願いします。
オートコンプリート?
>>474 わざわざサンプルまで作っていただいてありがとうございます!
不慣れなもので、理解するのに時間がかかるかもしれませんが、
教えていただいた関数を使ってやってみます。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 EXCELの置換に関するテクニックを教えて頂けますでしょうか。 EXCELで表を作って住所録を管理しているのですが、 ある列にこんな感じで、住んでる都道府県を記入しています。 「大阪府」 「東京都」 「愛知県」 「大阪府」 「愛知県」(以下略です。500件くらいあります) この列について、以下のことを一括で行う方法を教えていただけますでしょうか。 ・「大阪府」以外はすべてブランクにする。(大阪府はそのまま) ・「大阪府」と「東京都」以外はすべてブランクにする。(大阪府と東京都はそのまま) よろしくお願いします。
>>476 2007か2010って正規表現の置換って仕えたっけ?
使えるなら今後のためにも正規表現覚えておくとすげー楽
まぁ無理ならb列にfindで大阪府か東京が含まれていたらそれ、なければ""
で値で貼り付け
マクロの記述方法これだとうまくいかないんだが・・・エラーはでないのよね・・・なんでなんだぜ?教えてエロい人 Sub 参照() Set wb = Workbooks.Open("C:\Users\shushu\Desktop\予定表", ReadOnly:=True) Set ws = wb.Worksheets("5月") Worksheets("5月").Activate Dim Search As Range Set Search = Range("A1:L1").Find(Range("G1").Value) ActiveCell.Offset(1).Select ActiveCell.Resize(12).Select ActiveCell.Copy Destination:=Workbooks("参照").ActiveSheet.Range("A2:C13") wb.Close End Sub 一応俺がやりたいこと 他のファイルを開いて指定したセルの範囲の内容ををコピーして貼り付けたい。 「参照」っていうファイルのG1セルに明日の日付(=TODAY()+1)の入ったセルがある。 そのセルをもとに「予定表」というファイルのシート「5月」の明日の日付が載っているセルを検索する。 検索結果のセルのひとつしたのセルから11番目のセルまでをコピーする。 「参照」ファイルのA2からC13までの範囲に貼り付けたい。ながくてわかりづらいかも知れないがすまんこ。
Set wb2 = Workbooks.Open("C:\Users\a\Desktop\参照", ReadOnly:=True) ActiveCell.Copy Destination:=ActiveSheet.Range("A2:C13") wb.Close End Sub
activecellは単数形だから1セルしか選べないのに selection.resize(12).selectとか selection.copy … とかかな? せっかくオブジェクト変数にセットしてるのにworksheets("5月").activateとか wbはopenしてないのにcloseとか も、気にはなるけどこっちはまあいいや
>>479 ほんとに「コピー&ペースト」がしたいの?
値の代入ならこんな感じだけど、コピペにもすぐ書き換えられると思う
Sub 参照()
Dim 予定表 As Workbook
Set 予定表 = Workbooks.Open("予定表.xls", ReadOnly:=True)
Dim 予定表の5月のシート As Worksheet
Set 予定表の5月のシート = 予定表.Worksheets("5月")
Dim 参照のシート As Worksheet
Set 参照のシート = Workbooks("参照.xls").Worksheets("シート名わかんないさ")
Dim 検索したセル As Range
Set 検索したセル = 予定表の5月のシート.Range("A1:L1").Find(what:=参照のシート.Range("G1").Value, LookIn:=xlValues)
If Not (検索したセル Is Nothing) Then
Dim 値代入用変数 As Variant
値代入用変数 = 検索したセル.Offset(1).Resize(12)
参照のシート.Range("A2:C13") = 値代入用変数
End If
予定表.Close
End Sub
484 :
名無しさん@そうだ選挙にいこう :2012/05/24(木) 14:43:07.85
Excel2007です! 日付データyyyy/mm/ddをyyyymmの数字に 文字データのyyyymmを数字に それぞれ変換するにはどうすればいいのでしょうか?
>>484 前者
=TEXT(A1,"yyyymm")
後者。日付けしていないのでとりあえず15日にしてる
=DATE(LEFT(B1,4),RIGHT(B1,2),15)
>>486 あ、VALUETIMEとかもありましたね。
すまんかった
488 :
名無しさん@そうだ選挙にいこう :2012/05/24(木) 15:17:40.71
みなさんありがとうございます。 前者は元が日付データではなく頭に'の文字データでした。
>>488 ェー
=TEXT(VALUE(A1),"yyyymm")
490 :
名無しさん@そうだ選挙にいこう :2012/05/24(木) 15:43:08.18
491 :
名無しさん@そうだ選挙にいこう :2012/05/24(木) 22:42:20.27
492 :
491 :2012/05/24(木) 22:43:12.70
連投すみません。passはelfです。
>>491 積み上げ式の横棒グラフにすればいいと思うけど?
条件付き書式にて、セルが式の場合を条件にすることはできますか。 「指定の価を含む」→「特定の文字列」で「=」を設定しても反応しませんでした。
>>495 素早い回答ありがとうございます。できました。
497 :
名無しさん@そうだ選挙にいこう :2012/05/25(金) 16:17:29.37
2010です。 7を使っています。 Hの列に数字があってアットランダムに5.4.3とかあったとします。 例えば5が何個あるかとかはcountifで個数を出せますが、 Iの列にも5.6.8とかあってH列は4、I列は3と同じ行に4と3がある組み合わせの 個数を調べるにはどうすればいいでしょうか?
VLOOKUP覚えたてで喜んで使ってるところなんですが 例えば 4 x 5 y 6 z と並んでいるところ、「4」を参照して対応する「x」のひとつ下である「y」を返す ってのはどうやればいいんでしょうか?
>>500 あんまりやりたいことの意味がわからないけど
「4」に「1」を足せばいいんじゃない?
>>500 4がA1、xがB1という表として
=INDEX(B:B,(MATCH(4,A:A,0)+1))
vlookupだけだとちと辛い。
indexとmatchの組み合わせでも同じことができるんbんだ。indexmatchでぐぐれ。
>>501 エスパー失格だな・・・これはかっぱ検定並なので別に落ち込まずとも良い
てっきりVLOOKUPでのやり方を質問してるんだと思ったよ
>>501 vlookupだと、4に1足す方法で出来るんでしょうか?
>>502 INDEXMATCHは知りませんでした。ぐぐってみます。
無理っしょ。多分456とつながてもいない
繋がってんのかよw 必ず連番なら、C2に4が入ってるとして =VLOOKUP(C2+1,A1:B3,2,0) こんな感じだなあ
すみませんexcel2003を使っているんですが 4桁出力と5桁出力のデータがあり 両方同じデータなのにたとえば「ABCD」と出るものと 「ABCD 」とスペース付きで出るものとあります VLOOKUP等の関数を使う際にはこれまでずっと =VLOOKUP($A2&" ",Sheet1!$A:$D,4,0) =VLOOKUP(TRIM($A2),Sheet2!$A:$D,4,0) のようにして問題なくやってきていたのですが 今日COUNTIFを使おうと思い今までの経験から =COUNTIF(A:A,A2&" ") や =COUNTIF(A:A,TRIM(A2)) としてもうまく数えてくれません これは、こういうものなんでしょうか?COUNTIFの仕様というレベルの話ですか?
>>507 > =COUNTIF(A:A,A2&" ") や =COUNTIF(A:A,TRIM(A2))
試してみたけど2つとも問題なく動いたよ
それとも、「ABCD」の件数と「ABCD 」の件数の合計を求めたいの?
509 :
名無しさん@そうだ選挙にいこう :2012/05/26(土) 00:21:07.05
下記のコードをsheet2に記述して走らせると If strAddress = r.Address Then この部分でエラーがでてしまい、うまくいきません。 正常に作動するにはどうすればいいのかご教授願います。 また別のシートにあるマクロをCallすることはできないのですか? 初心者なのでこの質問の仕方であっているのかも分からないですが どなたかよろしくお願いします。
510 :
名無しさん@そうだ選挙にいこう :2012/05/26(土) 00:21:47.68
Sub Search() Dim lngYLine As Long Dim intXLine As Integer Dim objFind As Object Dim strAddress As String Set objFind = Worksheets("Sheet1").Cells.Find("りんご") If Not objFind Is Nothing Then strAddress = objFind.Address Do While Not objFind Is Nothing lngYLine = objFind.Cells.Row intXLine = objFind.Cells.Column MsgBox "りんごは、" + CStr(lngYLine) + "行目の" _ + CStr(intXLine) + "列目にあります" Set objFind = Cells.FindNext(objFind) If strAddress = objFind.Address Then Exit Do End If Loop Else MsgBox "見つかりませんでした" End If End Sub
511 :
名無しさん@そうだ選挙にいこう :2012/05/26(土) 00:23:16.89
× If strAddress = r.Address Then ○ If strAddress = objFind.Address Then でした
>>509 objFindがNothingになってるんじゃないの?
ウォッチウィンドウで変数の値を確認しながら
ステップ実行してみたら分かりやすいと思うよ
FindNextがSheet2を探しているだろう点
>>509 >また別のシートにあるマクロをCallすることはできないのですか?
Call Sheet1.foo(bar)
515 :
名無しさん@そうだ選挙にいこう :2012/05/26(土) 03:01:48.92
>>508 いえ、「ABCD」を引数にして「ABCD 」の数を調べようとして
=COUNTIF(A:A,A2&" ")
としたりしてもうまくいかなかったという話です
Cntl+Fで検索するとき、入力を英数字モードにするにはどうすればいいの? Windows7 Excel2010
>>516 今やったけどできた。半角全角スペースの差、もしくは文字コードの違いじゃねか
>>517 半角/全角キー
もしくは文字入力してF10押せば(・∀・)イイ!!
>>516 問題なく動くけどな
うまくいかないブックをどっかにアップしてみて
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 勉強中です 【4 VBAでの回答の可否】 可 csvファイルを読み込んで、必要な列だけ抜き出してリストシートに追記ペーストしたいと思っています。 csvの読み込みまでは検索して下記のコードで動くのですが、いらない列の削除のところで 「引数の型が一致しません。または不正なプロパティ〜」のエラーがでます。 削除のところの記述は、マクロの記録と解説サイトを見て書きました。 エラーメッセージ内容や、まとめて列削除等で検索しましたが、解決できませんでした。 ヒントを頂けませんでしょうか? Private Sub リスト読込_Click() Set wsA = Worksheets("作業シート") Set wsB = Worksheets("リスト") Dim FileType, Prompt As String Dim FileNamePath As Variant Dim textline, csvline() As String Dim Rowcnt, ColumNum As Integer Dim ch1 As Long Dim seru As Range FileType = "CSV ファイル (*.csv),*.csv" Prompt = "CSV File を選択してください" FileNamePath = Application.GetOpenFilename(FileType, , Prompt) If FileNamePath = False Then End End If
524 :
523 :2012/05/26(土) 11:54:07.58
ch1 = FreeFile Open FileNamePath For Input As #ch1 On Error GoTo CloseFile Rowcnt = 1 Do While Not EOF(ch1) Line Input #ch1, textline textline = Replace(textline, """", "") csvline() = Split(textline, ",") wsA.Range(wsA.Cells(Rowcnt, 1), wsA.Cells(Rowcnt, UBound(csvline()) + 1)) = csvline() Rowcnt = Rowcnt + 1 Loop CloseFile: Close #ch1 wsA.Range(Columns(3), Columns(4), Columns(5), Columns(7), Columns(8), Columns(9), Columns(10), _ Columns(11), Columns(12), Columns(14), Columns(15), Columns(17), Columns(18), Columns(19), Columns(20), _ Columns(21), Columns(23), Columns(24), Columns(25)).Select Selection.Delete Shift:=xlToLeft Dim i As Long Dim p As Long i = wsA.Cells(Rows.Count, 1).End(xlUp).Row p = wsB.Cells(Rows.Count, 1).End(xlUp).Row wsA.Range(Cells(1, 1), Cells(i, 9)).Copy wsB.Cells(p + 1, 1).Paste End Sub
>wsA.Range(Columns(3), Columns(4), Columns(5), Columns(7), Columns(8), … >Columns(21), Columns(23), Columns(24), Columns(25)).Select wsA.Range("C:Y").select
526 :
523 :2012/05/26(土) 12:30:11.58
>>525 レスありがとうございます。
必要な列が飛び飛びなので、下記のように書いてみましたが
やはり同じエラーがでます。
wsA.Range("C:E", "G:L", "N:O", "Q:Y").Select
他にもおかしいところがあるのでしょうか
>>526 wsa.range("C:E,G:L,N:O,Q:Y").select
>>527 教えていただいた表記に加えて、前の行に
wsA.selectを入れましたら、そこまで動きました!
次はコピーの段階で違うエラーが出たのでまた調べてみます。
すっきりした書き方を教えて下さってありがとうございました。
もうすぐ出勤ですので、取り急ぎお礼まで。
>>526 wsAがactiveとはかぎらない?
wsa.range("C:E,G:L,N:O,Q:Y").Delete Shift:=xlToLeft
最後のところも
wsA.Range(wsaCells(1, 1), wsa.Cells(i, 9)).Copy wsB.Cells(p + 1, 1)
Selectする必要があるならSelectしなければならないし、 Selectする必要がないならわざわざSelectしなくていい
シート操作の[移動またはコピー]で、(新しいブック)を移動先に指定するという作業で、お尋ねいたします。 毎日の作業で、ブックにある複数のシートすべてを、それぞれ異なるブックにコピーしております。 シートをひとつずつ選択して処理しているわけですが、毎日かなりの時間を取られて苦労しておりますので、現在行っている以外の方法があれば、お教えいただけませんか? もし・・・それぞれの新規ブックが、各シートの特定セル内の文字列を名前として自動保存されるなんてことができたらさらにうれしいです。 無理なら無理!とひとこと、お願いいたします。 【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】 Excel 2010 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 可
>>531 たたき台として
Sub test()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
sh.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=sh.Range("a1").Value
ActiveWorkbook.Close
Application.DisplayAlerts = True
Next
End Sub
おお!ありがとうございます。 マクロを実行すると、複数のシートがそれぞれ、そのシート名と同じブック名にて、親ブックと同じ場所に保存されますね! 他力本願で恐縮ですが、あと一歩! よろしくお願いいたします。 (チカラがないのでこちらにお頼み申している次第で恐縮です)
>>533 あとはご自分で工夫してね
Sub test2()
Dim sh As Worksheet
Dim myPath As String
MsgBox "A1セルの名前で保存だよ!"
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "保存先フォルダを選択"
If .Show = False Then Exit Sub
myPath = .SelectedItems(1)
End With
Application.DisplayAlerts = False
For Each sh In ThisWorkbook.Worksheets
If sh.Range("a1").Value <> "" Then
sh.Copy
ActiveWorkbook.SaveAs Filename:=myPath & "\" & sh.Range("a1").Value
ActiveWorkbook.Close
End If
Next
Application.DisplayAlerts = True
End Sub
536 :
531 :2012/05/26(土) 20:11:28.96
537 :
531 :2012/05/26(土) 20:19:59.74
>>535 工夫中です。ありがとうございます!
今現在は、”このブックでマクロが使用できないか、または・・・”というメッセージが出ている状況です。
すべてのマクロを有効にする、と、・・・アクセスを信頼するにチェックが入り、xlsmで保存しています。
他の原因をあたってみます。
538 :
523 :2012/05/27(日) 01:16:32.07
>>529 >>530 頂いたアドバイスをもとにselectを入れ、rangeも書き直しましたらできました!
レス下さった方々、本当にありがとうございました。
今更ながらに
>>523 に関わる便乗質問なんだけど、
VBAでCSVファイルを読み込むのって普通に Workbooks.open で出来るよね?
なんでわざわざ FreeFile だの lineInput だのとややこしい処理をするの?
俺だったら
>>523 はこう書くよ。
Sub test()
Dim FileType As String
Dim Prompt As String
Dim FileNamePath As Variant
Dim ws As Worksheet
Dim wb As Workbook
Dim p As Long
Set ws = ThisWorkbook.Worksheets("リスト")
FileType = "CSV ファイル (*.csv),*.csv"
Prompt = "CSV File を選択してください"
FileNamePath = Application.GetOpenFilename(FileType, , Prompt)
If FileNamePath = False Then End
Set wb = Workbooks.Open(Filename:=FileNamePath)
With wb.Sheets(1)
.UsedRange.Replace what:="""", replacement:="", lookat:=xlPart, matchbyte:=False
.Range("C:E,G:L,N:O,Q:Y").Delete Shift:=xlToLeft
p = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
.UsedRange.Resize(, 9).Copy ws.Cells(p + 1, 1)
End With
wb.Close SaveChanges:=False
End Sub
>>539 VBA勉強中って書いてあるから色んなこと試してるんじゃないかな
もしくはWorkbooks.openだと正しく読み込めないフォーマットなんだろう
よくあるのは後者
Workbooks.openだとフォーマットが変になることがたまによくあるよな だるい
俺もだるい
給与明細を作っています。 住民税を氏名(縦)と月(横)でテーブルにして、給与明細の住民税に入れ込みたいのですが、テーブル使用するの初めてで、使い方がサッパリ解りません。 住民税テーブルは作ったのですが、給与明細シートから、どういう関数を使えば、そのテーブルの数値を抽出できるんでしょうか?
>>543 vlookup
と言いたいが、もうvectorとかに落ちてる奴を使ったほうが早い気もする
>>544 VLOOKUPを調べてみました。
同じシートの左端にデータ入力するんですね。
別シートからは無理なんでしょうか?
VECTORはありませんでした(´;ω;`)
>>547 あ、ありました。
失礼しました。
これで出来そうです。
助かりましたm(__)m
>>546 indexとかmatch使えば右側の文字を参照することもできるけど、複雑化するというかごっちゃになるからやめといたほうがいいと思う。
作ってるってことは1から作ってるんだと思うから、Vlookupに即した方法で作っちゃうのが一番かと
551 :
名無しさん@そうだ選挙にいこう :2012/05/27(日) 22:11:29.39
xmlを作ろうとしてツールで実行中なのですが ユーザー定義型は定義されていません。 と出てコンパイルエラーになってしまいます。 こういう場合はどうしたら良いのでしょうか?
セルの中に2つの関数を入れたい 68秒をセルに打ち込んだら 1分8秒みたいに表示させるにはどうしたらいい?
それは関数っていうより、書式設定の問題では
>>552 2つの質問を同時に解決してみた
IFとTEXTの2つの関数を1つのセルの中に入れて、68を1分8秒で表示する
=IF(A1<>"",TEXT(A1/86400,"m分s秒"),"")
>>551 コンパイルエラーの原因を取り除いて再度コンパイルしてみては?
556 :
名無しさん@そうだ選挙にいこう :2012/05/27(日) 23:00:12.70
>
>>555 ユーザー定義型ってなんのことですか?
>>556 ヘルプで「Typeステートメント」について見てみたらいい
>>556 ユーザー定義関数かユーザー定義書式
どういう状態で起こったかわからないとこちらもわからない
559 :
名無しさん@そうだ選挙にいこう :2012/05/28(月) 01:49:53.61
>>557 ありがとうございます
朝起きたら見てみます
>>558 書式の定義がされていないってことかも知れません。
エンコードは2003のxmlのアドインツールをダウンロードして実行しました。
自動でやってくれるとのことでしたがところどころ自分で設定が必要なのでしょうか?
そうなるとヴィジュアルベーシックは無知ですので手に負えないかもしれません(?_?)
>>554 念のためこうしておいた方が良いかも。老婆心ながら。
=IF(A1<>"",TEXT(A1/86400,"[m]分s秒"),"")
>>551 型のところでタイプミスしてるわ、それ
もう一度よく見なおして
dim A as innteger
みたいな
もしくはコピーしてきたマクロなら
>>557 の可能性も
562 :
名無しさん@そうだ選挙にいこう :2012/05/28(月) 21:46:59.89
山田 5 5 6 田中 6 5 7 鈴木 5 5 7 佐藤 小栗 溝端 上のように名前、点数が三列のように並んでいるデータがあるのですが以下のように並べるのに省力的な方法を教えていただけないでしょうか? 山田 5 5 6 田中6 5 4 . . .
>>562 誤って途中で書き込みボタンを押してしまったんだよね?
564 :
名無しさん@そうだ選挙にいこう :2012/05/28(月) 22:03:34.23
566 :
名無しさん@そうだ選挙にいこう :2012/05/28(月) 22:10:16.75
>>565 お手数かけます。ありがとうございます。
点数は一つずつセル入ってます。なので三列です。オートフィルで一括でこれは可能なのでしょうか?
>>566 山田 |5 5 6| 田中 |6 5 7 |鈴木 |5 5 7
じゃなくて、
山田 5 5 6| 田中 6 5 7 |鈴木 5 5 7
ってことなら俺には無理だ
半角数字しか入ってないならゴリ押しでいけそうだけど、この表記を見る限りだと全角数字も混ざってるだろうから判別しなきゃだし
素直にコピペしたほうが早いと思うよ
568 :
名無しさん@そうだ選挙にいこう :2012/05/28(月) 22:51:54.18
>>567 説明下手ですいません。
数字は5|5|6みたいに分かれているという意味です
>>562 佐藤 小栗
溝端
ってどうなってんの?横は三人分?
EXCEL2007です。 セルA1とB1がともに0の場合、C1に10という数字が入るように 関数を設定したいのですが、この場合どのセルに、どのような 関数式を設定すればいいのですか?
>>562 並べ替えするまえに
作業セル=優先1*100+優先2*10+優先3
の数値を作るだけではだめ?
>>570 c1=if(a1=0,if(b1=0,10,""),"")
a1=0とb1=0をandで繋げてもいい
>570 c1=IF(AND(A1=0,B1=0),10,"") 空白でも10になってしまうので、ソレを避けるなら c1=IF(AND(NOT(ISBLANK(A1)),NOT(ISBLANK(B1)),A1=0,B1=0),10,"")
>>570 です。
A1、[B1がともに0でなければ一定の計算式の結果を
C1に代わりに入れたいのですが可能でしょうか?
>>574 できるが、
>>1 ▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
とりあえずどんな式かまとめて
>>574 >>571-572 の式の中の10のところにあなたが入れたいという式に置き換えてご自分で検証してみてください。
そういう思考は可能ですか?
スレ違いになると思いますが、ここのスレの人は頭がいいと思ってお聞きします。 糸へんに 思 の漢字の十を取ってタを入れたら何て読みますか? 糸思子さんっていうらしい(十がタ)
入力時の文字数の制限は入力規則でLENを使うと思うのですが すでにあるデータをコピペした際に、制限文字数でカットしてしまうってのは どうやってやればいいのでしょうか?
↑LEFTでできますたthx
まやかしの地_方_分_権 テレビで韓国ドラマばかり流れても、見なければいいだけなので大きな問題はありません。 しかし地方分権で警察組織、権力を地方の犯罪については国から委譲し 採用条件、組織等も地方で決めれるようにたらどうなるでしょう。 今のテレビ局が数十年前に在日枠を受け入れて、今や完全に在日朝鮮人に乗っ取られ 在日の都合の悪い報道は一切しなくなり、反日政党民主党が与党になったように 地方分権された警察組織が数十年後に、反日感情を持った外国人に支配されたらどうなるでしょう。 在日の犯罪は取り締まられず、日本人の犯罪は過大な罰を与えられたりしないと言い切れるでしょうか。 維新に近い、みんなの党は道州裁判所を設ける案もだしてます。 地域の声が、声の大きい外国人の声に取って変わるかもしれません。 橋下氏(維新)の大阪都構想しかり 中京圏の大村氏、河村氏も地域政党を作って国政で候補者をだすみたいです。 まだ時間はあります、一度じっくり検討したほうが良いかもしれません。
スレチかな... XP,Excel2003 印刷の『部単位で印刷する』のチェックをデフォルトでオフにしたい。 レジストリ操作かなんかでなんとかならないかな。 だめなら、VBAで『印刷』メニューを書き換えるが、 その前に誰か簡単な方法しってれば教えてほしいんだが...
EXCEL2000 XPのときは Sub Macro1() Application.ActivePrinter = "FAX on Ne00:" ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "FAX on Ne00:" End Sub みたいな感じでマクロからFAXを送れた(送信ダイアログを出せた)のですが win7にしたらできなくなりました。 どこを直せばよいでしょうか?
>>586 残念ながらExcel2000はWindows7には対応していません。
>>587 あいにくFax機能のことは知らないから
>>586 には答えられないが
うちのWin7Pro64bitのPCでExcel2000使えてるよ?
MSがサポートしてないだけで普通に使えるっしょ
591 :
エクセル :2012/05/30(水) 18:47:34.36
エクセルで外字呼び出すにはどうしたらいいんですか?
【1 OSの種類 .】 WindowsXP SP3 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 以下のようなEXCELの集計シートを作成しています。 A1 B1 C1 D1→A1とB1は任意の値。C1はB1÷A1。D1はC1の4倍(最大で4) A2 B2 C2 D2→A1〜C1と同様。D2はC2の3倍(最大で3) A3 B3 C3 D3→A1〜C1と同様。D3はC3の3倍(最大で3) D4→D1〜D3の和。(最大で10) その際、以下の条件を設定したいと考えています。 ・A1が0なら、D1は0,D4には値10が入る。 この時、A2とA3、B2、B3には何も入りません。(C3,C4,D2,D3も0です) ただし、A1≠0なら、上記の通りC1の4倍が入り、 D4にはD1〜D3の和が入る ・A3が0なら、D3には値3が入る。 ただし、A1が0でD4に値10が入る場合、D3には0が入る。 A3≠0なら、上記の通りC3の3倍が入る。 D4にはD1〜D3の和が入る この時、D1、D3、D4にはどのように式を設定すればいいでしょうか。 よろしくお願いいたします。
>>592 その条件だと循環参照になるから作業用セルを設けないと無理だと思う
循環参照が起こらないように作業用セルにD1〜D3の和を入れておいて
D4は作業用セルを参照するか固定値を設定するか条件によって切り替えればいい
なんでA2〜D2についての条件が書いてないの?
>>592 書いてある日本語をそのまま数式に当てはめた
D1=IF(A1=0,0,IF(C1*4>4,4,C1*4))
D2=IF(C2*3>3,3,C2*3)
D3=IF(A1=0,0,IF(A3=0,3,IF(C3*3>3,3,C3*3)))
D4=IF(A1=0,10,SUM(D1:D3))
>>594 すまない
列ごとに3つの項目を集計していて、A1がゼロならA2〜D2、A3〜D3は入力不要、
1列目と2列目が入っていても、3列目はゼロの場合があるという条件なんだ。
わかりにくくて申し訳ない
597 :
594 :2012/05/30(水) 21:51:24.03
>>596 いや、少なくともA2=0のときC2はどうなるのかが書いてないとだめじゃない?
それにA1〜D1やA3〜D3の条件を鑑みるに
たぶんD2についても条件提示が必要になりそうな気もする。
>>596 何度も済まない。
条件を追加する。
・A2が入力されるとき、値は必ず0ではない
・A2≧B2なので、B2÷A2は最大で1。
これはA1とB1、A3とB3(A列に0以外が入る時)も同様。
そのため、D2はC1の3倍で最大で値は3。
・A1が0の時、B2も必ず0。かつ2列目、3列目は入力されない。
本当申し訳ない。
>>584 ありがとう。ふさこさんか。助かったw糸へんで調べていたけどなかなか無かったよ。
600 :
594 :2012/05/31(木) 06:25:39.35
>>592 まず最初にエクセルでセルを指定する上でのお約束についてなんだけど
例えば「A1」といったらA列1行ってことなので、
AとかBとかは「列」だけど、"1"とか"2"は「行」というんだよね
だから他人に説明するときには
1列目2列目という書き方は紛らわしいからやめたほうが良いと思うよ
で、592〜598で書かれた条件を改めて整理すると以下のようになる
C1=IF(A1=0,,B1/A1)
D1=IF(A1=0,,C1*4)
C2=IF(OR(A1=0,A2=0),,B2/A2)
D2=IF(A2=0,,C2*3)
C3=IF(OR(A1=0,A2=0,A3=0),,B3/A3)
D3=IF(A3=0,,C3*3)
D4=IF(A1=0,10,SUM(D1:D3))
ただし、最初に任意といっておきながら
A、Bの数値の間にA≧Bという条件が後付で存在しているので、
それもチェックするなら
C1=IF(A1=0,,IF(B1>A1,1,B1/A1))
D1=IF(A1=0,,C1*4)
C2=IF(OR(A1=0,A2=0),,IF(B2>A2,1,B2/A2))
D2=IF(A2=0,,C2*3)
C3=IF(OR(A1=0,A2=0,A3=0),,IF(B3>A3,1,B3/A3))
D3=IF(A3=0,,C3*3)
D4=IF(A1=0,10,SUM(D1:D3))
となる。
あるいは
>>595 氏のようにD列でチェックしても可だけど。
601 :
594 :2012/05/31(木) 06:31:40.91
まちがえた C1〜C3でA列のチェックしてるから D1〜D3ではA列のチェック不要だ D1=C1*4 D2=C2*3 D3=C3*3 でOKだった
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 A1A2セルは入力欄です A1に入力したセルの最後の文字が「お」の時 A2に入力したセルに「さしすせそ」を追加してA2セルに表示されるというのを作りたいのですがうまくいきません わかりづらいと思うので例↓ A1にあいうえおと入力 A2にかきくけこと入力されたら A2セルにかきくけこさしすせそと表示 すみませんお願いします
603 :
594 :2012/05/31(木) 07:09:39.24
連投ごめん
まだ見落としがあった
>>592 >・A3が0なら、D3には値3が入る。
この条件が良く分からないのだけど
A3に値が入力されないとき(A3="")とA3=0は意味が違うの?
A3=""とA3=0も同じ意味であるなら、
D3=IF(A3=0,3,C3*3)
A3=""とA3=0が違う意味なら
D3=IF(ISBLANK(A3),,IF(A3=0,3,C3*3))
になるよ
それと、A2=0の時にはこれと同様にD2=3になるの?
D2も同じ条件なら、
D2=IF(A2=0,3,C2*3)
または
D2=IF(ISBLANK(A2),,IF(A2=0,3,C2*3))
だね
>>602 If Target.Address = "$A$1" Then
Target.Offset(1).NumberFormatLocal = IIf(Right(Target.Text, 1) = "お", "@""さしすせそ""", "G/標準")
End If
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 おk 会社でWindows Liveメールを使ってます。 毎日、取引先にエクセルのブックをメール添付で送ってます。 マクロボタンをクリックすると、特定のシート(例えばSheet1)だけを 添付して送信することはできますか?
VBAでの回答希望です。 選択しているセルが、印刷したときに何ページ目になるかを知りたいです。 選択しているセルを含むページのみ印刷することが目的です。 よろしくお願いします。 excel2003
>>606 HPageBreaksをヘルプで調べてみましょう
608 :
606 :2012/05/31(木) 22:07:34.19
>>607 お断りしましょう。
知ってたら教えてくれよ。
知らなかったら黙ってて。
また釣られちゃった(ノ∀`)テヘ
610 :
606 :2012/05/31(木) 22:16:39.26
>>607 ありがとうございます。
HPageBreaksのヘルプをみて、これだ!と一瞬思ったのですが甘かったです。
使えそうな感じはするのですが、どう使えばよいか???
もう少しヒントもらえますか。
お断りしましょう
612 :
606 :2012/05/31(木) 22:28:25.46
ヘルプの使用例の、印刷領域での改ページ数というのが選択セルのページじゃありませんよね? もう少し考えてみます。 For Each pb in Worksheets(1).HPageBreaks If pb.Extent = xlPageBreakFull Then cFull = cFull + 1 Else cPartial = cPartial + 1 End IfNext MsgBox cFull & " :全画面表示での改ページ数" & cPartial & _ ":印刷領域での改ページ数"
614 :
606 :2012/06/01(金) 07:52:11.72
>>613 ありがとうございます。これから会社行くので、帰ってから調べてみます。
シートの左はじに行番号がありますが、 いつのまにかさらに左に1234567と番号のついたエリアが出現しました。 これを消すにはどうしたらいいでしょうか?Excel2000
アウトライン?ってやつをクリアしたら消えましたが、なんで出てきたのかしらん・・
>>616 元々アウトラインが作成されていてそれが非表示に設定されていたんじゃない?
[Ctrl]+[8]で表示/非表示をトグル切り替え出来るので偶然表示してしまったのかもね
もしかするとクリアしちゃまずかったかもね
>>619 早速ありがとうございます!
ただ、
>>619 さんの図は理想通りなんですが、こっちでどうしても出来ません・・・
「シート1に入力した物をシート2で読み取って並べ直す」って感じの物だと思うんですが、
何が悪いか理解したいのでこの関数のを意味を少し具体的に書いてもらえないでしょうか・・・
621 :
618 :2012/06/02(土) 05:09:20.20
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 BookA.xlsmの中の1つのシートXをカレントフォルダに名前を付けて保存・読取専用にしたい。 どう記述したらいいかコードを教えてください。 ファイル名は毎回違うので フルパス = パス & ファイル名 & ".xlsx" としています。
ひつようなもの全部つくっちゃったから、ぜんぜんVBAとかいじってない。
>>624 おー!
できたできた。
ありがとうございます。
626 :
606 :2012/06/02(土) 10:26:22.68
>>620 A2の数値が1個以上シート1のB列にあればA2を表示 してるだけ
並べかえではない
628 :
618 :2012/06/02(土) 14:17:10.02
>>627 ああー!出来ました!!!
この関数はあくまで、A列の時刻と自分と同じシート1の座標の数値を比較する物だったんですね
こう、どこか空いてるセルに一つ作れば全体を判定して並び替えるみたいな
イメージだったので何もないセルに入力しても空白のままで困ってましたw
こういうやり方があるんですね・・・ほんとお世話になりました!
あぁ、オートフィルっていってなかったね、ごめん やっぱ言わないとわからないもんかなー
630 :
618 :2012/06/02(土) 14:43:45.58
>>629 関数の意味そのものが分からなかったら、全体を並び替えて〜っていうイメージが
先行してしまうのでちょっとキツい気がします。
でも関数とか勉強するのためらってた自分としては調べるきっかけにできたしで
逆にありがたかったです。
ちなみに何に使うか簡単に言うと、複数の地点にあるセンサーの反応した時間を調べて
それでどういう状態の時に反応が増えたりするか、パターンが無いかを調べるための物です。
お店が「雨の日でもこの時間帯は客が多いな〜」みたいなのを調べるのと同じ感じです。
631 :
605 :2012/06/02(土) 17:55:36.27
ねぇねぇ、誰かレスしてちょ!
>>605 Windows Live メールのバージョンは何?
>添付して送信することはできますか?
この「添付」ってのは具体的にどういう状態の事を言ってるの?
ファイル添付の事ではないのよね?
>>631 Outlookだから別人?
548 名前:デフォルトの名無しさん[] 投稿日:2012/05/31(木) 21:18:36.27
毎日、取引先にエクセルのブックをメール添付で送ってます。
マクロボタンをクリックすると、特定のシート(例えばSheet1)だけを
添付して送信することはできますか?
ついでにテンプレートとなる本文と件名と、とくていの部分(日付とか)だけはその日用に変えておくることはExcelVBAできますか?
メールはOutlookで下書きを書いて、送信ボタンを押す直前までが希望です
634 :
名無しさん@そうだ選挙にいこう :2012/06/02(土) 18:58:51.79
うちのおいじいちゃんが1898年生まれで Excelのシリアル値の範囲外ということでブーブー文句を言ってるんですが 1900年以前でもシリアル値を対応させる方法ってある?
想定外だな シリアル値を使う命令を使わないで日付処理する
つか、1898年生まれの人の孫だったら
>>634 はいったい何歳なんだろ?
普通に考えたら50〜60歳過ぎてそうだが、
いい年した大人の書き込みにはとても見えない
歴史研究とかしてたら過去の日付がシリアルとして扱えないのは不便だろうね どうやって管理してるんだか
638 :
605 :2012/06/02(土) 21:28:55.83
>>633 全くの別人ですね。
それ、どこからの引用ですか?
640 :
605 :2012/06/02(土) 21:42:50.97
>>638 探して頂きありがとうございます。
でも、私ではありません。
641 :
605 :2012/06/02(土) 21:43:50.45
ごめんなさい。
アンカーを間違えました。
>>639 探して頂きありがとうございます。
でも、私ではありません。
642 :
605 :2012/06/02(土) 21:54:08.13
>>632 自宅では使ってないので、会社に行かないとバージョンまでは分かりません。
「添付」は、Sheet1だけを「明細表0601.xls」として、添付ファイルで
送っています。
Sheets(Array("Sheet1")).Copy
ActiveWorkbook.SaveAs "C:\temp\明細表" & Format(Date, "mmdd") & ".xls"
で保存すればいいのかなと思ってますが。
19世紀生まれの存命男性は世界で二人とか
>>642 こんな感じでできない?
win7, excel2010で環境違うけど、一応こちらではできてる
Sheets("Sheet1").Copy
ActiveWorkbook.SaveAs "C:\temp\明細表" & Format(Date, "mmdd") & ".xls"
ActiveWorkbook.SendMail Recipients:="********@*******", Subject:="hoge"
645 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 15:22:05.00
PC初心者板で返答無かったためここで質問させていただきます。
【1 OSの種類 .】 WindowsVista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 VBAがどんなものかよくわかりません
【4 VBAでの回答の可否】 分かりません
http://uproda11.2ch-library.com/351296dxv/11351296.jpg この表のAさんとCさんの送受信履歴を参考にそれぞれB、D、E、F、G、H、I、J、Kさんは
AさんとCさんだったらどちらと仲がいいかを表したいんですがどうすればいいんですか?
たとえばAさんはGさんから一通も受信をしておらず送信も一通もしていないので友達とはいえず
CさんはGさんから1通受け取っており送信も3通しているためGさんはAさんより
Cさんのほうが仲がいいとわかるんですがそれを関数でどう表したらいいか分かりません。
どのようにすればいいか教えて下さい。
>>645 ルールを明確にしないと関数で表現できないよ
送信と受信は同等と考えて良いの?
単純に足し算し、合計が多いほうが仲がいいと判断してよいの?
例えば、Eさんは、Aさんに6回も送って返信0回
でもCさには1回を送って受信は3回
この場合、どっちと仲がいいと判断するの?
送信は1ポイント、受信は3ポイントみたいなルールが欲しいよな
多分考えてないだろうと思って決め打ち回答 こういう時に限って追加条件が来る\(^o^)/ヤッター
送信回数、受診回数、送信と受信の対応回数の3つは最低限パラメータとして必要だろうな
652 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 16:17:06.99
>>647 すいませんもっと細かく説明するべきでした。
合計で判断するのではなくお互いがどれだけやりとりしてるかです。
例えば、Eさんは、Aさんに6回も送って返信0回
でもCさんには1回を送って受信は3回
この場合、どっちと仲がいいと判断するの?
この場合はCさんです。一方的に送る場合や受信する場合では親友と呼べる間柄ではないので・・・
単純に合計なら簡単なんですがそうじゃないので分からなくて困ってます。
まあExcelの質問でないのは確かだが、メールの内容はどうでもいいのかい 一方的にメール送信してきて、その都度うざいしねと返信する関係も仲がいいのかな
>>652 メール本文の文字数とかも重要かもしれん
絵文字の種類もかなり重要だと思う
この辺をもうちょっと詳しく説明して欲しい
>>652 親密度=Min(送信数, 受信数)とするしかないんじゃない
656 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 16:35:31.91
要するに送受信一回ずつで親密度1ってことか
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 タクシーの運賃のような階段状の計算について質問です。 A B 1 100 100 2 200 300 3 300 500 4 400 700 … … 15 250 B15 Aを走行時間、Bに料金と仮定します。 A15には別計算の計算結果が入ります。 250を超えない最大のA列であるA2と、それに対応したB2を 求めるためにB15に挿入するべき関数を教えて貰えないでしょうか。 VLOOKでは一致しない場合は弾かれ、IF式だと膨大になるので 何か良い関数があればご教授願います。
LOOKUP()
>>659 =VLOOKUP(VLOOKUP(A15,A1:A14,1,1),A1:B14,2,0)
lookupでいけたか =LOOKUP(A15,A1:A14,B1:B14) キモイ式を作ってしまった
>>662 すまん、これじゃ何でだめなの?教えて。
=VLOOKUP(A15,$A$1:$B$14,2,1)
>>660-665 皆様迅速なレスありがとうございました。
Vlookupの検索型も他に応用が利きそうなので参考にさせて頂きます。
667 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 17:22:13.60
>>658 ありがとうございます。
powerpointでなぜこの関数を使ったか理由を
文章でまとめて説明しなければいけないんですがどういう風にまとめればいいですかね?
670 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 17:38:30.24
>>668 そういうことではなくてなぜMIN関数を使ったかを知りたいんだ・・・
>>670 受信送信の少ない方の数字を選べばいい→min関数
これ以外に説明にしようがないと思う
672 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 19:28:56.57
よろしくおながいします 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 会計簿についてです。 学校の給食の会計で通帳管理は他の人が係のため、全16クラスを1つの通帳で管理しています。その後出納簿をA〜F列で作るのですが、それから1クラス 分だけの会計簿を作りたいのです。行は400前後で、指定したクラス名をたとえばS1に記入するとそのクラスの会計簿がT列以降に出てくるように できないでしょうか。昔ロータスの関数にはそのような機能を持った関数があったような気がしたのですがエクセルでは見当たらず困っています。 フィルターを使って他のシートに、貼り付ければいいのですが16クラスもあるので何とか関数かマクロでできないものかと思っています。 よろしくお願いします。 A B C D E F S T Y U V W A組 月 日 摘 要 受入額 払込額 残額 月 日 摘要 受入額 払込額 残額 4.13 4月分 A組 5000 5000 4.13 4月分 5000 5000 4.21 4月分 C組 3000 8000 4.21 4月払込 2000 3000 4.21 4月分 B組 6000 14000 5. 2 転入 1000 4000 4.21 4月払込 A組 2000 12000 4.25 4月払込 B組 2000 10000 4.26 4月分 D組 6000 16000 4.21 4月分 E組 1000 17000 5. 2 転入 A組 1000 18000 5. 2 4月分 C組 4000 22000
ピボットを使え
675 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 19:47:53.89
>>673 C列を基準に並び替えたら?
そうですね。今はそれでやってるんですが16クラス分だと
1時間くらいかかるのです。でもできたら、
一度に16クラス分を一括でまたは簡単にできる方法がないかと思っています。
>>674 ピボットは詳しくないのですが。ピボットだとどこに
何を配置したらいいかよくわからないのです。調べてみます。
676 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 19:48:14.18
>>673 C列を基準に並び替えたら?
そうですね。今はそれでやってるんですが16クラス分だと
1時間くらいかかるのです。でもできたら、
一度に16クラス分を一括でまたは簡単にできる方法がないかと思っています。
>>674 ピボットは詳しくないのですが。ピボットだとどこに
何を配置したらいいかよくわからないのです。調べてみます。
677 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 19:50:34.56
>>675 ,676
672です。書き込むを押したら確認画面なしにダイレクトに
書き込んでしまってあわててしまいました。ご免なさい
679 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 20:26:38.12
>>678 ありがとうございます。
イメージしてたのは、まさにこうな感じでした。
index match あたりを使うんじゃないかと思っていましたが、
今までVlookup で済ましていたので index、match関数になると
手が出ませんでした。本当に助かりました。感謝です。
681 :
名無しさん@そうだ選挙にいこう :2012/06/03(日) 20:46:36.84
>>680 残額の列は、修正して普通の会計簿の数式を入れます。
Y2には =W
Y3には =Y2+W3−X3 で以下コピーします。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 シート1のA1A2セルに入力するとその内容がシート2のA1B1セルに入力される、とここまではいいのですが シート1の入力した場所を消して新しくシート1のA1A2に入力するとシート2のA1B1の内容は消されず その下のA2B2に入力されるというのはできますか?
>>682 vbaじゃないと無理
vba worksheet_change
でぐぐれ
684 :
名無しさん@そうだ選挙にいこう :2012/06/04(月) 10:13:37.68
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 エクセルファイルの読み取りパスワードがわからなくなってファイルが開けないんです。 eup040とかありますが、総当たりだと何カ月もかかってしまうので、神の皆さま教えてください((+_+))
クリップボードがいっぱいになってこれ以上もてませんってメッセージがうざいんですがどうにかなりませんか
>>684 解除してやるからファイルをアップしろよ
>>684 oooはvbaのパスだけだったかな
一度使ってみて
690 :
名無しさん@そうだ選挙にいこう :2012/06/04(月) 20:52:04.57
平成は今年で終わりですが そのあと何になりますか? 「成化元年(仮)」みたいに聞いたこともない元号になりますか?
691 :
名無しさん@そうだ選挙にいこう :2012/06/04(月) 20:58:42.22
そうなんですか? でも民主党が考える元号なんて正直想像つかない。
692 :
名無しさん@そうだ選挙にいこう :2012/06/04(月) 22:41:59.64
>>682 例えばこんな感じ。あとはご自分で調べて。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Long
Dim r As Long
If Intersect(Target, Range("A1:A2")) Is Nothing Then Exit Sub
If Target.Count <> 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
c = Target.Row
r = Sheets("Sheet2").Cells(Rows.Count, c).End(xlUp).Row
r = IIf(Sheets("Sheet2").Cells(1, c).Value = "", r, r + 1)
Sheets("Sheet2").Cells(r, c).Value = Target.Value
End Sub
>>691 _,.-‐‐‐-、__
,ィ'´ ,...、_ _,、 ヽ、
l l  ̄ ``i ,!
`i ,.! ,,,,,.... --、.`il
ト、 l==lニニl=lニニ`ill
____________l (!! └‐イ ,i`ー'l
|――――――――――――| _二__ ノ
| |ヽ、ー'. ー' ノ、_
| |l\ `ー‐‐ィ `ー-、_
| ゆ | l \_,-'´/ `ー、_
| | l /、_〉、/ l
| | .l ノ l ./ /´ヽ ノ
| | | ll l/ ヽ_,‐'l !、
| | ヽ l l
| | ヽ l、 !、
,ィ‐ュ あ | `i l .,!
l 'ニス | l l l
!、 イ | _,..、 __, l l l
. ヽ、|´ い _,ィ',..- `ヽTヽヽ || ノ
| l-'ニ-, __,..○ ヽ-‐|_|‐ ' ´ ̄
| ヒ,ニ..-'´ ´-`
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ノ´⌒`ヽ γ⌒´ \ .// ""´ ⌒\ ) .i / \ / i ) ____________ i (・ )` ´( ・) i,/ |――――――――――― l (__人_) | | |\ `ー' / | |l\ `ー‐‐‐‐ィ `ー-、_ | ゆ | l \_,-'´/ `ー、_ | | l /、_〉、/ l | | .l ノ l ./ /´ヽ ノ | | | ll l/ ヽ_,‐'l !、 | | ヽ l l | | ヽ l、 !、 ,ィ‐ュ あ | `i l .,! l 'ニス | l l l !、 イ | _,..、 __, l l l . ヽ、|´ い _,ィ',..- `ヽTヽヽ || ノ | l-'ニ-, __,..○ ヽ-‐|_|‐ ' ´ ̄ | ヒ,ニ..-'´ ´-`  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
写真やPDFを管理するのが大変(検索しにくい)で エクセルに一覧表を作ってハイパーリンクで各画像とリンクさせたいんだけど リンク先のPDFを開くと自動でアドビ―のソフトが立ち上がっちゃうんだけど どうしたら別のソフトに指定できるか教えて下さい。 jpgをリンクさせるとjpgとして開けなくてエクスプローラーで画像を開くんだけど これもjpgとして開いたりできるの?
697 :
682 :2012/06/05(火) 15:16:58.12
>>683 >>692 遅くなりましたがありがとうございますVBAじゃないと無理ですか少し調べてみます
VBAで作った関数でその結果をセルに出せるのですが そのセルに入った値を他の関数で使おうとすると 代入式の左辺の関数呼び出しは、オブジェクト型かバリアント型の値を返さなければいけません。 となってエラーになってしまうのですが どうしたら、他の関数でだした結果それ自体を他の関数に入れることができるのでしょうか?
コードを見たい
イベントが起きた時 vbaが動作して 関数が処理される時、、
>>698 subじゃなくfunctionで定義して戻り値
それかグローバル変数でも
702 :
名無しさん@そうだ選挙にいこう :2012/06/06(水) 00:10:44.42
だからコードかけと
>>696 ipadにいれたまま使ったことなかったけど便利そうだね。
情弱な俺にヒントをくれてありがとう。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 すこし 【4 VBAでの回答の可否】 可 Sheet1をA1〜H1,A11〜H11,A21〜H21と決まった間隔で100行以上参照して、Sheet2に順番に表示したいのです。 手打ちは大変なのでコピーしていきたいのですが A1に=Sheet1!A1 と打ちコピーしていくと A2に=Sheet1!A2 となります。 A2に=Sheet1!A11 としたいのですが簡単な方法はないでしょうか? =Sheet1!A2 +(10*現在の行-1) こんな感じのはできますか?
>>705 質問の最後の2行がちょっと理解できなかったけどこんな感じ?
違ってたら適当に改造してね
=INDIRECT("Sheet1!A" & ((ROW()-1)*10+1))
ご質問を把握するのが困難な自分 orz
>>705 の最後間違っていました。
=Sheet2!A2 +(10*(現在の行-1))
現在の行はSheet2!A2なので2の数字が、
Sheet2!A5なら5行目なので5の数字がほしいです。
>>706 ありがとうございます
使ったことない関数なので調べてみます
>>708 書き足りなかった
=Sheet2!A2 +(10*(現在の行-1))
↓
=Sheet2!A12
意味になるような方法はないのでしょうか
>>708 A1を基準に、10飛びってことじゃないの?
>>706 が合ってると思うんだけど
A1=sheet!a○
A2=sheet!a○
A3=sheet!a○
A4=sheet!a○
B1=sheet!B○
B2=sheet!B○
B3=sheet!B○
B4=sheet!B○
の○の部分に数値を入れたらすぐに答えれると思う
>>706 >>710 ROWと&が知りたかったことでした。
的確なアドバイスありがとうございます。
>>711 うまく行ったか
indirectをr1c1形式にして、column()で列も取得すればオートフィルだけで全部処理できるぜ
713 :
名無しさん@そうだ選挙にいこう :2012/06/07(木) 01:54:23.90
天皇が死んで元号が変わると思ったが 別人だったか。
714 :
名無しさん@そうだ選挙にいこう :2012/06/07(木) 01:55:01.63
ピボットテーブルは使ったことないんだが 一言で言うとどんな機能?
クロス集計 って言われても分からんだろ。俺も分からん。 使ったほうが早い
>>714 数式を考えなくても、自動的に合計とか平均とか計算して一覧表にまとめてくれる
>>713 天皇陛下と寛仁殿下を間違うってどんだけ世情に疎いんだよ・・・
718 :
名無しさん@そうだ選挙にいこう :2012/06/07(木) 19:56:36.14
データ解析で、mac office 2011のExcelでフーリエ変換後に、パワースペクトルを出したいのですが、使い方がわかりません。よければ教えてください。
>パワースペクトル 計算の方法なのかグラフ表示の方法なのか???
知らないんじゃなくてわからないなら調べろよ
721 :
721 :2012/06/08(金) 04:26:47.30
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 2007 【3 VBAが使えるか .】 初級 【4 VBAでの回答の可否】 可 改行オーバーにつき、2レスに渡ります。 長文失礼します。
722 :
721 :2012/06/08(金) 04:27:21.16
とある計測器を操作するためのメーカーサイトよりダウンロードした エクセルアドインファイル(パス保護付き)があります。 そのファイルを開くことでコマンドバーに計測開始ボタンが設置されるブックオープンマクロが有り、 メーカーの設計意図としては @アドインファイルを開く Abook1を作成する Bbook1に計測値を入力 としているようです。 しかしながら、パーソナルマクロを別途設置している環境下ですと @アドインファイルを開く Aパーソナルマクロが処理される Bエクセルにてbook1が表示されない C想定しているbook1が存在せず、エラー となります。 どうやらアドインにはブックカウントでの分岐処理があり、 新規立ち上げ時(ブックカウント=1)ならば、book1挿入みたいな処理が 最初にあると思われます。 しかし立ち上げの際、先行してパーソナルマクロが起動し、 ブックカウントがパーソナルマクロの1つ分増えたため、上記分岐から外れるものと思われます。 これを回避するために、パーソナルマクロにbook.addを記述し、エラー回避を図っていますが、 本操作とは関係の無い他のエクセルファイルを開いた際に、対象エクセルファイルに加え、 常にbook1ファイルが開くことになり、わずらわしく感じます。 これを回避する方法、ご教示いただきたくよろしくお願いします。 なお、回避策を講じる対象としてメーカーのアドインファイルは除外扱いにてお願いします。
>>721 そのメーカーにアドインのバグを直してもらえばいいんじゃないの?
それが無理なら
もう1つアドインを作って、book1を作成してメーカーのアドインを開くようなマクロを組み込むとか
パーソナルマクロのbook.addの際にメーカーのアドインが開かれているどうか事前に判定するとか
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 可 sheet1にこのようなデータがあり 日付 時間 勉強 先生 数学 英語 5月31日 21時 10分 2 10 10 5月31日 22時 10分 1 10 20 5月31日 23時 20分 1 20 20 6月1日 0時 30分 1 30 30 6月1日 1時 40分 1 40 30 6月1日 2時 50分 1 30 50 6月1日 3時 10分 2 20 20 6月1日 4時 20分 2 10 20 6月1日 5時 30分 2 20 20 6月1日 6時 6月1日 7時 10分 2 10 30 6月1日 8時 20分 2 20 20 6月1日 9時 10分 1 20 20 6月1日 10時 20分 1 20 20 6月1日 11時 20分 2 20 20 6月1日 12時 20分 1 20 20
>>724 sheet2に↓のように先生が変わった時、勉強をしなかった時でリセットして表を作りたいと思っています
数学 英語 数学2 英語2 数学3 英語3 数学4 英語4
10分 10 20 20 20 10 30 20 20
20分 20 20 10 20 20 20 20 20
30分 30 30 20 20
40分 40 30
50分 30 50
60分
指定を6月1日の1時に指定したら1の先生が始めた
5月31日の22時から数学、英語を4回並べた表を作りたいです。
vbaはまだよくわからないので、関数だけで作れる方法を教えてもらえないでしょうか?
>>725 見づらい表ですみません、関数だけでと書いてしまいましたが
vbaでもいいので参考になるアドバイスをお願いします。
727 :
名無しさん@そうだ選挙にいこう :2012/06/08(金) 20:32:38.55
【1 OSの種類】 WindowsXP 【2 Excelのバージョン】 2007 質問です。 ある時突然、Excel上でのコピぺがおかしくなりました。 例えば表をコピーしペーストする場合 以前は コピー元のセルの色や、罫線の状態も そのままコピーされてましたし 右下に表示されるボタンくりっくで 引用元の書式に・・・ とか 貼り付け先の書式に・・・とか選べました ところが 今はペーストしても文字情報しか貼り付けできず 右下のボタンを押しても ・貼り付け先の書式にあわせる と ・テキストファイルウィザードを使用する?? とかしか出ません。 何がどうなっているのでしょうか? どなたか御教授下さい。
728 :
727 :2012/06/08(金) 20:54:12.71
追記です。 もうひとつ変化ありました。 通常表の一部をマウス等で選択し 内容を移動しようとドラッグすると 移動ではなく、コピーされてしまいます。
>>724 行ってる意味がわからない
>>727 エクセル コピー おかしい
辺りでぐぐると、スカイプのアドインが影響してるなど出てくる
再インストールも試してみて
>>727 Ctrlキーとか押下されっぱなしだと認識されてるんじゃないの?
マウスジェスチャソフトとかキー拡張ソフトとか使ってると設定次第で良く起こる
普通、物理キーボードはキーを押して離せば、Down&Upのキーコードを発行するが
プログラムではDownだけ、Upだけのキーコードも発行できるので
Ctrl Downのキーコードを発行してUpキーを発行しなければ、
物理キーボードのCtrlは解放(Up)されていても、OSの認識ではCtrlキー押しっぱなしとなる
それが原因なら一時的にはCtrlやその他原因となっているキーを物理キーボード上で押してやれば
開放状態になるが、根本的解決は原因となったプログラムが何かによっても変わってくるので他で聞いて
>>724 ,725,726
分かりにくかったので少し変更しました
sheet1にこのようなデータがあり
時間 勉強 先生 結果
20時 10分 B ○
21時 10分 A ×
22時 20分 A ×
23時 30分 A △
0時 40分 A △
1時 50分 A ○
2時 10分 B △
3時 20分 B △
4時 30分 B ○
5時
6時 10分 B △
7時 20分 B △
8時 10分 A △
9時 20分 A ○
10時 20分 B △
11時 20分 A △
12時 20分 A ○
13時 10分 B ○
>>731 に続きます
22時と指定した時に、sheet2に↓の結果をだしたいです。 A先生が21時から教えているので21時から開始して 先生が変わるか、空白の時間でリセットして結果を4件表示したいです。 22時 ←時間指定箇所 結果 結果2 結果3 結果4 10分 × △ △ △ 20分 × △ △ ○ 30分 △ ○ 40分 △ 50分 ○ 60分
733 :
727 :2012/06/08(金) 22:48:51.29
>>729 当該アドオンの削除で解決しました。
本当に助かりました。
ありがとうございます。
ごめんなさい。
>>730 さんもありがとうございました。
735 :
721 :2012/06/08(金) 22:58:55.50
>>723 >もう1つアドインを作って、book1を作成してメーカーのアドインを開くようなマクロを組み込むとか
ありがとうございます。
これが一番楽そうですね。
トライしてみます。
時間の経過はわかるわ。 何人かの先生が教えた開始-終了時刻。 それを受けたか否かの生徒の区別? それらの生徒の成績ということ? わからない、、、orz
またお前ら釣られてるのかよ
>>731 解けた。今までで一番難しい問題だった。
リセット、先生、時間といった言葉に惑わされないように、
何が起こってるのかは考えない。データの規則だけを考える
今回の「22時」を「指定時間」とする
「指定時間」の3列目がA、このAがどこまで上に連続しているか、それが
21時 10分 A ×2
の列。ここからデータを取る、というのがスタート地点。
そして3列目が変わるか空白行までをワンセットとする
それが結果1になる
どうように3列目が変わるか空白行までをワンセットとし、
4セット繰り返す
>>738 君には根気がないなぁ
わかりやすいように記号の横のデータに通し番号を振っている 20時 10分 B ○1 21時 10分 A ×2 22時 20分 A ×3 23時 30分 A △4 0時 40分 A △5 1時 50分 A ○6 2時 10分 B △7 3時 20分 B △8 4時 30分 B ○9 5時 10 6時 10分 B △11 7時 20分 B △12 8時 10分 A △13 結果 結果2 結果3 結果4 10分 ×2 △7 △11 △13 20分 ×3 △8 △12 ○14 30分 △4 ○9 40分 △5 50分 ○6 60分 お分かりいただけただろうか。10分-60分という数字には何の意味もないことに
わかんねーよカス 3年ROMれ
説明べたで申し訳ないや 10分-60分はグラフを作るときに使うだけなんです。 COUNTIF関数で連番を複数作ればいけるかな?としか想像できないけど、スマートな作り方あるでしょうか? vbaだと想像できないけど簡単に作れるだろうか?
>>742 そもそも日本語ですら書けない仕様を
VBAのコードで書けるわけないだろ・・・
あきらめろ
要するに、どの先生が何分教えたかってことと成績結果に関連があるかどうか見たい ってことだろ
それならふつうはピボットをつかう
>>743 参考になりました。ありがとうございます。
【1 OSの種類 .】 Windows 7, OS X (Snow Leopard) 【2 Excelのバージョン 】 Excel 現行 for Win, 2004 for Mac 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 小テストの結果1回分が1ワークシートに記入されています。過去10回分 のデータを新ワークシート1枚にまとめ、個人別の変化を分かりやすくしたい と思います。個人識別IDは全ワークシートに共通した番号が与えられています が、任意受験のテストのため、各テスト毎のケース数(ワークシート行数)は 一致していません。全10回を受験した者も入れば、3回しか受験していないも のもいます。 新ワークシートで次のような表示を得るにはどうすればよいのでしょうか。 1 2 3… 9 10 Aさん 60 70 N/A 70 75 Bさん 50 53 60 58 60 Cさん 55 N/A N/A N/A N/A
ショートカットについての質問です。職場がウインドウズ7でエクセルは2010なのですが エクセルを開くと、最初に「編集を有効にする(E)」と出ます そこで、マウスを使わず「ALT」を押さえながらEを押しますが、何か変なメッセージが出るのみです これは、何を押さえながらEを押すと有効になるのでしょうか(本日は自宅なので確認ができないのですが) よろしくお願いします
>>750 さすがに操作方法はメーカーのサポートに聞けよ・・・
>>749 元データである小テストの結果1回分が1ワークシートにどのように表現されているんだ?
個人識別IDってのは小テストの結果シートにはあるけど新ワークシート上にはないのよね?
AさんBさんCさんっていう個人の名前はどこから引っ張ってくるんだ?
個人の名前と個人識別IDはどうやって紐付いてるんだ?
分からないことが多すぎるが多分VLOOKUPでいけるんじゃない?
753 :
749 :2012/06/09(土) 11:00:34.36
>>752 レスありがとうございます。
小テスト毎のワークシートは、各受験者毎に1行で次のように記録されています。
この中から「氏名」、「得点」を抜き出し、新ワークシートにまとめたいと考えて
います。
学籍ID 氏名 得点 パート1得点 パート2得点
新ワークシートは749のように
1 2 3… 9 10
Aさん 60 70 N/A 70 75
Bさん 50 53 60 58 60
Cさん 55 N/A N/A N/A N/A
であっても、「Aさん」の部分が「AさんのID」であっても構いません。
新ワークシートはそれまでのテストを一回でも受けた者の「氏名」(かID)が記載
されていないといけないので、ワークシート1〜10の「氏名」(かID)のフルリス
トを作成するところから始まるのかと思うのですが、それにはどうしたらよいので
しょうか?いったん全部コピーして重複分を取り除くのでしょうか?
>>753 手作業でやるなら名前をコピペして重複の削除をすればいい
重複の削除がないバージョンならフィルタオプションの設定で重複を消すかピボットで集約するか
発生頻度が数十回程度なら1分もかからないだろうし手作業でいいんじゃない?
何百回何千回と発生するならVBAの方が効率的だろうけど
>>756 >ビデオではPythonでコードを書くとVisual Basicと比較して、4分の1のコード量で済むデモが披露されています。
>Webアプリケーションを始め、利用出来るシーンが広いPython、コードの再利用にも都合が良さそうです。
このライターこんなこと本気で言ってんのか?www
だれがモンキーやねん。
>>753 マクロだと、例えばこんな感じで。
各シート名を「テスト1、テスト2、…、テスト10」に、集計用は「まとめ」にしてから実行
Sub test()
Dim w(10000, 10) 'とりあえず1万人分
Dim i As Long
Dim dic As Object
Dim ws As Worksheet
Dim c As Range
Dim n As Long, m As Long
w(0, 0) = "氏名"
For i = 1 To 10
w(0, i) = "テスト" & i
Next
(続く)
Set dic = CreateObject("Scripting.Dictionary") For Each ws In Worksheets If ws.Name Like "テスト*" Then m = Replace(ws.Name, "テスト", "") For Each c In ws.Range("B2", ws.Range("B" & ws.Rows.Count).End(xlUp)) If Not dic.exists(c.Value) Then n = n + 1 dic(c.Value) = n w(n, 0) = c.Value End If w(dic(c.Value), m) = c.Offset(, 1).Value Next End If Next With Sheets("まとめ") .UsedRange.ClearContents .Range("A1").Resize(n + 1, 11).Value = w .Select End With Set dic = Nothing End Sub
セルの数値データを装飾するのに、 ・文字色 ・セル色 ・網掛け この他に何かあります?
>>762 アンダーバーとか取り消し線とか文字の太さとか
セル内グラデーションのグラフとか
そういえばそんな機能もあったな 使ってる人いるの?
・枠線 ・オートシェイプ ・フォント 印刷上ではなくモニタ上の話でVBA使えば、テレビなんかでよく見る ○●●○●●○● ● 数字 ● ●○●●○●●○ で○がグルグル回るみたいな電飾的なことも出来る
初歩的なことかも知れませんが、うまくできないので教えて下さい。 C1のセルに =CONCATENATE(A1,B1) ↑これを入れています。 A1に=today()と入力して今日の日付を入れています B1には 「の出来事」と文字が入っていて 理想としては「2012/6/9の出来事」と表示したいのですが、 C1には「41069の出来事」と表示されています。 なぜでしょうか?右クリックで表示の選択をしても 数値が変わりません。何が原因か教えて下さい。
>>767 説明が面倒なので「シリアル値 エクセル」などでぐぐって下さい
解決策は
=CONCATENATE(TEXT(A1,"yyyy/mm/dd"),B1)
Excel2003にて 基本かもしれませんがオートフィルで自動で数列を作成する時に 複数のセルを引用した計算式の場合にそれぞれのセルがすべてずれた計算式が作成されますが 本当は自動でずらしたい箇所は1箇所だけと言う場合に他は固定するような方法はあるのでしょうか?
>>771 式の例としましては
=F1+(G1*F120) と言った式で
F1 G1 は固定で F120 の値を F121F122 ・・・と 1行ずつ加算するような感じです、、
普通に引っ張りますと F1 G1 も値が増えて計算結果がとんでもない事に・・w
=$F$1+($G$1*F120)
>>773 今根性で50行手入力し終えたたところでしたww
絶対参照というのですね ありがとうございます。
グーグル検索で$マークは無視されているようで ドルマーク と入れたりしたらでてきました、、、
>>774 数式入力中に[F4]キーを押すと参照方式を順に変えてくれるよ
>>775 おおお!これは便利ですね ありがとうございまます!!
777 :
名無しさん@そうだ選挙にいこう :2012/06/10(日) 18:43:07.59
質問です excelで何が何でも「二重取り消し線」を使いたいんだけどいい方法ありませんか? MSの昨日としては恐らく無理だと思うんで アドオンでもなんでも使っていいので なにかいい方法あったら教えて下さい
オートシェイプ使えばどうにでもなるよ
>>777 「excel」「二重取り消し線」でググれよ
781 :
名無しさん@そうだ選挙にいこう :2012/06/10(日) 23:14:33.97
会社であるデータベースをExcelで管理してて そのデータベースは行で言えば数千以上のエントリー件数があります。 毎週、この中からある条件のフィルターでしぼった100件程度の行を調査して そのデータは半分くらいは書き換えられます。 ここで問題。 その書き換えたデータを大元のデータに手入力で入力しているのですが フィルターした状態で、他のシート(つまり調査時のデータを書き変えたシート)からコピペで大元のデータを貼り付けられませんか?
782 :
名無しさん@そうだ選挙にいこう :2012/06/10(日) 23:15:16.74
× 大元のデータを ○ 大元のデータに
エントリに固有番号がついてればVBAでなんとか
784 :
名無しさん@そうだ選挙にいこう :2012/06/10(日) 23:22:26.59
785 :
名無しさん@そうだ選挙にいこう :2012/06/10(日) 23:23:04.49
例を挙げると、大元のデータがこんなものとします。 うんこ 1 うんこ 2 しっこ 3 ちんこ 4 まんこ 5 うんこ 6 まんこ 7 ちんこ 8 ちんこ 9 うんこ 10 今週はうんこデータを調査します。でフィルターがかけると、 うんこ 1 うんこ 2 うんこ 6 うんこ 10 そして調査するとデータはこう変わってました。 固いうんこ 11 ぬるぬるうんち 12 固いうんこ 16 ぬるぬるうんち 20 <続く>
786 :
名無しさん@そうだ選挙にいこう :2012/06/10(日) 23:23:20.20
しかし、大元のデータベースをフィルターがかかったままの状態で上記データコピペするとこうなってしまうんです。 固いうんこ 11 ぬるぬるうんち 12 うんこ 6 うんこ 10 試しにフィルターをほどいてやるとこうなってました。 固いうんこ 11 ぬるぬるうんち 12 固いうんこ 16 ぬるぬるうんち 20 まんこ 5 うんこ 6 まんこ 7 ちんこ 8 ちんこ 9 うんこ 10 ちゃんとうんこデータを更新するにはどうしたらいいでしょうか?
>>781 大元のデータをフィルタで絞り込んで書き換えるだけでいいんじゃないの?
コピペの必要性がわからん
788 :
名無しさん@そうだ選挙にいこう :2012/06/10(日) 23:29:33.77
>>787 そう単純じゃないの。
調査のデータは別システムでデータが更新された状態で来るので
そのままコピペできれば早いから
>>785 またお前か・・・
スレが立つ度に同じ質問してんなよ
VBAでしか無理って答え出てるんだからそろそろ覚えろよ
> フィルターがかかったままの状態で上記データコピペする という横着をやめたらいいんじゃないの? というか、データベースではなく表計算ソフトでしかないExcelでは それ、やっちゃいけないことだし
>>785 「うんこ 1」と「固いうんこ 11」には何の紐付けもないの?
「うんこ 1」を「固いうんこ 11」に、「うんこ 2」を「ぬるぬるうんち 12」に、
って感じで上から順番に書き換えればいいだけ?
それならループ回してセルに値を代入するだけでいいと思うけど
>>785 vba覚えたほうが早いぞ
しかもすげー初歩の段階で実現可能。
具体的にはfornextとcell(x,x).value=cell(x,x)value
これは嫌味とかじゃなく、マジで覚えた作ったほうが早い
入れ食いとはまさにこのこと
たとえが汚い
1度、ドキュメント完成しちゃうと興味なくなっちゃうExcelだわ。 VBAも楽しかったなぁ。そういえば。 逆引き辞書とかみながら、「え、こんなことできたの?」って驚きながら学んだ、あの夏・・・。
オートシェイプの図形にマクロ登録して、A1のセルの書き換えをしてます。 A1のセルが書き換わる事で、Bの行に別シートからvlookupで呼び出しているデータを表示させてます。 c行以下に、リストがあり、リスト内にマクロ登録してあるオートシェイプの図形を配置しています。 またbとcの行の間で、ウィンドウの分割、枠の固定をしています。 そこで、図形をクリックすると、a1が書き換わる為か、ウィンドウ分割しているc行以下を表示しているウィンドウが一番上まで戻ってきてしまいます。 何か戻らなくする方法はないでしょうか? ご教授お願いいます。
>>796 コード見ないとわからないけど
Range("A1").Select
とか入ってない?
>>796 ステップ実行したらどのコードでそうなってるかわかるだろ?
そのコードをここに貼れ
ちなみにExcelではAとかBとかCってのは行(row)じゃなくて列(column)って言うのが一般的なので
行って言っちゃうと非常に紛らわしいよ
>>797 入ってます。消してしまえばいいのでしょうか。
>>780 携帯から投稿してますので、コピペできないです…。
列と行が混ざってしまっていました。
ごめんなさい
>>799 あ、やっぱり入ってたのね。マクロの記録からコード生成したのか。
消してもいいけど、後にどう影響するかはコードを見ないとわからない
でもまぁ、消してうまく行ったらそれでいいんじゃないかな
vbaは「ステップイン」や「ウォッチ式」という便利な機能があるので、
調べて使ってみて
yyyy = "2012" mm = "6" dd = "11" yyyymmdd = yyyy & "/" & mm & "/" & dd としたとき、変数yyyymmddを日付のデータにするには どうすればいいのだ?
>>801 Dim yyyymmdd As Date
◎ yyyymmdd = DateSerial(yyyy, mm, dd) yyyy, mm, ddの変数は、文字列でも問題ないけど出来れば数値で ○ yyyymmdd = yyyy & "/" & mm & "/" & dd yyyymmdd = CDate(yyyymmdd) 文字列日付を作ってから日付型に変換するのは二度手間 CDate(yyyy & "/" & mm & "/" & dd)でもそれは同じ △ Dim yyyymmdd As Date yyyymmdd = yyyy & "/" & mm & "/" & dd 非明示的な自動型変換には頼らない方が良い
>>804 ◎最良の手を教える
○最良の手を無駄に改行して教える
>>804 デス
△変な回答
×間違った回答
808 :
806 :2012/06/12(火) 10:21:47.27
書いた本人じゃないので違うのかもしれないが ◎のパート、○のパート、△のパート、 それぞれを区別するための2行改行だと俺は感じた そして、各々のパート内で元のコードとその評価・解説の間を 1行空けているのも読みやすくするためだと思う こういう場合は俺もそういう意図で同じような書き方をするから それが無駄だといわれると違和感を感じる。
◎も△も質問者の前提条件を変えてしまってるから無意味な回答だよ
日付型データは使わないってのが一番いいような気がする。 20120611とか、そのままじゃだめなのか?
日付を扱いたいのに日付型使わないとか そのハンデに何の意味があるんだ
インデントが付いてるから記号が段落の区切りも兼ねてるって見ればわかる だから2行も空ける必要はない
そうか? 3行も空けてやったぜぇ〜
質問です
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
http://www.dotup.org/uploda/www.dotup.org3085059.png 画像のように、表Bのβにデータがあった場合
表Aのβにも同じデータを表示させたいので
表Aのαを検索値にしてvlookup関数を組んだのですが
@表Bのβに入力がない場合(表Aのあ、う、お)
A表Bのαに検索値と同じデータが無い場合(表Aのか、き、く)
この2パターンでエラーが出てしまいます
@に関してはIF関数で論理式に上と同じvlookup関数と
それの結果が空白だった場合は空白を出力する、というようにエラー回避を組んだのですが
Aの回避方法が思いつきません。
表Bに表Aと同じ項目を作ればいい話ですが、不必要な項目を増やすと乱雑としてできれば避けたいところです
長くなってしまいましたが本題です
参照先にそもそもデータが無い場合のエラーを回避する方法はあるでしょうか
=IF(ISERROR(VLOOKUP(…
できました!ありがとうございました
817 :
801 :2012/06/12(火) 20:05:00.16
Dim moji As String moji = "2" unko = moji * 3 MsgBox unko 何でエラーにならないの?
日ごろの行いが良いせいだろ。
そうですか ありがとうございました
821 :
818 :2012/06/12(火) 22:55:32.55
え?
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 2.23×10^-5みたいな表記がしたいんですけどどうすればいいですかね?
>>818 仕様です
動的型付けでぐぐれ
>>822 表記
'2.23×10^-5
計算
=2.23*10^-5
シート名に1月〜12月が任意にあって、6月なら06、 11月なら11を返すにはどうすればいいですか? ここまで書いた For Each ws In Worksheet If Right(ws.Name, 1) = "月" Then If Len(ws.Name) = 2 Then Tsuki = Left(ws.Name, 1) Else Tsuki = Left(ws.Name, 2) End If End If Next
>>825 こんな感じか?
For Each ws In Worksheets ←最後の"s"が抜けてたよ
If Right(ws.Name, 1) = "月" Then
Tsuki = Format(Left(ws.Name,Len(ws.Name) - 1),"00")
End If
Next ws
ありがとう Ifは1個で済むのか・・・
>>827 対象シート名の末尾が必ず"月"で終わるなら
そもそもIf文は要らないけどね
あるかどうか知らないし、おそらく無いとは思うが、 If Right(ws.Name, 1) = "月" Then だと「満月」とか「鏡花水月」とか「花鳥風月」とかも通しちゃうので きちんとやるとこうなる For Each ws In Worksheets If ws.Name Like "#月" Or ws.Name Like "##月" Then Tsuki = Format(Val(ws.Name), "00") End If Next ws
Tsukiに値を代入した後もループが続くけどそれでいいの?
If Right(ws.Name, 1) = "月" Then Tsuki = Val(ws.Name)
Tsukiが未定義の時が0でいいなら Tsuki = Val(ws.Name) If ws.Name <> Tsuki & "月" Then Tsuki = 0
何でExcelってドラッグドロップで画像貼り付けに対応しないんだろ、不思議でしょうがない 2010になったら流石に貼り付け出来るようになると思ったのに・・・
>>833 仕様の質問は一般ユーザには答えられません
メーカーのサポートへどうぞ
>>829 なるほど
「満月」とか「鏡花水月」とか「花鳥風月」とかが
混ざってるとは考えたこともなかったですw
「鏡花水月」なんて読めませんw
>>830 要点だけ書いたからね
そこまで馬鹿じゃないしーw
わざわざ「鏡花水月」とか「花鳥風月」挙げたのは完全にネタだろw
840 :
名無しさん@そうだ選挙にいこう :2012/06/13(水) 22:41:01.57
だな
>>841 ここはサクラエディタのスレじゃないですよ
ブックの中に何枚もシートがあるのですが、 それをひとつのシートにまとめる(繋げる)方法はありますか?
>>843 「繋げる」の具体的な定義は?
たとえばシート1から順に縦に続けていくとか
横に続けるとか、その程度の単純なものなら簡単にできる
要するにまとめるべきシートのデータ最後尾に
各シートのデータがある領域をコピーして、
順番に貼り付けていくだけ
データがあるセルの領域はUsedrangeで求まる
複数のシートに何か書いてあるエリアを、ひとつのシートに縦に単純にコピペしているのですが それを自動化できないかと思いました。
>>845 VBAで自動化できるよ
あとはVBAでコード書く手間(勉強する手間含む)と
手動でチマチマやる手間のどっちを省きたいか自分で判断してお好きなように
847 :
名無しさん@そうだ選挙にいこう :2012/06/14(木) 15:01:50.09
Win7-64bit Excel2010です 昨日のUpdateしてから、CSVファイルのセルの並び替え(5000ほど)をする際に 「大量の処理を行う操作」という警告メッセージが出るようになり OKをクリックすると、並び替え終わるまで1分ほどかかるようになってしまいましいた。 Updateする前までは、一瞬で並び替え出来ていました。 同スペック、同環境のPCが3台あり、Updateしていない1台は一瞬で並び替えれますが Updateした2台は警告メッセージが出ます。 システムの復元をしましたがダメでした。 以前の環境に戻すには、再インストールしか無いのでしょうか?
【1 OSの種類 .】 Windows7(会社)、XP(自宅) 【2 Excelのバージョン 】 Excel2010(会社)、2003(自宅) 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 上段のような表があり、E列をC列に移動させて下段のようにするとき、 C列とD列の数式を1セルずつ修正しなければならず困っています。 効率よく修正するには、どんな方法があるでしょうか? 例ではデータが4列3行ですが、実際には20列250行くらいあります。 列は今後も増えていきます。 また、移動させる列は決まっておらず、D列をF列に移動とか 右側方向になることもあります。 よろしくお願いします。 A B C D E A01 C02 B01 A03 200 100 500 300 2,110 =A3 =B3-C2 =C3 =D3 5,300 =A4-B2*2 =B4 =C4-D2*3 =D4-E2 8,750 =A5-B2*2 =B5 =C5-D2*5 =D5-E2*2 ┌───────────┘ ↓ A B C D E A01 A03 C02 B01 200 300 100 500 2,110 =A3 =B3 =C3-D2 =D3 5,300 =A4-B2*2 =B4-C2 =C4 =D4-E2*3 8,750 =A5-B2*2 =B5-C2*2 =C5 =D5-E2*5
>>850 C:EをD:Fにコピペして、FをCにコピペして、Fを消せばいいんじゃないの?
852 :
847 :2012/06/14(木) 21:35:00.00
>>848 ありがとうございます。
明日、会社で試してみます。
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 すこし 【4 VBAでの回答の可否】 可 =IF($P$1>=$O$1+(COLUMN()-14),INDEX($E:$E,MATCH($O$1+(COLUMN()-14)+(ROW()-3)/1000,$K:$K,0),"") がN3セルにあるのですが MATCH($O$1+(COLUMN()-14)+(ROW()-3)/1000 で#NAがでます。 値は $O$1=6 COLUMN()={0} ROW()={0} が入っています。 なぜ#NAになるのでしょうか? ROW()=1〜3でエラーがでて ROW()=4,5でデータはエラーになっていなかったり $O$1を変えて別の日の検索をすると正常にでたりします。 対処方法やアドバイスお願いします。
>>853 訂正
値は
$O$1=6
COLUMN()-14={0}
ROW()-3={0}
でした。値はF9で調べたのです
855 :
850 :2012/06/14(木) 21:56:56.18
>>851 例として挙げた4列3行だと851の方法でできますが、5列以上あるとだめですね。
私のやり方が良くないのでしょうか?
最近の子は、応用ってものが全く出来ないんだな
858 :
850 :2012/06/14(木) 22:27:08.48
>>856 具体的に、どうすればいいですか?
>>857 その方法だと、850の例ではC3セルの数式が =E3になります。
左側の数値を加工していくので、=B3にしたいです。
>>850 あんまりオススメできないが、状況が状況だけにindirect()をすすめる
最初に全部修正する必要があるが、
indirect()にすれば絶対にずれない
>>853 式が中途半端なんだが・・・
MATCH($O$1+(COLUMN()-14)+(ROW()-3)/1000,0)
でいいの?
それを整理すると
=MATCH(6,0)
になり
=MATCH(検索値,範囲 [,照合の型])
と合わない。範囲や型が必要
>>850 列移動はどこをどう移動するのか分からないから人力でやってもらうとして、
各セル内の数式にOFFSET関数を使えば列移動後の修正作業は比較的簡単になると思う。
一応、行の移動は無いと仮定して、最初のデータをOFFSET関数を使ったものに書き直してみました。
表のレイアウトをうまく整えられなかったので、以下は[]がひとつのセルだと思って見てください。
ただし、左端の[1]~[5]と上端の[A]~[E]はセルじゃなくて行と列を表してます。
[/][A][B][C][D][E]
[1][ ][A01][C02][B01][A03]
[2][ ][200][100][500][300]
[3][2,110][=OFFSET(B3,,-1)][=OFFSET(C3,,-1)-C2][=OFFSET(D3,,-1)][=OFFSET(D3,,-1)]
[4][5,300][=OFFSET(B4,,-1)-B2*2][=OFFSET(C4,,-1)][=OFFSET(D4,,-1)-D2*3][=OFFSET(E4,,-1)-E2]
[5][8,750][=OFFSET(B5,,-1)-B2*2][=OFFSET(C5,,-1)][=OFFSET(D5,,-1)-D2*5][=OFFSET(E5,,-1)-E2*2]
>>855 1列増えたのなら
C:EをD:Fにコピペして、FをCにコピペして、Fを消せばいいんじゃないの?
↓
C:FをD:Gにコピペして、GをCにコピペして、Gを消せばいいんじゃないの?
862 :
860 :2012/06/14(木) 22:37:37.42
一箇所修正忘れてた E3のところは=OFFSET(D3,,-1) じゃなくて=OFFSET(E3,,-1)でした。
863 :
名無しさん@そうだ選挙にいこう :2012/06/14(木) 22:48:10.83
>>863 わざわざやるまでもないと思うけど・・・?
そこまでExcelの動きが信用できないなら
Excelの計算結果を毎回検算しないといけなくなるよ
>>861 1列増えたなら
x C:FをD:Gにコピペして、GをCにコピペして、Gを消せばいいんじゃないの?
o C:FをD:Gにコピペして、FをCにコピペして、Fを消せばいいんじゃないの?
でも、Fを消すと・・・ ダメぽジャソwww
>>865 > また、移動させる列は決まっておらず、D列をF列に移動とか
> 右側方向になることもあります。
スマン、これ読み飛ばしてたわ
前提条件が固定じゃないなら具体的になんて言えるわけもなく
「適宜ずれないようにコピペしてください」としか言えないわ
結局
>>856 さんのレスと同じですね
できたw 864氏が答えられなかったら俺が答えよう じゃ寝る
866は おバカなの?
869 :
名無しさん@そうだ選挙にいこう :2012/06/14(木) 23:14:30.84
870 :
名無しさん@そうだ選挙にいこう :2012/06/14(木) 23:15:38.04
866 = 856 馬鹿丸出しってことですね
>>866 865にアンカーを打ってるんだから、865で指摘されたことをやったらどうだ?
前提条件が固定じゃないから「1列増えたのなら」と自分で前提条件をつくったんだろ?
独自路線の
>>860 氏の事も忘れないであげてください
860は一つの正解 861は根本的に間違い
>>871 866さんではないがやってみたw
わざわざやるまでもないと思うけど・・・、#REF!になるねw
>>849 ありがとうございます。しかし変数が定義されていないコンパイルエラー・・
877 :
847 :2012/06/15(金) 08:01:24.10
>>873 KB2597166を削除したら直りました。
警告メッセージ出ず&動作サクサクに戻りました。
ありがとうございました。
セルに「55-1」とかの文字列を入れておくと、ファイルを開き直した時に「Jan-55」などと変わってしまい困っています。 これを止める方法ありませんか?
>>879 セルの書式設定で表示形式を文字列にする
>>880 csvで保存しなくてはならないデータで、開き直すと書式設定が消えてしまいます
Excelの設定でどうにかなりませんか?
>>881 テキストファイルウィザードで開けばいい
条件の後出しはやめてね
>>878 すいません、VBAはさっぱりわからないのですが、
とりあえずこのマクロは、よそ様の環境では動くのでしょうか?
>>883 コード見る限り、特定の環境に特化したコードではないね
>>882 どもです
知らなかったのでぐぐってやってみましたがめっちゃ面倒ですね…
xlsで管理して、必要時のみcsvで吐き出すようにします
>>883-884 最初に自分の環境を書かない883(843)が全面的に悪いのだが、
>>849 でリンク貼られてる先のコードはExcel2000以前では動かないみたい。
具体的には
PasteTarget.PasteSpecial xlPasteValuesAndNumberFormats
の部分のxlPasteValuesAndNumberFormatsというパラメータが
Excel2000には存在していないのでコンパイルエラーになる。
(843が何使ってるのか知らんけど、2000以前ならこれが理由で動かない)
修正法としては値(xlPasteValues) と書式(xlPasteFormats) を個別に指定すればOKみたい。
コードとしてはこんな感じ
PasteTarget.PasteSpecial xlPasteValuesAndNumberFormats
↓
With PasteTarget
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteValues
End With
>>886 2000用コードまで書いていただいてゲロ感謝です。それで動きました。
バージョンで動かないことがあるとは想像もしませんでした。
以後気を付けます。
888 :
878 :2012/06/15(金) 15:02:29.16
>>887 すまんね、俺もちゃんと調べればよかったわ
889 :
850 :2012/06/16(土) 00:19:00.46
>>859 indirect()をぐぐってみましたが、よくわかりませんでした。
>>860 >>862 凄い!ありがとうございます。
なんでズレないのかわかりませんが、列を入れ替えてもOKです。
>>861 それじゃだめ
>>865 そうそう、それでだめでした。
でも860さんのやり方で解決です。
レスしてくださったみなさん、ありがとうございました(ペコッ
【1 OSの種類】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか】 いいえ 【 VBAでの回答の可否】 否 ある資料(手順書)を作っていて、数字を調べてセルに 入力して、計算式と条件にそって得点を算出する内容になっています。 で、同じようなシートが2枚あって、A1からF1まで、A2からF2まで 以下の通り数値と式があります。 A1 手順で求めた数字 B1 手順で求めた数字 C1 手順で求めた数字 D1 手順で求めた数字 E1 A1からD1の値の計算式(A1/(B1+C1+D1)とします) F1 D1の値に基づいて、条件(得点テーブル)にそって 10点満点で算出 で質問ですが、A1〜E1が全てゼロなら、必ずA2〜E2に数字が入っています。 A2〜E2が全てゼロなら、A1〜E1にゼロが入っています。 この時、A3〜E3にどちらか一方の数字が入った方の値が表示されるようにしたいです。 で、質問2つです。 1)この時、A3〜E3にはどのような式が入るのでしょうか 2)また、手順書の初期状態では、A1〜E2は全てゼロです。 この時、A3〜F3を全てゼロにするにはどうしたらいいですか? よろしくお願いいたします。
891 :
名無しさん@そうだ選挙にいこう :2012/06/16(土) 09:33:55.29
Q1. 825のような凸凹したマクロを書くにはどうすればいいですか? Q2. 850のような揃ったセル値を書くにはどうすればいいですか?
>>890 1も2もIfで
>>881 こちらも1、2共に同じ回答だが
2chではTabや行頭および連続する半角スペースは無視されるので全角スペースをベースに
半角スペースを連続しないように入れて調整する
Worksheet と Worksheets の使い分けがわかりません><
>>893 WorksheetsはWorksheetのコレクションです
使い分ける類のものではありません><
あるセル(A1)でVBAで作った関数で計算し その計算した結果をほかのセルのVBA関数にセル(A1)を引数として入れたいのですが そうすると ”代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さねばなりません。” と出てしまいます。 解決法はないでしょうか?
>>890 です。
すみませんが具体的な式設定を教えて下さい。
よろしくお願いします。
>>897 値の取りうる範囲が整数の-1〜1の場合、パターンはこれで全てと考えればいいの?
0と0の場合→0
0と1の場合→1
1と0の場合→1
0と-1の場合→-1
-1と0の場合→-1
あと、どっちのセルも同じ値の場合はどっちのセルの値を表示すればいいの?
>>900 A3〜E3は
>>899 で、F3は=IF(COUNTIF(A1:E2,0)=10,0,"")で
>900です。
条件を少し整理してきました。
・A1〜D1、A2〜D2に入るのは0以上。マイナスは入らない。
・A1〜D1に数字が入るときは、A2〜D2は全てブランク。(入力されていたらいけない)
逆もしかり。
・A1〜D1に数字が入っているのに、A2〜D2のどこかに0以外の数字が
入ってはいけない。その場合、E3に「エラー」とカタカナで表示。
A2〜D2に数字が入っているのに、A1〜D1のどこかに0以外の数字が
入っていても同様にエラー。
あと、
>>900 の書き込みですが、
>F1 D1の値に基づいて、条件(得点テーブル)にそって
10点満点で算出
ですが、E1の値に基づいて、の間違いです。
失礼しました。
>>902 > ・A1〜D1に数字が入るときは、A2〜D2は全てブランク。
> ・A1〜D1に数字が入っているのに、A2〜D2のどこかに0以外の数字が入ってはいけない。
A2〜D2は全てブランクなのに0が入ってても「エラー」じゃないの?
「A1〜D1に数字が入る」の「数字」は0も含まれるの?
> 2)また、手順書の初期状態では、A1〜E2は全てゼロです。
> この時、A3〜F3を全てゼロにするにはどうしたらいいですか?
A1〜E2が1つでも0じゃないときはF3には何が入るの?
初期状態の時はA1〜E2は全て0だからE3は「エラー」でいいの?
>>902 A1=1、A2=2の時、A3とE3とF3には何が表示されればいいの?
何となくだけど、IF関数だけでできるんじゃない?IF関数がわからないの?
>>903 >A1〜E2が1つでも0じゃないときはF3には何が入るの?
その場合は、E1,E2に計算式の答えが入って、F3には10点満点で
テーブルに沿った点数を出してやりたいです。
>初期状態の時はA1〜E2は全て0だから
ここは、10点満点の10にするか、0でもどちらでもいいです。
>>904 すみません、IF関数がよくわからないのです。
あと、A1=1、A2=2みたいに両方数字入っているときは時は
A1の値を表示させて、(B1,B2〜E1,E2も同じ)F3にはエラーと出したいです。
>>905 A3〜D3→=IF(A1*A2=0,IF(AND(ISNUMBER(A1),A1>0),A1,A2),A1)
E3→=IF(AND(SUM(A1:D1)>0,SUM(A2:D2)>0),"エラー","テーブルに沿った点数")
F3→=IF(AND(SUM(A1:E1)>0,SUM(A2:E2)>0),"エラー","")
>>906 >>906 >2)また、手順書の初期状態では、A1〜E2は全てゼロです。
> この時、A3〜F3を全てゼロにするにはどうしたらいいですか?
この条件忘れてたのでE3とF3の式をちょっと修正
E3→=IF(COUNTIF(A1:E2,0)=10,0,IF(AND(SUM(A1:D1)>0,SUM(A2:D2)>0),"エラー","テーブルに沿った点数"))
F3→=IF(COUNTIF(A1:E2,0)=10,0,IF(AND(SUM(A1:E1)>0,SUM(A2:E2)>0),"エラー",""))
908 :
名無しさん@そうだ選挙にいこう :2012/06/17(日) 01:57:40.82
>>908 前提条件が初っ端から間違っててどう突っ込んだら良いのやら・・・
偏りの度合い自体は例えば回帰分析やれば出せるけど、
ページビューの偏りは必ずしも再構築を考慮するべき理由や根拠にはならないから、
それを数式化しろと言われてもねぇ…
あとこれ、エクセルの話じゃないからスレ違いだし。
偏
910 :
909 :2012/06/17(日) 04:27:35.19
失礼、途中で送信しちゃった。 偏りの数値化は統計学の分野の話だから数学板で聞くべきじゃないか?
912 :
名無しさん@そうだ選挙にいこう :2012/06/17(日) 09:55:34.55
複乳さんは自殺なさったのですか?
913 :
名無しさん@そうだ選挙にいこう :2012/06/17(日) 11:50:52.67
>>911 さんありがとうございます。 stdevを使ってwebsite1とwebsite2の標準偏差を出したんですがここからどうすればいいですかね?
>>913 標準偏差が大きければバラつき度合が大きいということだから、
ここからどうすればいい、じゃねえだろ。
数的根拠が出たんだから、web2を再構成するまでだ。
>909 の言う通り、ページビューの偏りが再構築の理由になっているかを
考慮する必要があるかもしれないが、ここから先の話はExcelとは関係ない。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000、2003 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 [ ]はセルの意味です。以下のように名前が入った表Xがあります。(実際は50人ぐらい。) [大山のぶよ] [さくら桃子] これを以下のように自動で置き換えたい、というか右隣りのセルに記号を追加したいです。これを表Yとします。 [大山のぶよ][A] [さくら桃子][C] だれにどの記号を追加するかは別の表Zを参照します。表Zには数100人の名前があり、記号は約10通りです。どんな方法がありますか? [大山のぶよ][A] [野沢まさ子][A] [小原のり子][B] [さくら桃子][C] ちなみにX、Yの表は毎日作成、Zの表は1回作成したら追加、変更、削除だけしていきます。手作業でシコシコやるのに疲れました。どうかお助けくださいまし。
921 :
916 :2012/06/17(日) 14:01:27.02
>>917-
>>920 ありがとうございます。vlookup知りませんでした。
うまくいきました。これからもっともっと勉強します。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excelバージョン失念(多分Office 2003くらい) 【3 VBAが使えるか .】 多少は使える 【4 VBAでの回答の可否】 否 ほぼ同じ表をn in 1みたいな感じで横にx個、縦にy個並べて印刷したいです 一部違うセルがあるので全く同じではないです 元の表をコピーしただけだと元の表が変わったらコピーし直さなければならなくなるので もうちょっと効率の良い方法がないか探しています。参照では罫線や書式は引き継げないですし・・・ できれば総数に応じて並べる表の個数を変えられるとなお嬉しいです(流石にVBAを使わないと無理かな?) よろしくお願いします
923 :
名無しさん@そうだ選挙にいこう :2012/06/17(日) 15:09:13.73
Excelバージョン失念 え゙!?
2003にカメラ機能あったっけ?
929 :
名無しさん@そうだ選挙にいこう :2012/06/17(日) 17:48:58.15
こ
930 :
名無しさん@そうだ選挙にいこう :2012/06/17(日) 19:19:24.45
マン
931 :
名無しさん@そうだ選挙にいこう :2012/06/17(日) 20:54:20.60
カメラ機能って何? ググるの面倒だから優しい人だけレスしろ!
2003だと隠し機能に近いよね
935 :
名無しさん@そうだ選挙にいこう :2012/06/17(日) 22:42:00.94
>>933 ども
2007を使ってるが、そんなもん使ったことねーや
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 簡単なマクロなら可 あるセルに一定の範囲や条件以外の数字が入るとエラーになるように 設定がしたいです。 そのセルには分数式が入っていて、その式の値が0≦x≦1の範囲内でない場合 エラーとなるように設定するにはどうしたら良いでしょうか? 調べたところデータの入力規則という機能があるのはわかったのですが、 これは数式の場合でも当てはまるのでしょうか? また、このEXCELを97-2003形式に変換する必要があるので、変換後も 可能な方法でお願いします。 VBAやマクロには疎いですが、「コードの表示」を選んでコピペ することは可能です。 よろしくお願いいたします。
>>938 シートのタブを右クリックして「コードの表示」を選んでコピペ
Range("A1:E5")が「あるセル」の事なので適当に書き換えて
Private Sub Worksheet_Calculate()
Dim r As Range
For Each r In Range("A1:E5")
If Not ((0 <= r) And (r <= 1)) Then
MsgBox "エラー"
Exit For
End If
Next
End Sub
>>938 =IF(OR(式>1,式<0),"エラー",式)
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 入力するセルがD3、D14、D25・・・とあって、それらに関係するセルが B3、B14、B25・・・とあります。 B3(B14またはB25)が3のときはD3(D14またはD25)に3の倍数、 4のときは4の倍数しか入力できないような細工ができますか?
>941 vnbaじゃないと無理ぽ
「エラーメッセージを出す」ではなく「エラーになる」ってことはその値は入力できないことも含むんじゃないの?
そうなるとエラーメッセージは出るものの、普通にエラー値でも入力できてしまう
>>939 では片手落ちだな
少なくとも入力規則ってのは、エラーメッセージ出すだけじゃなくて、入力の規制をするものなので
使い方解っていないまでもそれに行き着くってことは規制もしたいのだろう
で、入力規則だが、これはあくまでも「入力」に対するもので「計算結果」に対応するものでは無いが
規制条件に数式を使えるので、計算結果を元にした入力の制限も出来る
具体的には、A1,B1が入力セルでC1=A1/B1、そしてC1を0≦x≦1としたいなら、入力規則で
A1:整数/次の値の間/最小値 0/最大値 =B1
B1:整数/次の値以上/最小値 =A1
という感じにすれば良い
>>941 こちらも入力規則で可能
D3:ユーザー設定/数式 =MOD(D3,B3)=0
> vnbaじゃないと無理ぽ
>>944 さんの
>「エラーになる」ってことはその値は入力できないことも含むんじゃないの?
のとおりです。
具体的な式としてはセルF1に(A1+B1)/(C1-D1-E1)が入っていて、
A1から順番に入力していくケースを想定しています。
ただ、仮に最初にC1で次にB1とかランダムに入力しても、
最終的なF1の値が範囲外になったらエラーとしたのですが
可能でしょうか??
>>946 A1〜E1の入力規則に以下を設定する
=AND($F$1>=0,$F$1<=1)
949 :
名無しさん@そうだ選挙にいこう :2012/06/18(月) 23:01:59.70
>vnbaじゃないと無理ぽ vnbaってなぁに?
950 :
名無しさん@そうだ選挙にいこう :2012/06/18(月) 23:16:30.91
入力ミスは、まぁ誰でもやらかすし仕方ないが 直後に1分未満の差で同一回答が付くほど、VBA無しで当たり前に実現できることに VBAじゃないと無理とか言ってるのは恥ずかしすぎるw
>>948 確かに入力途中でエラーになる可能性があるからダメだな
じゃあこうだ
=AND($A$1<>"",$B$1<>"",$C$1<>"",$D$1<>"",$E$1<>"",$F$1>=0,$F$1<=1)
953 :
942 :2012/06/19(火) 00:14:18.00
すいませんでした。
>>952 さんの式を、F1の入力規則のユーザ設定に入れたら
いいのでしょうか?
【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 可 VBA使って複数のグラフを表示するのを作っているのですが質問させてください。 グラフを作るのに必要なデータを gurahu(5,5)、配列に入れたとして SetSourceData Source:=gurahu(1, 1):gurahu(5, 5) こんな感じでセルに書き込まずにグラフを作ることはできますか? データの件数で複数グラフを作る時、表が重ならないようしたいです。 ↓の("A1")を("C1")等に変えるとよいと思うのですがどうするのがよいでしょうか? Set chart_1 = ActiveSheet.ChartObjects.Add(Range("A1").left, Range("A1").top, 600, 200)
957 :
名無しさん@そうだ選挙にいこう :2012/06/19(火) 00:23:35.38
Excel2003です。 マクロセキュリティは中。 中だと、ファイルを立ち上げるとマクロ有効選択が出ますよね。 信頼できるファイルのみ、あれを省略する方法はありますか?
>>957 信頼できるフォルダを指定してそこに入れる
>>956 前者、セルに書き込まずにグラフを作らなければならない理由は?
初心者って無意味なことに拘ったりするよね
後者、Cellsとカウンタ変数使えば良いだけでは?
>>956 >こんな感じでセルに書き込まずにグラフを作ることはできますか?
できない
>データの件数で複数グラフを作る時、表が重ならないようしたいです。
重ならないように座標を指定してやればいい
ChartObjectsオブジェクトのAddメソッドのヘルプを見れば分かると思うけど
600×200のグラフを左上隅から縦に3つ並べるならこう
・・・.ChartObjects.Add(0, 0, 600, 200)
・・・.ChartObjects.Add(0, 200, 600, 200)
・・・.ChartObjects.Add(0, 400, 600, 200)
961 :
名無しさん@そうだ選挙にいこう :2012/06/19(火) 00:39:01.14
963 :
名無しさん@そうだ選挙にいこう :2012/06/19(火) 00:57:59.25
964 :
名無しさん@そうだ選挙にいこう :2012/06/19(火) 01:01:31.14
>>957 の問題はぐぐってみても2003だと無理そうですね
>>959 >>960 参考になりました。ありがとうございます。
100件のグラフを作るのに100回書いて消したりしなくても
配列から作れないのかなと疑問に思ったので
Cellsでうまくいかなかったから、座標を指定でやってみます。
グラフの位置をA1等のセルで指定できたと思うのですが
複数作るときに、2件目はB、3件目はCにと変化させるのはやり方があるかな?
と思いつかなかったのであるなら知りたかったです。
>>965 セルの位置に合わせてA1から右に100件表示するならこう
For i = 0 To 99
・・・.ChartObjects.Add(Range("A1").Offset(, i).Left, 0, Range("A1").Offset(, i).Width, 200)
Next
>>965 >100件のグラフを作るのに100回書いて消したりしなくても
グラフのソースデータを消してしまったらグラフとして成り立たないと思うけど?
指定範囲内に5で割った値が整数のセルの個数を数える時の関数を 教えてください。よろしくお願いします。
>>969 =SUMPRODUCT((INT(範囲/5)=(範囲/5))*1)
972 :
969 :2012/06/19(火) 14:30:36.39
>>971 もう
>>696 さんは見てないと思うけど、
もしかすると INT(範囲/5)=(範囲/5) より MOD(範囲,5)=0 の方がコストが低いかもしれん(わかんないけど)
あとブランクセルもカウントされちゃうから (範囲<>"") も追加した方がいいかもしれん
>>966 Offset知らなかったので参考になりました。
>>967 別シートにデータ作ればいい話だと思うんですけど、
今はとりあえずデータの上にグラフ表示しているので
白にして見えなくしておくのでもいいかなと思って
>>968 関連記事も含めて勉強になりそうです。
参考になる意見を貰えて助かりました。ありがとうございます。
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━ ★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。 ★2 要望は具体例や図を使って明確かつ具体的に。 ★3 質問テンプレ(雛形)は必須じゃないけど、出来れば使ってね ▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 できる限り 否 の方向で・・・ A B C D E −−−−−−− 1|1 2 3 4 5 2|1 2 0 3 1 という単純なタテ2行ヨコ5列の表があります これは 1が1個あって 2が2個あって 3はなくて 4が3個あって 5が1個あるという つまり1行目は名前で2行目は個数になっています ここから下記のような表に作り変えたいんですがどうやればいいでしょうか? O P Q R S T U −−−−−−−−−− 7|1 1 2 1 2 3 1 8|1 2 2 4 4 4 5 O〜U列、7〜8行で書きましたがぶっちゃけどこでも構いません(別シートのA〜G列、1〜2行でもOKです) 上記の例でいう7行目には最初の例の2行目の個数ぶんだけ 1 12 123 1 と1セルずつ順に並べ(0個のところは飛ばします) 上記の例でいう8行目には最初の例でいう 何が何個あるか を順に並べます 作業列とか作業行とかはいくらでも使ってOKですが VBAは自分が理解できないのでできる限り使わない方向でお願いしたいんですが・・・
>>976 A列から右に貼り付けるイメージで
行は何行目でも構わない
作業セル:=REPT($A$1,$A$2)&REPT($B$1,$B$2)&REPT($C$1,$C$2)&REPT($D$1,$D$2)&REPT($E$1,$E$2)
例の7行目:=MID(作業セル,COLUMN(),1)
例の8行目:=IF(LEN(作業セル)>=COLUMN(),IF(COLUMN()>1,IF(MID(作業セル,COLUMN()-1,1)=MID(作業セル,COLUMN(),1),INDIRECT("R"&ROW()&"C"&(COLUMN()-1),FALSE)+1,1),1),"")
978 :
977 :2012/06/20(水) 17:07:28.39
>>977 ゴメン、「例の7行目」と「例の8行目」が逆でした
>>976 Sub Macro1()
gyo = Range("M1").End(xlToLeft).Column
Dim nokoriA, x, xxx
x = 1
For i = 1 To gyo
xxx = Cells(1, i).Value
nokoriA = Cells(2, i).Value
nokorib = nokoriA
For k = 1 To nokoriA
Cells(4, x).Value = k
Cells(5, x).Value = i
nokorib = nokorib - 1
x = x + 1
Next
Next
End Sub
個数が0〜9個あるとして、作業セルに aa1="123456789"をセット。 名前が1〜5まであるとして、作業セルに ab1="111111111" ab2="222222222" : ab3="555555555"をセット。 名前1について ac1=left(aa1,a2) ad1=left(ab1,a2) 名前2について ac2=left(aa2,b2) ad2=left(ab2,b2) : で、 ae1=concatenate(ac1,ac2,ac3,ac4,ac5) ae2=concatenate(ad1,ad2,ad3,ad4,ad5) と結合して あとは表示セルに1文字づつ、、、 (表示桁がaf1に入っているとすれば) =mid(ae1,af1,1) とか数値にしたいのなら =val(mid(ae1,af1,1)) でok
すれたていく
乙
質問です エクセルでA4一枚分の表を作り印刷しました レイアウトは変えず、その表に追記分を印刷したいのですが、新たな用紙に印刷しなおすのではなく同じ用紙に印刷したいのです 上司の手書きのメモが書かれているからです 印刷→印刷対象→選択した範囲 で印刷するとその箇所だけが用紙の左上に印刷されてしまいます エクセル上での配置を維持したまま印刷することは可能でしょうか? 説明がわかりづらくてすみませんがよろしくお願いします
>>982 お疲れ様です。
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 少し
【4 VBAでの回答の可否】 可
今このようなデータでグラフを表示しています。
折れ線
10,20,30,40,50 ←横軸ラベル
5,8,10,6,7 ←データ範囲
散布図
10,20,30,40,50 ←横軸ラベル
","",13,"","" ←データ範囲
正確な値は
35←横軸ラベル
13←データ範囲
なので横軸の30と40の間に13のマーカーを表示したいです。
データラベルは13が表示されるのですが、これは35と表示したいです。
VBAで表示できるようにしたいと思っているのですが可能でしょうか?
>>985 て、天才じゃあー!
ありがとうございます!
質問です ======== |40 | ーーーー |20 | ーーーー |@ | ======== |A | ーーーー |B | ーーーー |C | ======== |D | ーーーー |E | ーーーー |F | ======== |G | ーーーー A+B、D+E、G+Hの和が必ず60になるように、 そして@に数字を入れたらAに40+20-@の数値が入り、Bが60-Aになる さらにCに数字をいれるとA+B-Cの数値がDに入りEが60-D、 Fに数字をいれて・・・の繰り返しをやりたいのですがどのような方法がありますか?
どうしても分からないので質問させてください Excelで □時□分に到着するには○分かかるので△時△分に出発すればいい という計算をしたいのですがどうすればいいのでしょうか… 使用バージョンは2002です
>>993 ありがとうございます
理屈として理解しているのですが
それで計算すると######とでてくるのです…
これは定義が間違っているのでしょうか?;
>>994 セルの書式設定の表示形式を変えればいい
□時□分→[h]:m
○分→[m]
△時△分→[h]:m
>>995 思いっきり間違えたので訂正
□時□分→[h]"時"m"分"
○分→[m]"分"
△時△分→[h]"時"m"分"
>>991 それをやる上で何が解らないの?
普通にやったんじゃダメなの?
>>996 ごめんなさい…
例えば6月30日の21時に到着したくて
そこまでたどり着くのに30時間21分かかるとして
だったら何日の何時に出発すればいいのかという質問なのですが
996のやり方がわかりません…
>>991 A5=60-A4
A7=A4+A5-A6
知らん。なんかテキトーにやってオートフィルでいいんじゃない?
indirectやoffsetが役に立つかもしれない
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。