Excel総合相談所 102

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう
前スレ
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 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
  ここは技術的な質問のみで。
2名無しさん@そうだ選挙にいこう:2012/04/19(木) 20:50:11.52
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
3名無しさん@そうだ選挙にいこう:2012/04/19(木) 21:06:47.11
>>2
[Ctrl]+[G]でイミディエイトウィンドウを表示して、
Forループの中に
Debug.Print F & i, e & i
を追記して実行すればわかる
4名無しさん@そうだ選挙にいこう:2012/04/19(木) 21:09:34.63
>>2
With Range(Cells(F & i, 3), Cells(e & i, 35))
F1とF別変数だよ
これFとeの変数に何もはいってないだろ

Option Explicitを付けてみればわかる
5名無しさん@そうだ選挙にいこう:2012/04/19(木) 21:23:10.88
>>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

なんかイマイチだよね〜
6名無しさん@そうだ選挙にいこう:2012/04/19(木) 21:28:57.84
配列変数を使えよ
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
7名無しさん@そうだ選挙にいこう:2012/04/19(木) 23:34:33.80
すみません、ドロップダウンでいいのかわかりませんが
番号を選択して文字を表示させたいのですが
どうすれば良いのでしょうか?
ttp://www.fastpic.jp/images/489/7968742575.jpg
8名無しさん@そうだ選挙にいこう:2012/04/19(木) 23:42:07.68
>>7
VLOOKUP関数でググれ
9名無しさん@そうだ選挙にいこう:2012/04/19(木) 23:52:15.31
>8
超ありがとう!これで明日から工数低減できる!!
10名無しさん@そうだ選挙にいこう:2012/04/21(土) 22:47:01.06
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
11名無しさん@そうだ選挙にいこう:2012/04/21(土) 22:47:22.40
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
12名無しさん@そうだ選挙にいこう:2012/04/21(土) 23:16:34.72
>>10
シンプルってどういう意味で使ってるの?
13名無しさん@そうだ選挙にいこう:2012/04/21(土) 23:27:43.38
>>10
処理を抜き出してサブプロシージャ化してみるとか
14名無しさん@そうだ選挙にいこう:2012/04/22(日) 00:18:17.96
>>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

だけでもずいぶんすっきり
15名無しさん@そうだ選挙にいこう:2012/04/22(日) 00:21:57.52
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行目に来る場合でもこの現象は起こるようなのだが・・・。
16名無しさん@そうだ選挙にいこう:2012/04/22(日) 00:33:36.88
>>10

Sub Macro2()
 With Range("B2:E4").Borders
  .LineStyle = xlNone
  .LineStyle = xlContinuous
  .ColorIndex = 3
 End With
End Sub
17名無しさん@そうだ選挙にいこう:2012/04/22(日) 00:33:50.63
>>15
>>1
>・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
>  ここは技術的な質問のみで。
18名無しさん@そうだ選挙にいこう:2012/04/22(日) 08:58:43.28
>>15
ピボットなら
得意先をページのフィールドにしてしまえばいいじゃん
1910:2012/04/22(日) 19:49:23.45
>>13
はぁ?

>>14
おぉ

>>16
GJ
20名無しさん@そうだ選挙にいこう:2012/04/24(火) 21:13:10.41
オートフィルタじゃなくフィルタオプション機能で、セルに書いといた複雑な条件によるフィルタリングをした場合。
フィルタリング後の表から、フィルタ条件を探り直すことは、やっぱり出来ないんだよね?
オートフィルタなら、フィルタリングボタンを押して探ることでフィルタ条件を探り直すことが出来るけど、それが出来ないのかってこと。
上記の「セルに書いといた複雑な条件」を消さずに置いとけば良いという問題ではない。それはあくまでメモ程度でしかなく、確証につながらないから。
何とかならないのかな。
21名無しさん@そうだ選挙にいこう:2012/04/24(火) 21:23:02.06
>>20
セルに書いといた複雑な条件とフィルタリング結果のシートをパスワード付きで保護しておくとか?

オートフィルタだってフィルタリングした後にセルの内容書き換えたり非表示にしたり操作できるんだから
事後にフィルタリングボタンを押してもメモが見れるだけだと思うんだけど
イマイチ状況がわからない
22名無しさん@そうだ選挙にいこう:2012/04/24(火) 21:29:57.73
>>21

>オートフィルタだってフィルタリングした後にセルの内容書き換えたり非表示にしたり操作できるんだから
>事後にフィルタリングボタンを押してもメモが見れるだけだと思うんだけど

そこまで言い出したらキリがないので、そこまでは考えない。
フィルタ後の表を、自分以外の第三者に、特にフィルタオプション機能を(というか、フィルタオプションで
「*商店*」とか使うワイルドカード等を)知らない第三者に見せた時に「こうやってフィルタリングしたんですよ」と
客観的に見せたいんだよね。フィルタオプションをした手順を一から丁寧に再現するしかないのかと思うが。
23名無しさん@そうだ選挙にいこう:2012/04/24(火) 21:42:06.07
>>22
それだと元の質問の
「フィルタリング後の表から、フィルタ条件を探り直すこと」
とは関係がないような気がするけど

読解力がないクセにレスしてんなよ俺
24名無しさん@そうだ選挙にいこう:2012/04/25(水) 08:15:25.15
オートフィルタをかけた状態で、マウスドラッグのオートフィルの代わりに
キーボードでやる方法ありますか?
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桁毎に,をうつ方法教えて頂けないでしょうか
よろしくお願いいたします
26名無しさん@そうだ選挙にいこう:2012/04/25(水) 16:27:52.15
=TEXT(G12/10000,"#,###")&"万円 +"& TEXT(G13/10000,"#,###")&"万円"
27名無しさん@そうだ選挙にいこう:2012/04/25(水) 16:28:24.96
>>25
=TEXT(G12/10000,"#,##0万円")&"+"&TEXT(G13/10000,"#,##0万円")
28名無しさん@そうだ選挙にいこう:2012/04/25(水) 16:28:58.36
おっと被った;
29名無しさん@そうだ選挙にいこう:2012/04/25(水) 17:39:12.97
win7 エクセル10を使用。

ROUND関数で27.4999といった数字を四捨五入して27と表示したいのですが
27.5扱いにされ28に四捨五入してしまいます。
どうしたらいいですか?
30名無しさん@そうだ選挙にいこう:2012/04/25(水) 17:56:17.37
>>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と表示されてしまうんですよ。
33名無しさん@そうだ選挙にいこう:2012/04/25(水) 18:20:25.73
34名無しさん@そうだ選挙にいこう:2012/04/25(水) 18:53:31.25
>>32
(0.1+1)*2/12 を四捨五入すればいいと思う
35名無しさん@そうだ選挙にいこう:2012/04/25(水) 19:28:16.79
>>34
=ROUND((0.1+1)*2/12,0)*150としたところ
0と表示されました
36名無しさん@そうだ選挙にいこう:2012/04/25(水) 19:47:43.37
>>35
ROUND関数のヘルプ読め
37名無しさん@そうだ選挙にいこう:2012/04/25(水) 23:15:43.47
>>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
>>26,>>27さんありがとうございます
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

という感じです
42名無しさん@そうだ選挙にいこう:2012/04/26(木) 21:33:20.37
週の区切りは1日始まりの7日ごと?
それとも土日月のいずれかで区切るの?

前者だと関数使うまでもないし(第5週を表示するか否かぐらい)

後者だと第1週の長さが変わるんで、2行目にセル結合使えないし
かといって、個々の列に関数入っていればセル幅越えての表示もできないからなー
43名無しさん@そうだ選挙にいこう:2012/04/26(木) 21:44:33.69
>>42
週の区切りはカレンダー通りです
日曜始まりの土曜終わり、で1週間

なので、1週間の日数がまちまち(特に第1週と最終週)なのが頭イタイというか
これまでは1から31は使いまわしで、
週数はセル結合の範囲を変えながら手入力してたんですけども
何かいい方法はないかと思いまして

44名無しさん@そうだ選挙にいこう:2012/04/26(木) 22:20:38.97
>>43
「excel 第何週」でググればサンプルが見つかるかと
4544:2012/04/26(木) 22:25:34.67
あ、数式が知りたい訳じゃなくて、セルにうまく収める方法を知りたいって事か
1日が土曜日だと1セルに「第1週」って入れないといけないから、そもそも無理があるような?
46名無しさん@そうだ選挙にいこう:2012/04/27(金) 00:13:48.34
>>41
VBA使わないと無理
47複乳:2012/04/27(金) 01:01:03.31
>>41
http://www.dotup.org/uploda/www.dotup.org2906952.xls.html
2行目のユーザー書式に「第0週」
A2=1
B2=IF(WEEKDAY(DATE(YEAR($A$1),MONTH($A$1),B3))=1,MAX($A$2:A2)+1,"")
右にオートフィル

後はおまけで三行目に条件付き書式で使って見やすくしてます。
不要なら消せばok
48名無しさん@そうだ選挙にいこう:2012/04/27(金) 08:37:59.60
どなたか>>24おながいします
49名無しさん@そうだ選挙にいこう:2012/04/27(金) 08:40:11.36
>>48
ありません
50名無しさん@そうだ選挙にいこう:2012/04/27(金) 13:24:02.01
>>48
▼のついてるセルをアクティブにした状態で
Alt+↓or↑でプルダウンが出現する
5150:2012/04/27(金) 13:44:45.25
>>48
あ、ごめ; 勘違いしてた
「オートフィルタ」と「キーボード」しか見てなかったお; orz
52名無しさん@そうだ選挙にいこう:2012/04/27(金) 13:50:40.81
>>50
なにか違うものが出てきました・・


(空白)
(空白)

(空白)
(空白)
これをフィルタで(空白)を表示させて
A2セルの(空白)を=A1にして、一番下までオートフィルしてフィルタ解除すると






になるのですが、それをキーボードかマクロ?で出来ないかなと。
53名無しさん@そうだ選挙にいこう:2012/04/27(金) 14:19:17.24
>>52
それならコピペでいいんじゃないの?
[Ctrl]+[C] → [Ctrl]+[V]
54名無しさん@そうだ選挙にいこう:2012/04/27(金) 15:35:06.72
>>52
そういう事がしたいなら、 
あ(空白)(空白) を選択して Ctrl+D
をすれば、選択範囲の最上セルを複製できるよ。
俺が普段から愛用しているショートカットキーなのだ♪

Ctrl+D → 上のセルと一緒にする
Ctrl+R → 左のセルと一緒にする
55名無しさん@そうだ選挙にいこう:2012/04/27(金) 18:55:26.73
>>54
おお、便利なショートカットですね。

でも「あ」「い」が500ぐらいあるので・・
56名無しさん@そうだ選挙にいこう:2012/04/27(金) 19:01:43.22
>>41
↓の例では行列(週と曜日)をキーにしてカレンダーを作ってる。

http://youtu.be/blV24dV87j0

らくちん、らくちんw
57名無しさん@そうだ選挙にいこう:2012/04/27(金) 23:45:38.20
亀レスですんません
>>41っす

>>44
ありがとうございます!
早速ぐぐりますた
イケそうなところまでは詰められたんですが最後までイケませんですたorz
がとても勉強になるページをたくさん見られてよかったです

>>47
おおおおコレです、まさにこんな感じです!
WEEKNUMとDATEで何とかならんかとかジタバタしておりますたが
自力でまとまりませんですたorz
そのまま使わせていただきます!
ありがとうございますた!

>>56
ありがとうございます!
あっなるほど・・・という感じですね
自分も万年カレンダーを作ってるんですが、
全然ちがう方法をとってますた
ぜひ参考にしたいと思います!
ありがとうございますた!
58名無しさん@そうだ選挙にいこう:2012/04/28(土) 10:11:09.79
別ファイルの参照について質問です。
オンラインストレージにファイルを置いていて、そのオンラインストレージから、2つのパソコンの2つのファイルのセルを参照したいんです。

具体的には同じような表データがあって、それぞれの合計値をオンラインストレージのファイルで表示したいんです。
どのようにすればいいんでしょう
59名無しさん@そうだ選挙にいこう:2012/04/28(土) 10:17:43.74
【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点ずつ下がるように
自動得起算してくれるようにしたいです。

関数を調べてみたのですが、よくわかりません。
お手数ですが関数計算式を教えて頂けますでしょうか。

よろしくお願いいたします


60名無しさん@そうだ選挙にいこう:2012/04/28(土) 10:19:00.37
>>58
「Book1.xls」の「Sheet1」の「A1」セルを参照する場合こんな感じで参照できる
=[Book1.xls]Sheet1!A1
61名無しさん@そうだ選挙にいこう:2012/04/28(土) 10:31:54.96
>>59
=INT(C1*100)-90
62名無しさん@そうだ選挙にいこう:2012/04/28(土) 10:34:47.47
>>60
aとbの2つのパソコンをつないでいて、そのうちのaのパソコンのcドライブ直下のファイルを指定する時はどうすればいいのでしょうか?
63名無しさん@そうだ選挙にいこう:2012/04/28(土) 10:40:05.26
>>62
Cドライブ直下なら
='C:\[Book1.xls]Sheet1'!A1
64名無しさん@そうだ選挙にいこう:2012/04/28(土) 10:41:56.91
>>63
それはオンラインストレージ上のファイルからaとbどちらのパソコンを参照するのでしょうか?
パソコンの名前は違うので、それで指定することはできないのでしょうか
65名無しさん@そうだ選挙にいこう:2012/04/28(土) 10:54:38.32
>>64
あなたの周りにもうちょっと第三者に理解できるように説明できる人はいないの?
66名無しさん@そうだ選挙にいこう:2012/04/28(土) 11:00:28.51
>>61

ありがとうございます。
C列はどう設定すればいいですか?
67名無しさん@そうだ選挙にいこう:2012/04/28(土) 11:10:14.57
>>64の言いたいことはわかるけど、無理だと思うわ
68名無しさん@そうだ選挙にいこう:2012/04/28(土) 11:18:21.37
http://www.dotup.org/uploda/www.dotup.org2911515.jpg

こんな感じです。無理でしょうか?
69名無しさん@そうだ選挙にいこう:2012/04/28(土) 11:23:09.68
>>68
無理w
70名無しさん@そうだ選挙にいこう:2012/04/28(土) 11:23:36.03
>>66
ROUNDDOWN関数
71名無しさん@そうだ選挙にいこう:2012/04/28(土) 17:36:27.98
>>68
ストレージのファイルを開いておいて、
参照元のファイルからセルをリンク貼り付けしたらあかんの?

参照元ブックがあっちこっち移動するんならどうしようもないけど
72名無しさん@そうだ選挙にいこう:2012/04/28(土) 17:39:58.06
>>71
移動はしませんが、ネットに繋がっていない状態でも使いたいファイルなんです
73名無しさん@そうだ選挙にいこう:2012/04/28(土) 17:44:49.09
>>64
マイネットワークから対象のブックがあるフォルダ開いたら
アドレスバーにパスが出るのでそれをコピーして以下のパスに貼る
='パス\[Book1.xls]Sheet1'!A1

こんな感じ
='\\ネットワーク上のPC名\フォルダ…\[以下略
シングルクォテーションの位置注意な
74名無しさん@そうだ選挙にいこう:2012/04/28(土) 17:47:59.55
>>72
って、そもそもネット繋がってないなら
別PCのファイルなんて参照できんやろー!!!

前提条件から崩してくれるなや!!
75名無しさん@そうだ選挙にいこう:2012/04/28(土) 17:51:15.08
>>74
オンラインストレージ上のファイルで2つのファイルのA1のセルの合計を見たいんです。
その、オンラインストレージのファイルを見るときはどちらのPCもネットにつながっている状態ですが
そのローカルに保存してあるファイルを編集するときは必ずしもネットが使える状態とは限らないのです・・。
76名無しさん@そうだ選挙にいこう:2012/04/28(土) 18:58:53.16
>>75
VBAでやれ
77名無しさん@そうだ選挙にいこう:2012/04/28(土) 19:02:48.11
>>76
javaとphpをやっていたので、VBAも基本的な事なら出来ると思います。教えて頂けませんか
78名無しさん@そうだ選挙にいこう:2012/04/28(土) 19:08:23.93
79名無しさん@そうだ選挙にいこう:2012/04/28(土) 21:21:47.86
それぞれc:\を共有設定し、PC-AのC:をY:、PC-BのC:をZ:で
ネットワークドライブの割り当てをする。
='Y:\[num.xls]Sheet1'!A1
='Z:\[num.xls]Sheet1'!A1
80名無しさん@そうだ選挙にいこう:2012/04/28(土) 23:28:51.45
普通にdropboxとかで同一アカウント使えばいいだけなんじゃないのそれ。
81名無しさん@そうだ選挙にいこう:2012/04/29(日) 00:22:21.15
>>59です。

同じ状況なのですが、今度は100%なら10点、99.5%なら8点、99なら6点
98.5以上なら4点、98以上なら2点、それ未満なら0点とD列に設定するには
どうしたらいいですか?
82名無しさん@そうだ選挙にいこう:2012/04/29(日) 00:37:48.67
>>81
=(C1>=0.98)*((C1/0.005-200)*2+10)
8382:2012/04/29(日) 00:41:14.25
98.5以上と98以上の「以上」を見逃してた
=(C1>=0.98)*(INT(C1/0.005-200)*2+10)
84名無しさん@そうだ選挙にいこう:2012/04/29(日) 01:35:21.72
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

(続く)
85名無しさん@そうだ選挙にいこう:2012/04/29(日) 01:36:03.45
>>84の続き)

このマクロでは、Excelブックかどうかは判定しないものの、ファイル属性は拾えているはずなのですが、
どういうわけか読み込み専用ファイルも拾われてしまいます。
Dir関数にファイル属性を指定していることが問題かも知れませんので、
最初のDir関数を次にしました。
RepStr = Dir(ParentDir)
この場合、非表示も読み込み専用も表示されないはずですが、
これでも読み込み専用ファイルが拾われてしまいます。

では、「読み込み専用」のイメージが間違っているのでしょうか。
GetAttr関数で読み込み専用ファイルの属性を調べると1(または33)となり、
どうやら間違ってはいなさそうです。

質問は、以下の1点です。
・Dir関数は読み込み専用ファイルをフィルタリング出来ないのでしょうか。

以上、よろしくお願いします。
86名無しさん@そうだ選挙にいこう:2012/04/29(日) 09:13:16.84
>>83

ありがとうございます。
今度は同じ条件で、100%は5点、98%以上は4点、96%以上3点、94%以上2点、92%以上1点
92%未満は0点とするにはどうしたら良いですか?

また、A〜E列に各列のセルに○印を書いたら、その丸の数をカウントして
そのマルの数をF列に数値化(マルが5個あったら「5」、3個だったら「3」)と
するにはどうしたらいいですか?
87名無しさん@そうだ選挙にいこう:2012/04/29(日) 09:30:20.27
>>86
前者は>>83の応用でできる
後者はCOUNTIF関数を使う
88名無しさん@そうだ選挙にいこう:2012/04/29(日) 09:31:20.64
>>84
XP+2003でも同じだった
89名無しさん@そうだ選挙にいこう:2012/04/29(日) 12:06:19.76
>>86
まずはExcelの関数本、1冊買っちゃいなよ
千円前後だし1冊あればExcelのバージョン上げない限り買い換える必要ないしな

それよりも、ひょっとしなくても学生のPC演習の宿題手伝わされてるのか 
ってぐらいな質問内容ばっかりなんだが
90名無しさん@そうだ選挙にいこう:2012/04/29(日) 12:17:55.97
大きなお世話
91名無しさん@そうだ選挙にいこう:2012/04/29(日) 15:40:42.33
>>88
そうですか・・・
何ででしょうね・・・?
92名無しさん@そうだ選挙にいこう:2012/04/29(日) 16:23:03.01
>>91
バグじゃない?
MSに問い合わせれば確実かと
93名無しさん@そうだ選挙にいこう:2012/04/29(日) 19:41:53.55
>>89
俺なんか2000時代に買った関数辞書まだ使ってるぞw
キューブとか出てきたからぼちぼち買い換えるかどうしようか考えてるが

キューブ関数使うような仕事してねーしなあ
94名無しさん@そうだ選挙にいこう:2012/04/29(日) 19:58:21.77
>>61

何度も質問すみません。
もし、90%未満なら0を設定する場合、どのような計算式になるのでしょうか?
95名無しさん@そうだ選挙にいこう:2012/04/29(日) 21:10:07.29
if文使え
96名無しさん@そうだ選挙にいこう:2012/04/29(日) 21:14:44.99
>>94
IF関数使えばできる
97名無しさん@そうだ選挙にいこう:2012/04/29(日) 23:25:18.26
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2007

バリバリ使おうと思って、
XML形式のファイル(20MBくらいのサイズ)から
3万行×10列くらいのテーブルを
読み込もうとしたのですが固まってしまいます。

処理能力的にEXCELではムリポでしょうか?
98名無しさん@そうだ選挙にいこう:2012/04/29(日) 23:30:09.65
>>97
その程度のサイズなら全然余裕だと思うけど
9997:2012/04/29(日) 23:55:02.22
テーブルの行数を減らしたファイルでもやってみた

1000行:すぐ
7000行:1分半くらい
13000行:2分半くらい

結構時間かかるなあ
100名無しさん@そうだ選挙にいこう:2012/04/30(月) 00:22:45.63
スペック
101名無しさん@そうだ選挙にいこう:2012/04/30(月) 00:46:17.18
>>99
まさかとは思うけど自作のVBAマクロで読み込んでたりしないよね?
102名無しさん@そうだ選挙にいこう:2012/04/30(月) 04:36:13.84
>97
処理能力云々ではなく、エクセルは重いファイルの取り扱いが下手
csvにできるならしてみれば良い
103名無しさん@そうだ選挙にいこう:2012/04/30(月) 05:12:33.29
2010で作ったシートが2003にコピーできません!
(たぶん、行数と列数が増えたからだと思います)
範囲指定してコピペると、列幅とか行幅がデフォのままなので
これではダメぽ。
104名無しさん@そうだ選挙にいこう:2012/04/30(月) 06:09:42.46
>>103
2010から2003形式で保存して2003で開き直す
105名無しさん@そうだ選挙にいこう:2012/04/30(月) 10:09:01.49
>>97
テスト環境で65500行×22列×7シート
とかのファイル扱ってるけど全然問題ないぞ
さすがに開くときはちょっと時間かかるけど

XML形式なのがマズーじゃないのかな
106名無しさん@そうだ選挙にいこう:2012/04/30(月) 15:58:12.35
5000行前後ならエクセルで全然ストレスないけど
10000行超えるようなやつはアクセス使ってる
107名無しさん@そうだ選挙にいこう:2012/04/30(月) 16:54:31.91
以下のようなデータ行が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
108名無しさん@そうだ選挙にいこう:2012/04/30(月) 17:09:41.61
>>107
1、数字を出すだけならピボットテーブルにA列だけ入れてみて行数見る。
2、A列だけで重複の削除をしてみたらどう?
3、A列を昇順で並べ替えておき、C1に1、C2に=if(A2=A1,C1,C1+1)にして下までドラッグして一番下の数字を見る。
109名無しさん@そうだ選挙にいこう:2012/04/30(月) 17:29:51.00
>>104
ども
110名無しさん@そうだ選挙にいこう:2012/04/30(月) 17:31:32.44
>>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名無しさん@そうだ選挙にいこう:2012/04/30(月) 18:27:55.42
>>111
棒グラフだからじゃないの?
113名無しさん@そうだ選挙にいこう:2012/04/30(月) 18:37:29.41
>>112
電気ガス水道が折れ線でガソリン灯油が棒なんですが
複合だとプロット補完できなくなるんでしょうか。
全部折れ線にして試してみます。
114111・113:2012/04/30(月) 18:45:16.67
全部折れ線にしたらプロット補完選択できました。
それから他の要素を縦棒にしたら思い通りの形にできました。
ありがとうございました。
115名無しさん@そうだ選挙にいこう:2012/04/30(月) 19:34:59.32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

横一列B2〜CZ2までデータが入っていますが、一部無効回答で空欄になっています。
「データが入っているセル」の数を数える関数って何を使えばいいですか?
116名無しさん@そうだ選挙にいこう:2012/04/30(月) 19:47:21.37
【1 OSの種類         .】 Windows XP Home Edition
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 すみません、意味が判りません
【4 VBAでの回答の可否】 可・否 :同上です
シートを増やそうとすると、たとえば2と3の間なら簡単に挿入できますが、
3の右に作りたい時はどうすればいいのでしょう?
できれば優しく教えてください。本当にごめんなさい。
117名無しさん@そうだ選挙にいこう:2012/04/30(月) 20:03:33.74
>>115
データが数値ならCOUNT
データが文字列ならCOUNTAで

>>116
新しいシートはどうやっても既存シートの左側にできるので、
新しいシートの番号部分を、シートをおきたい場所にドラッグする
118名無しさん@そうだ選挙にいこう:2012/04/30(月) 20:56:11.41
【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
119名無しさん@そうだ選挙にいこう:2012/04/30(月) 21:20:00.76
>>117
お答えありがとうございました。
120名無しさん@そうだ選挙にいこう:2012/04/30(月) 21:20:47.26
>>118
何を質問しているのかよくわからないので想像だけど
マクロの実行は[Alt]+[F8]でできる
121118:2012/04/30(月) 21:42:49.15
>>120
質問趣旨がはっきりしなくて済みません。記述したvbaを実行しても
望んだ結果になりません。

  A B C

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の優先順位でソートをさせたいのですがどうしたら良いでしょうか。
122名無しさん@そうだ選挙にいこう:2012/04/30(月) 22:26:07.41
>>121
Columns.Count じゃなくColumn
123名無しさん@そうだ選挙にいこう:2012/04/30(月) 22:29:22.66
>>122
動きました!ありがとう御座いますm(__)m
124名無しさん@そうだ選挙にいこう:2012/05/01(火) 11:16:51.77
マクロを個人用マクロブックに保存して使っていたのですが
いつのまにか マクロを実行するたび「PERSONAL.xls」というのが開くようになりました。
今まではバックグラウンドで動いていたのかなと思うのですが、どうやったら戻りますか?
125名無しさん@そうだ選挙にいこう:2012/05/01(火) 11:41:15.55
>>124
[ウィンドウ]→[表示しない]
126名無しさん@そうだ選挙にいこう:2012/05/01(火) 13:40:52.56
>>125
ありがとうございます。
127名無しさん@そうだ選挙にいこう:2012/05/02(水) 20:41:29.29
【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セルに計算式を入れるとかいうのは避けたい。そんな大量に式を入れたら重くなるので。
この場合の計算式は、どうしたらいいかな?
128名無しさん@そうだ選挙にいこう:2012/05/02(水) 20:57:24.30
>>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を入れるにはどうしたらいいでしょうか
130名無しさん@そうだ選挙にいこう:2012/05/02(水) 23:57:36.72
>>129
Excel2000だと書式設定 yy/mm でセルに2012/5を入力したら 12/05 で表示されるけど?
131名無しさん@そうだ選挙にいこう:2012/05/03(木) 00:04:49.65
>>130
Excel2000の質問なんてしてないけど?
132名無しさん@そうだ選挙にいこう:2012/05/03(木) 00:06:51.93
>>129
2010でも>>130同様きちんと12/05の表示でしたが。
133名無しさん@そうだ選挙にいこう:2012/05/03(木) 00:09:39.60
2007でもだな
134名無しさん@そうだ選挙にいこう:2012/05/03(木) 00:12:28.53
2003でも12/05になった
135名無しさん@そうだ選挙にいこう:2012/05/03(木) 00:41:59.00
>127
オートフィルタでコピーが一番楽と思う
計算式というなら、
シート3のA1=シート1のA1
136名無しさん@そうだ選挙にいこう:2012/05/03(木) 00:44:05.42
>135の続き
途中で書き込んでしまった。スマン

シート3のA1=シート1のA1
シート3のA2=シート1のA2
・・という風に、シート3のセル全てをシート1と同じにする
そうすればC列の作業列が使えるので、
それをシート2で引っ張ってくる

vba使えるならソレが一番早いし軽いと思う
137名無しさん@そうだ選挙にいこう:2012/05/03(木) 11:17:01.93
>>129です
>>130-134
ご回答ありがとうございますた
ええええそんなーという感じで自宅の2003でやってみたら、
ちゃんと12/05になりますたorz
職場が2007なんですが、
何度やっても12/5になるので質問したのですが…
連休明けたらもう1回、書式クリアしてやってみます
ありがとうございました
138名無しさん@そうだ選挙にいこう:2012/05/03(木) 11:34:53.87
>129>137
思い出した
エクセルのロケール(国設定)が変わってるかもしれない

・書式設定で
[$-411]yy"年"mm"月"
と指定する

・OSの、”地域と言語のオプション”の辺りで海外設定になってるかもしれない
http://okwave.jp/qa/q6680990.html
で直す

・もし治らないようなら、
別PCで作りなおし、そのファイルにコピーする(うまくいくかどうかはわかりませんが)
139名無しさん@そうだ選挙にいこう:2012/05/03(木) 13:32:39.98
>>137です

おおっ、そんなことがありますか
外資にいるのでかなり可能性がありますです
早速やってみます
だめなようなら自宅から2003のファイルを送ってコピーしてみます
ありがとうございました!
140名無しさん@そうだ選挙にいこう:2012/05/03(木) 16:24:42.74
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を使って出せると思ったのですが、いまいちよくわかりません。

大変お手数ですが、宜しくお願いします。
141名無しさん@そうだ選挙にいこう:2012/05/03(木) 16:37:58.52
データが少なすぎてダメ
グラフ書いて近似曲線を作って、その数式を表示させて
納得行く数式に自分で修正して使え
142名無しさん@そうだ選挙にいこう:2012/05/03(木) 16:54:36.17
>>141
有り難うございます。
143名無しさん@そうだ選挙にいこう:2012/05/03(木) 18:35:27.97
【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される方法でも大丈夫です
144名無しさん@そうだ選挙にいこう:2012/05/03(木) 19:17:46.43
>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
)
145名無しさん@そうだ選挙にいこう:2012/05/03(木) 19:33:54.54
>>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は使ったことがありません。
147名無しさん@そうだ選挙にいこう:2012/05/04(金) 01:56:38.84
>146
=SUMPRODUCT((B1:B10="会員")*(C1:C10="出席"))
=SUMPRODUCT((B1:B10="非会員")*(C1:C10="出席"))
148名無しさん@そうだ選挙にいこう:2012/05/04(金) 13:32:53.82
>147
ありがとう
149名無しさん@そうだ選挙にいこう:2012/05/04(金) 18:19:01.78
答えが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))
151名無しさん@そうだ選挙にいこう:2012/05/04(金) 18:26:04.97
>>150
即答ありがとうございます!
できました! 感謝!
152名無しさん@そうだ選挙にいこう:2012/05/04(金) 18:28:49.28
=NOT((A1+A2)=7)*1
うーん
153名無しさん@そうだ選挙にいこう:2012/05/04(金) 19:03:57.63
>>152
質問の意味がわからないんだが?
154名無しさん@そうだ選挙にいこう:2012/05/04(金) 19:24:35.85
【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の書式を変える

わかりにくいかもしれませんがよろしくお願いします
155名無しさん@そうだ選挙にいこう:2012/05/04(金) 19:52:30.69
>153>149
156名無しさん@そうだ選挙にいこう:2012/05/04(金) 20:59:35.94
>>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))
157名無しさん@そうだ選挙にいこう:2012/05/04(金) 21:05:52.83
>>156
1つ目の計算式間違ってた
=AND(COUNTIF(Sheet1!B1:E1,Sheet1!A1)<>4,COUNTA(Sheet1!B1:E1)<>0)
158154:2012/05/04(金) 21:53:08.48
すみません>>156>>157の数式では
条件 条件付き書式に他のワークシートまたはブックへの参照は使用出来ません。と出てしまいました
159名無しさん@そうだ選挙にいこう:2012/05/04(金) 21:57:54.18
>>158
sheet2のどこかに作業用のセルを設けてそこに数式設定して
条件付き書式はその作業用のセルを参照すればいいんじゃない?
160154: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年度分を追加していく形で作っていくつもりなのですが
必要ならアップします
162名無しさん@そうだ選挙にいこう:2012/05/05(土) 10:53:38.35
>>161
無理
163名無しさん@そうだ選挙にいこう:2012/05/05(土) 11:02:09.72
4月のグラフと5−6月のグラフを別に作成して並べる
164名無しさん@そうだ選挙にいこう:2012/05/05(土) 14:48:06.21
>>163
グラフとグラフって合成とか出来るんですか?
165名無しさん@そうだ選挙にいこう:2012/05/05(土) 15:01:02.57
図形を重ねる要領で
166名無しさん@そうだ選挙にいこう:2012/05/05(土) 15:16:44.54
グラフエリアの書式設定で背景を透明にして
重ねる感じですか?
やってみたんですが
167名無しさん@そうだ選挙にいこう:2012/05/05(土) 17:19:48.41
空白のデータを挟む
168名無しさん@そうだ選挙にいこう:2012/05/05(土) 22:06:00.23
【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
170名無しさん@そうだ選挙にいこう:2012/05/05(土) 23:15:23.31
>>168
=OR(
IF((う=""),(あ=い)),
IF((え=""),(AND(あ=い,い=う))),
IF((お=""),(AND(あ=い,い=う,う=え)))
)
171名無しさん@そうだ選挙にいこう:2012/05/05(土) 23:20:51.78
質問の意味がわからん
あ=いってなんだよ
172名無しさん@そうだ選挙にいこう:2012/05/05(土) 23:29:32.24
>>171
セルに名前定義する機能知らないの?
挿入→名前→定義 で定義できる
173名無しさん@そうだ選挙にいこう:2012/05/06(日) 00:01:18.10
>>170
ありがとうございます
174名無しさん@そうだ選挙にいこう:2012/05/06(日) 01:44:54.40
>172
す、すげぇ。普段から名前の定義使わないと気づかないな
175名無しさん@そうだ選挙にいこう:2012/05/06(日) 09:03:48.44
>>166
月ごとで作ると12枚重ねることになってめどいので
2011年度と2012年度で作成して背景透明
(作業中はグラフエリアの枠だけ残しておく)
完全に重ねるんじゃなくて、一方をずらせばOK
グラフの幅はお好みで設定してくれ

横軸は表示しないにして、折れ線の横軸を使うと自然な仕上がりに
176名無しさん@そうだ選挙にいこう:2012/05/06(日) 15:28:27.40
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
印刷範囲の設定はどうやっておこなうのでしょうか
177176:2012/05/06(日) 15:31:55.47
自己解決
178名無しさん@そうだ選挙にいこう:2012/05/06(日) 15:41:42.27
それはググれ
179名無しさん@そうだ選挙にいこう:2012/05/07(月) 21:03:19.89
【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   ○
180名無しさん@そうだ選挙にいこう:2012/05/07(月) 21:18:08.66
多分初歩的なことなんだろうけど、時間の計算で教えてください

開始時刻を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
#####になるのは幅が足りてないんだ・・・思いっきり伸ばしてやれ
182名無しさん@そうだ選挙にいこう:2012/05/07(月) 21:27:48.04
1と1:00はちがうぞ
183名無しさん@そうだ選挙にいこう:2012/05/07(月) 21:39:32.34
>>179
=COUNTIF(A1:E2,"○")
184名無しさん@そうだ選挙にいこう:2012/05/07(月) 21:41:15.83
>>181
セル幅100ぐらいにしてもずぅ〜っと ####### です w

>>182
今、=E3-D3-"1:00"ってやると正しく出ましたが、、
これで良いんですかね?
185名無しさん@そうだ選挙にいこう:2012/05/07(月) 21:43:02.05
>>184
それでOK
186名無しさん@そうだ選挙にいこう:2012/05/07(月) 21:49:47.04
時間の計算も一筋縄には行きませんなぁ
ありがとです。
187名無しさん@そうだ選挙にいこう:2012/05/07(月) 21:50:04.74
>>184
1とだけ書くと1日って意味になる
つまり24時間だから、1時間だけ引きたい時は
=E3-D3-(1/24)
みたいにする手もある
188名無しさん@そうだ選挙にいこう:2012/05/07(月) 21:59:12.01
シート1のA列に、
南九州商事
東大阪株式会社
西東京有限会社
・・・・・・・
西鹿児島物産
上埼玉鉄道
北九州不動産

と大量のデータが並んでる(1万件くらい)。この大量データの中で「九州」を含むものにはB列に番号「001」を、「東京」を含むものにはB列に番号「002」を・・・というようにあいまい検索を行なって
番号付けしていく作業をする場合、普通ならオートフィルタで「九州を含む」とか指定して地道にやっていくと思う。でも、その「○○を含む」の「○○」条件がかなり多く(200以上)、
単純作業の繰り返しに時間がかかってしまうのは苦痛だ。
しかもExcel2003なので、「○○を含む」条件を指定したかったら、フィルタの△ボタンを押して「オプション」ボタンを押して「・・・を含む」条件をコンボボックスから指定して・・・と、マウスの
細かい操作をしなきゃならなくて、きつい。この作業を、何とか効率化できないだろうか。マクロを使うしかないかな。絞込み条件に指定するキーワードと番号は、シート2に「*九州*」「東京*」・・・と
前もって登録しておけばいいのは間違いないのだろうけど。
189名無しさん@そうだ選挙にいこう:2012/05/07(月) 22:02:42.62
>>188
VBAでやればいいと思うけど?
190名無しさん@そうだ選挙にいこう:2012/05/07(月) 22:33:07.42
searchとかでも簡単だろ
191名無しさん@そうだ選挙にいこう:2012/05/08(火) 01:02:25.47
VBAについて質問です。
【1 OSの種類         .】 Windows 2003以降
【2 Excelのバージョン   】 Excel 2003以降

VBAのクラスモジュールを使用するとInstancingというプロパティ項目があります。
通常は「1 - Private」のままで良いので気にしないのですが、
これを「2 - PublicNotCreatable」とするケースがさっぱり分かりません。
このプロパティは何を設定するプロパティで、「2 - PublicNotCreatable」とは
どういう属性なのでしょうか。
192名無しさん@そうだ選挙にいこう:2012/05/08(火) 01:08:47.69
>>191
質問するよりググったほうが早いだろうに
http://support.microsoft.com/kb/555159/ja
193名無しさん@そうだ選挙にいこう:2012/05/08(火) 01:29:24.87
>188
http://www.dotup.org/uploda/www.dotup.org2956539.xls.html
つくっえおいた
マクロ作れるようになったほうがはやいとおjもうけど
194名無しさん@そうだ選挙にいこう:2012/05/08(火) 01:51:58.82
>>192
いや、そのサイトは見たんだけれど機械翻訳があまりにもまずすぎて
意味が分からないんですよ。
195名無しさん@そうだ選挙にいこう:2012/05/08(火) 02:06:36.68
>>191
翻訳酷過ぎ笑ったwww

クラスを継承させる時、親クラスを使わせたくない時がある
そういう時に使うと思う。
196名無しさん@そうだ選挙にいこう:2012/05/08(火) 02:27:00.58
>>195
うーん・・・VBなら分かるんですが、
VBAの場合、継承の機能はないですよね。
197名無しさん@そうだ選挙にいこう:2012/05/08(火) 03:28:35.46
>196
InheritsはVBだけだけでしたか、すいません
他には思いつかないな
198名無しさん@そうだ選挙にいこう:2012/05/08(火) 09:23:00.01
うっかりA列を表示しないにしてしまったのですが
再表示させる場合はどこをクリックして選択したらいいのでしょうか?
199名無しさん@そうだ選挙にいこう:2012/05/08(火) 10:25:24.58
CTRL+Aで右クリック 最表示
200名無しさん@そうだ選挙にいこう:2012/05/08(火) 11:11:59.38
>>194
>>192のURLの最後のjpをenにすればいいと思うよ
201名無しさん@そうだ選挙にいこう:2012/05/08(火) 11:26:40.27
A列で%で89.90%というように、パーセントで表示しています。
これをB列では、小数点第2位以下を切り捨てて、「8.9」と
表示させたいです。

たとえば、50.55%なら「5.0」、91.01%だと「9.1」に
したいです。

B列にはどのような関数を設定したらいいでしょうか?
202名無しさん@そうだ選挙にいこう:2012/05/08(火) 11:47:22.93
>201
=INT(A1*1000)/1000
203名無しさん@そうだ選挙にいこう:2012/05/08(火) 11:49:04.79
>201
と思ったら違った。こうしたいのね
=INT(A1*100)/10
204名無しさん@そうだ選挙にいこう:2012/05/08(火) 11:59:12.41
>>201
パーセント表示だから中身は0.899なんだろ?
なら
=ROUNDDOWN(A1*10, 1)
205名無しさん@そうだ選挙にいこう:2012/05/08(火) 12:16:06.10
助かりました
ありがとうございます
206名無しさん@そうだ選挙にいこう:2012/05/08(火) 17:34:01.04
>199
でません><
何か壊れてしまいまいたでしょうか?
207名無しさん@そうだ選挙にいこう:2012/05/08(火) 17:43:15.80
>>206
Excel2003までなら、アドレスボックス(選択しているセルのアドレスが表示されるところ)に
A1とかA:Aなど入れて[ENTER]
メニューの 書式>列>再表示 でいいんだけど、Excel2007以降は手元にないからしらん。
208名無しさん@そうだ選挙にいこう:2012/05/08(火) 19:06:57.39
>>207
2000ですが出ませんでした。諦めます。
ありがとうございますた。。
209名無しさん@そうだ選挙にいこう:2012/05/08(火) 19:58:50.98
B列選択して
隣のA列(見えないけど)までドラッグして選択して右クリックすれば
再表示コマンド出るでしょ
210名無しさん@そうだ選挙にいこう:2012/05/08(火) 20:35:17.70
グッドラッグ
211名無しさん@そうだ選挙にいこう:2012/05/08(火) 23:34:51.28
WinVistaのexcel2003なんですが
今時間を使った計算をやっちまいましてその計算のほうは問題ないんだけど
並んだ結果を見て見た目がウーン・・・書式で表記を変えたいんだけどなんかこうグッとこない
たとえば12:34:56みたいなのはこのままでいいんだけど
21:09:08になった時は21: 9: 8って0のところを半角スペースにしてみたい
かといって4:32:10が4:32:1 になったら困るしどうしたもんかなって

数値の時だと書式を###0にしたらみたいな感じで似たようなことできないスかね?
あーっとVBAとかなんとかいうのは使えませんテペペロン

セルを横に5つ使って
時間部分、コロン、分部分、コロン、秒部分
みたいにして
それぞれのところをVALUE(HOUR(時間))とかにして書式#0にする
っていう方法思いついたけどあんまりやりたくないなあせっかく計算式立てたのもあるし

書式のユーザー定義で一発ドーンみたいないい方法あったら教えて
212名無しさん@そうだ選挙にいこう:2012/05/08(火) 23:38:45.27
>>211
>書式のユーザー定義で一発ドーンみたいないい方法あったら教えて

無理
213名無しさん@そうだ選挙にいこう:2012/05/09(水) 00:08:01.56
無理なら仕方ないね
うん無理を言ってスマンかった
ありがとね
214名無しさん@そうだ選挙にいこう:2012/05/09(水) 00:15:23.43
>>211
セルを横に5つも使う方法が検討対象になるのに
数式で対処するのはNGなの?
215名無しさん@そうだ選挙にいこう:2012/05/09(水) 00:54:32.33
数式・・・?
って言われてから気付いた
時間&":"&分":"&秒
みたいな感じかな
全然きづかんかったわー
元の計算式が結構長いからうまくできるかわからんけど試してみよ
ありがとね!
216名無しさん@そうだ選挙にいこう:2012/05/09(水) 01:29:34.23
#0っていうのは0になって 0にはならないのね・・・ぐむむ
こりゃやっぱ無理ぽいかなー
IF使うとなるとカッコ制限がピンチになるし・・・
217名無しさん@そうだ選挙にいこう:2012/05/09(水) 04:33:45.71
>>216
VBAなら簡単だけど

っていうか、時刻の表示で0をスペースにするのはあからさまに不自然だと思うんだけど
218名無しさん@そうだ選挙にいこう:2012/05/09(水) 04:38:31.06
219名無しさん@そうだ選挙にいこう:2012/05/09(水) 06:42:47.23
>215
それでtext関数
220名無しさん@そうだ選挙にいこう:2012/05/09(水) 06:58:48.46
>211
>219はミスった。
E2=IF(HOUR(D2)<10," "&HOUR(D2),HOUR(D2))&":"&IF(MINUTE(D2)<10," "&MINUTE(D2),MINUTE(D2))&":"&IF(SECOND(D2)<10," "&SECOND(D2),SECOND(D2))
http://www.dotup.org/uploda/www.dotup.org2961072.jpg
やってみたけど、ずれてすごいみにくいわ
普通にh:mm:ss;@のほうがいいね
221名無しさん@そうだ選挙にいこう:2012/05/09(水) 08:05:21.03
>>220
ヒント MSゴシック
UIとPはスペースが数字より小さいからずれる
222名無しさん@そうだ選挙にいこう:2012/05/09(水) 08:17:15.46
他のセル使えよ
223名無しさん@そうだ選挙にいこう:2012/05/09(水) 09:18:32.76
>>212
スレとは関係ないんだけど、一発ドーンといえば、書式設定の「縮小して全体を表示する」がリボンに入ってないのが不思議でしょうがない。
みんな、文字を小さくするんじゃなくて表の大きさをUPしてんの?
224名無しさん@そうだ選挙にいこう:2012/05/09(水) 11:06:32.69
>>223
印刷プレビューのこと?
225名無しさん@そうだ選挙にいこう:2012/05/09(水) 11:24:11.88
>>223
似たので2010にある「選択範囲にあわせて拡大/縮小」という機能、2010以前のバージョンにない(2007にはあるかも)
からマクロで作っておいたことがある。

これはPCの画面サイズ・解像度が変わった場合に有効なんだよな。
226名無しさん@そうだ選挙にいこう:2012/05/09(水) 17:02:27.27
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

http://www.dotup.org/uploda/www.dotup.org2961906.xls.html
こんな感じにsheet1の続いた値をsheet3の様にしたいのですがsheet2のように
なってしまいます。手入力すればできるのですがなにかいい方法はあるでしょうか?
227名無しさん@そうだ選挙にいこう:2012/05/09(水) 17:13:51.28
>>226
数式だとこんな感じにするとか
=INDIRECT("Sheet1!A" & (INT(ROW()/59)+1))
228226:2012/05/09(水) 17:18:45.34
>>227
できました!ありごとうございます。これで捗ります。
229名無しさん@そうだ選挙にいこう:2012/05/09(水) 22:14:36.66
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

印刷方法の質問です。
複数のシートを両面印刷したいのですが、方法を教えて頂けますでしょうか。
用紙はA3で、表裏で上下逆にならない方法お願いします
230名無しさん@そうだ選挙にいこう:2012/05/09(水) 23:06:42.94
>>229
プリンタとプリンタドライバの設定の問題では?
231名無しさん@そうだ選挙にいこう:2012/05/09(水) 23:13:51.23
>229-230
お前らちょっとはぐぐれカス
エクセル 複数シート 両面印刷
232名無しさん@そうだ選挙にいこう:2012/05/10(木) 08:27:25.02
シートが別になってる場合はプリンタの設定で両面印刷は無理じゃね
233名無しさん@そうだ選挙にいこう:2012/05/10(木) 08:41:05.91
うげ、今試してみたら出来た。それぞれのシートを個別に両面印刷にしないとダメだったのか。
234名無しさん@そうだ選挙にいこう:2012/05/10(木) 20:56:28.10
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

リストと入力規則の練習中です。ご指導をお願いします。

検索してOFFSET関数を使うのかなとは思ったのですが上手くいきませんでした。
やりたいことはサンプルに記入しました。
よろしくお願いします。

ttp://www.dotup.org/uploda/www.dotup.org2966483.xls.html
235名無しさん@そうだ選挙にいこう:2012/05/10(木) 21:26:01.49
>>234
VBA使わないと無理じゃないかな
236名無しさん@そうだ選挙にいこう:2012/05/10(木) 21:29:50.64
連動はともかく
大項目のきれいなリストはなんとか作りたいのですm(_ _)m
237名無しさん@そうだ選挙にいこう:2012/05/10(木) 21:59:29.26
>>236
作業列作って空欄セルを取り除いたら?
238名無しさん@そうだ選挙にいこう:2012/05/10(木) 22:07:49.52
>>233
印刷からやるんじゃなくて書式の方で設定すれば一括で変更できる
出てくる画面はまったく同じなのに適用される範囲が違う
昔からある、Excelの落とし穴
239名無しさん@そうだ選挙にいこう:2012/05/10(木) 22:38:19.77
助けてください。抽出で困っています。
【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冊に出ている索引
それぞれを抽出したいのですが、どうすれば良いですか。
240名無しさん@そうだ選挙にいこう:2012/05/10(木) 22:40:18.68
>>239
表がくっついてしまってすみません。今書き直します。
241名無しさん@そうだ選挙にいこう:2012/05/10(木) 22:42:02.25
>>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名無しさん@そうだ選挙にいこう:2012/05/10(木) 22:47:31.82
おまえの日本語とその表が理解できんわ!!
243名無しさん@そうだ選挙にいこう:2012/05/10(木) 22:54:49.02
>>242
あなたの日本語はよく分かるのに。

索引 本A   本B    本C   本D
甲   p.7   p.4    p.1 ・・・甲が出ているページ

最初から指定したページまでの中で、どの本にも出ている索引。
滅多に出てこない索引。
まぁまぁ出てくる索引

を出して!と言われました。
244名無しさん@そうだ選挙にいこう:2012/05/10(木) 23:14:55.18
>>239
F列にこんな数式で
=IF(COUNTA(B2:E2)=4,"全ての本",COUNTA(B2:E2) & "冊に") & "に出ている索引"
245名無しさん@そうだ選挙にいこう:2012/05/10(木) 23:17:30.07
>>244
日本語理解してくれました?!
ありがとうございます。
やってみます。
苦しんでから結果報告いたします。
246244:2012/05/10(木) 23:19:26.06
>>245
ごめん、これ見落としてたわw
> 本Aはp.6まで、本Bはp.5まで、本Cはp.5まで、本Dはp.7までの範囲内で
247244:2012/05/10(木) 23:22:14.94
>>246
こんなんで
=COUNTIF(B2,"<=6")+COUNTIF(C2,"<=5")+COUNTIF(D2,"<=5")+COUNTIF(E2,"<=7")
248名無しさん@そうだ選挙にいこう:2012/05/10(木) 23:27:28.06
>>247
再度ありがとうございます。やってみます。
これで、索引の一覧が出てきたら嬉しいです。
249名無しさん@そうだ選挙にいこう:2012/05/11(金) 01:08:03.85
>>244

すごい!!サクッとできました。
とりあえず自分で頑張っていて挫折して、こちらの式を入れてみたらサクッとできました。

ありがとうございます。
感謝です。
250名無しさん@そうだ選挙にいこう:2012/05/11(金) 04:47:26.70
回答を見て、質問の意味がわかったぜ
251名無しさん@そうだ選挙にいこう:2012/05/11(金) 06:22:47.05
今回もエスパー度高い回答者だったな
252名無しさん@そうだ選挙にいこう:2012/05/11(金) 15:24:48.95
すいません、初歩的なことですが分からないので教えて下さい。

F22セルに数字を打ち込むとE22セルに計算式が出るようにしたいと思っています。
他のセルとF22に入力する数字によって計算したいのですが、
F22が空白の場合はE22も空白になるようにする方法がわかりません。

=IF(F22=" "," ",IF(B2*5%/(F5*F22)))
上記の関数ではダメなようです。

ご教示下さい。
253名無しさん@そうだ選挙にいこう:2012/05/11(金) 15:41:48.12
>>252
”5%”というのを他の形で表せば良い。
254名無しさん@そうだ選挙にいこう:2012/05/11(金) 15:57:58.89
XPsp3,EXCEL2003です。

知人(作成者ではない)から入手したEXCELシートの関数記述の中に
「J5C3」というセル参照があります。
前後のセル参照では「C3」で参照されているセルを参照しているようなのですが、
計算結果は、これで正しく算出されています。
関数内で「J5C3」という記述方法があるのでしょうか?
あれば、どういう意味なのでしょうか?
255名無しさん@そうだ選挙にいこう:2012/05/11(金) 16:15:46.00
>>254
ブックをアップするかコピペするかできないの?
256254: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)))
257252:2012/05/11(金) 16:39:03.86
>>253
ありがとうございました。
258名無しさん@そうだ選挙にいこう:2012/05/11(金) 16:40:29.59
連投で申し訳ありませんが
EXCEL2003のIF関数のネストは何階層までOKなのでしょうか?
259名無しさん@そうだ選挙にいこう:2012/05/11(金) 16:42:50.01
たしか7
260258:2012/05/11(金) 16:50:48.67
自己解決しました。取り下げます。
261名無しさん@そうだ選挙にいこう:2012/05/11(金) 18:08:19.77
>>256
作成者のミスじゃないかな?
6行目のIF関数が評価されると#NAME?になると思うよ
262256:2012/05/11(金) 18:11:51.42
>>261
レスありがとうございます。
たまたま6行目の条件が未発生でうまく行ってるってことですね。
263名無しさん@そうだ選挙にいこう:2012/05/11(金) 18:21:30.67
>>262
同意を求められてもブック見てない第三者に分かるわけない・・・
264名無しさん@そうだ選挙にいこう:2012/05/11(金) 19:53:03.05
=A5
=B5
の2つのセルがある。
んで=A5をA6に変更する。それに連動してもう一つのセルも
=B5から=B6に変わるようにするには
どうすればいい?

どうか教えろください
265名無しさん@そうだ選挙にいこう:2012/05/11(金) 20:06:08.94
大項目の綺麗なリストは作業列を使えば可能じゃないかい?
作業列といってもわりと力技になりそうだけど
266名無しさん@そうだ選挙にいこう:2012/05/11(金) 20:54:54.71
>>264
VBA
267名無しさん@そうだ選挙にいこう:2012/05/11(金) 21:24:40.26
>>264
最適かはサッパリわかんないけど、
作業列に5.6入れる列作ってindirect
268名無しさん@そうだ選挙にいこう:2012/05/12(土) 00:22:30.50
5を入力したら
2
2
1
って表示されるようにしたいんだが
どう組んだらいいの?
269名無しさん@そうだ選挙にいこう:2012/05/12(土) 00:25:50.26
=IF(A1=5,2)
=IF(A1=5,2)
=IF(A1=5,1)
270名無しさん@そうだ選挙にいこう:2012/05/12(土) 00:26:14.58
>268
A1=5
A2=INT(SQRT(A1))
A3=2
A4=A1-A2*A3
271名無しさん@そうだ選挙にいこう:2012/05/12(土) 00:26:20.63
>>268
5を入力するセルがA1の場合、
2 → =IF(A1=5,2,"")
1 → =IF(A1=5,1,"")
272名無しさん@そうだ選挙にいこう:2012/05/12(土) 13:37:50.55
EXCEL2003です。

呼び方が分からないのですが、
画面が印刷イメージで表示され、
ページ外枠が太い青線で、改ページ箇所が太い青の破線で表示され、
各ページイメージの真ん中に「1ページ」、「2ページ」…の透かしのような文字が
表示されるモード(?)を
解除して、普通のシートイメージで表示させるには、どうすれば良いのでしょうか?
273名無しさん@そうだ選挙にいこう:2012/05/12(土) 13:40:10.42
改ページプレビューを解除 ウィンドウの右下にアイコンが3つ並んでる
274名無しさん@そうだ選挙にいこう:2012/05/12(土) 13:56:17.44
メニューで表示−標準を選択
275名無しさん@そうだ選挙にいこう:2012/05/12(土) 15:42:48.63
質問のレベルが低すぎてワラタ
276名無しさん@そうだ選挙にいこう:2012/05/12(土) 15:50:11.21
>275
新参乙
277名無しさん@そうだ選挙にいこう:2012/05/12(土) 16:23:22.96
月ごとにsheetを作って出勤簿を作りたいのですが、前の月(sheet)の有給休暇の残りを、新しい月(sheet)に反映させるのはどのようにすればよいですか?
278名無しさん@そうだ選挙にいこう:2012/05/12(土) 17:06:02.43
>>277
=前の月のシート!セル番号
279名無しさん@そうだ選挙にいこう:2012/05/12(土) 17:55:50.60
>>278
ありがとうございました。
280名無しさん@そうだ選挙にいこう:2012/05/12(土) 20:45:55.68
改ページってたまに「全ての改ページを解除」を選択しても
解除されない時ってないか?
何回選択してクリックしても青線消えない時とかあるんだが
281名無しさん@そうだ選挙にいこう:2012/05/12(土) 23:03:12.15
当たり前だバカ
そりゃ印刷する紙の大きさには限界があるだろ
どんだけ低レベルなんだよ
もはやExcelの質問じゃねえぞ
282名無しさん@そうだ選挙にいこう:2012/05/12(土) 23:08:38.60

意味わかんない
283名無しさん@そうだ選挙にいこう:2012/05/12(土) 23:12:41.36
>>280>>281もよくわからない
284名無しさん@そうだ選挙にいこう:2012/05/12(土) 23:24:53.89
青い線と青い点線の違い
285名無しさん@そうだ選挙にいこう:2012/05/12(土) 23:46:21.17
>>280
ない

>>281
質問の意味を全く理解してない
286名無しさん@そうだ選挙にいこう:2012/05/13(日) 00:09:58.81
エクセルの印刷周りは最低だからどんなバグがあっても(゚ε゚)キニシナイ!!
287名無しさん@そうだ選挙にいこう:2012/05/13(日) 00:30:39.73
Excelのセルで入力したあと、セルの焦点をそのいま入力したセルのままにすることはできますか?
Enterを押すと下のセルにうつりますし、Tabを押すと右のセメにうつるので困ります。
かといってそのままにしておくと登録しておいたショートカットでそのセルに対してマクロが実行できません
288名無しさん@そうだ選挙にいこう:2012/05/13(日) 00:35:05.10
>287
どんなマクロかしらんけど前のセルに戻す動作もマクロに入れればいいんじゃないの
289名無しさん@そうだ選挙にいこう:2012/05/13(日) 00:46:32.32
>>287
オプションで「入力後にセルを移動する」のチェックを外す
290名無しさん@そうだ選挙にいこう:2012/05/13(日) 00:46:55.39
>>288
上のセルをマクロ対象にしろと申すか?

入力してマクロを実行するパターンと
すでに入力されてるセルを選択してマクロを実行するパターンがあり
後者の場合はわざわざ対象セルの下のセルを選択しないといけなくなり
そりゃマヌケだろが?
291名無しさん@そうだ選挙にいこう:2012/05/13(日) 00:48:51.38
>>289
本気で申してるのか?
その方法これまで30年もExcelをさわってきた無意識のセル入力感覚を破壊することになるぞ。
292名無しさん@そうだ選挙にいこう:2012/05/13(日) 00:51:44.79
なんかやばい人にレスしちゃったみたいだ・・・
早めに寝て忘れよう
293名無しさん@そうだ選挙にいこう:2012/05/13(日) 01:11:16.20
Enter→Shift+EnterとかTab→Shift+Tabとかで戻ってこいよ
って言おうと思ったけどやっぱやめた
コイツ頭悪そうだから何言っても無駄だわ
294名無しさん@そうだ選挙にいこう:2012/05/13(日) 08:26:29.52
>287
inputboxを用意し、書き込むセルも指定
そこからマクロに繋げるとか
295名無しさん@そうだ選挙にいこう:2012/05/13(日) 09:28:46.79
>>287
Ctrl押しながらEnter
296287:2012/05/13(日) 09:32:04.16
>>295
遅い
297名無しさん@そうだ選挙にいこう:2012/05/13(日) 09:44:25.61
>>295
ソレダ
そういう使い方もあるのか
298名無しさん@そうだ選挙にいこう:2012/05/13(日) 09:45:50.66
>>296
ゆとり中学生かな?小学生かな?
他のスレで荒らし方を覚えたんだね!すごーい^^
でも全然あれないね^^;
299名無しさん@そうだ選挙にいこう:2012/05/13(日) 14:35:25.80
>>298
近頃は地震は来るし、竜巻も来るし、ヒョウも降ってくるから
その程度じゃ荒れないんだろ
300名無しさん@そうだ選挙にいこう:2012/05/13(日) 15:47:53.10
ヒョウーーーーッ!!しゃうしゃうしゃう!!!あべしっ
301名無しさん@そうだ選挙にいこう:2012/05/13(日) 16:35:34.21
オワター!!
302名無しさん@そうだ選挙にいこう:2012/05/13(日) 17:47:29.69
質問が来ないとアホが来るスレだなw
初心者も遠慮なく質問しる
303名無しさん@そうだ選挙にいこう:2012/05/13(日) 18:19:42.14
自虐的だな
304名無しさん@そうだ選挙にいこう:2012/05/13(日) 19:08:23.38
最近Excelを学び始めた者です。
自分以外がデータ入力する場合に備えて入力されている式の説明を入れようとしたのですが、セルに入力するのはうまくないですね。
かといってコメントをベタベタ貼るのも邪魔なような気がします。
みなさんはこういう場合どうしますか?
305名無しさん@そうだ選挙にいこう:2012/05/13(日) 19:29:45.51
>>304
コメントを「常に表示」じゃなく、当該セルにマウスポインタがきたときだけ表示(規定値)でも邪魔ですか?
306304:2012/05/13(日) 19:33:27.06
邪魔だから聞いてるんです
307名無しさん@そうだ選挙にいこう:2012/05/13(日) 19:56:40.73
ということは何をやっても邪魔ですね
人に聞くのは諦めて自分で探してください
308304:2012/05/13(日) 19:58:42.91
なんだと、この野郎
309名無しさん@そうだ選挙にいこう:2012/05/13(日) 20:03:31.28
ChromeさんのアドオンのClip to Evernoteのスマートファイリングがマジうんこすぎるんだけど、ちゃんと学習してるんですか?
学習しないタイプであれば、毎回ノートを設定し直すのが面倒ですし、スマート〜をOFFにしようかと思うのですが。
学習してくれるのであれば、もうちょっと頑張って調教したい!!
310名無しさん@そうだ選挙にいこう:2012/05/13(日) 20:05:46.66
すまn誤爆

>>304
必要なセルの隣なり下なりにコメントを入力し、
列or行を選択、右クリックで非表示設定
でどうすかね?
311304: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
この式を展開したいのですがどうすればできますか?
314名無しさん@そうだ選挙にいこう:2012/05/13(日) 23:31:07.32
【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と表示したいのですがどうしたらいいのでしょうか?
315名無しさん@そうだ選挙にいこう:2012/05/13(日) 23:49:53.73
>>314
=HOUR(A1/24)
=MINUTE(A1/24)
316名無しさん@そうだ選挙にいこう:2012/05/13(日) 23:53:38.10
>>304
入力禁止のセルは何かの色で塗りつぶし+保護
別シートに説明
ダメ可能
317名無しさん@そうだ選挙にいこう:2012/05/14(月) 00:01:06.27
>>313
VBAじゃないと無理
318名無しさん@そうだ選挙にいこう:2012/05/14(月) 00:30:25.17
>>315
ありがとうございました
319名無しさん@そうだ選挙にいこう:2012/05/14(月) 01:36:11.28
どういたしまして
320名無しさん@そうだ選挙にいこう:2012/05/15(火) 15:15:09.60
ID出ないスレだとなりすましする馬鹿が居座るんだな

321名無しさん@そうだ選挙にいこう:2012/05/15(火) 20:05:11.00
Excel2010でファイルが突然開けなくなりました
ダブルクリックすると灰色の何もない画面が出ます
ネットに出ていたなんかのチェックを外すというのもやってみましたがダメでした
思い当たる節として、Bluetoothを1度切ったことがあります
どーしたら良いのでしょうか?
Windows7です

スレ違いだったら申し訳ないです
322名無しさん@そうだ選挙にいこう:2012/05/15(火) 20:07:00.57
>>321
なんかって何?
まぁ他のアプリケーションを無視する辺りだろうけど

Excel再インストールで対処できると思う
323名無しさん@そうだ選挙にいこう:2012/05/15(火) 20:38:05.25
>>321
その手のトラブルはこっちの方が確実
http://support.microsoft.com/oas/?gprid=14875
324名無しさん@そうだ選挙にいこう:2012/05/16(水) 03:01:59.53
windowsXPでexcel2003なんだけど
ttp://www1.axfc.net/uploader/Sc/so/346114
これの左の表みたいなのを右の表みたいに配置したいんだけど
自分でピボットいろいろいじってもうまくできないんだ
どうやったらいい?
ピボット以外でもいいけどvbaは使えません・・・
325名無しさん@そうだ選挙にいこう:2012/05/16(水) 10:21:47.41
>>324
元の表に1カラム追加して数式突っ込んだけど
http://www1.axfc.net/uploader/Sc/so/346161
326名無しさん@そうだ選挙にいこう:2012/05/16(水) 16:53:48.65
おぉーこういう時ピボットってこうやって使えばいいのかー
勉強になります!ありがとうございました!!
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

328名無しさん@そうだ選挙にいこう:2012/05/16(水) 18:08:16.42
>>327
indirectとrow、int辺りの組み合わせ
http://www.dotup.org/uploda/www.dotup.org2985656.xls.html

画像はどうしたいのか良くわからない
ハイパーリンクだけならHYPERLINK関数とindirectの組み合わせでいけると思うけど、
画像を表示させてるなら多分VBAがひつよう
329327:2012/05/16(水) 18:26:53.37
>>328
有り難う御座います。
まさにこれがしたかった事です。
INDIRECT関数を知りませんでした。
これは色々応用できますね。本当に助かりました。

画像はハイパーリンクで大丈夫です。
何とかなりそうなので後は自分で出来そうです。
330名無しさん@そうだ選挙にいこう:2012/05/16(水) 22:25:04.79
【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での回答の可否】 否

エラーのポップアップで
文字列を数値に変換を一つ一つではなくシートごと一括でできるのでしょうか?
332名無しさん@そうだ選挙にいこう:2012/05/16(水) 22:43:09.56
>>330
1)チェックボックスを置いたセルを、リンクするセルに設定(仮にA1とする)
2)A1セルのフォント色を白にする
3)B1の式=if(A1,10,"")
333名無しさん@そうだ選挙にいこう:2012/05/16(水) 22:47:24.15
>>330
vba必須
>>331
意味がわからんが、
ツール、エラーチェック。後はIなりF2enter連打するなり
334名無しさん@そうだ選挙にいこう:2012/05/16(水) 22:57:23.82
335名無しさん@そうだ選挙にいこう:2012/05/16(水) 23:16:03.93
チェックボックスとかラジオボタンって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の数値を
導き出すことはできるでしょうか?
337名無しさん@そうだ選挙にいこう:2012/05/17(木) 21:03:40.54
エクセルと関係無いような?

>1.33333の比率がどんどん下がり

そんな曖昧な条件では計算できない、条件不足。
338名無しさん@そうだ選挙にいこう:2012/05/17(木) 21:13:37.33
>>336
統計関数使えばできるんじゃない?
http://office.microsoft.com/ja-jp/excel-help/HP010342656.aspx
339名無しさん@そうだ選挙にいこう:2012/05/17(木) 22:33:09.35
>>336
=A1*1.333333
340名無しさん@そうだ選挙にいこう:2012/05/17(木) 22:39:01.81
>>339
それだと条件を満たしていない
> 1.33333の比率がどんどん下がり
341名無しさん@そうだ選挙にいこう:2012/05/17(木) 22:52:12.78
>>340
そこは>>336が説明ベタと解釈してえすぱー回答してやったらええやん。
342名無しさん@そうだ選挙にいこう:2012/05/18(金) 00:06:38.86
=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次でも良いでしょうけど。
345344:2012/05/18(金) 09:55:45.03
ごめん、
 >if関数使って、a1が0の場合だけb1を0とする。
これはいらない。
b1=60/(45^2) * a1^2
だけでいい。

比を求めたくなった時だけA1=0を別扱いすればいい。
346名無しさん@そうだ選挙にいこう:2012/05/18(金) 10:12:54.93
何のためにそれをしたいのかは多少気になる
347344:2012/05/18(金) 10:19:10.95
そうなんだよね。
目的によって式は変わるからね〜
348名無しさん@そうだ選挙にいこう:2012/05/18(金) 10:34:33.16
【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
列の境界線をダブルクリックすると、自動で列幅を調整してくれますが、これをいくつものシートにたいして一括で行うことはできるのでしょうか?
350名無しさん@そうだ選挙にいこう:2012/05/18(金) 19:01:35.34
調整したいシートを選択してから実行すればできる
351名無しさん@そうだ選挙にいこう:2012/05/18(金) 19:04:26.77
>>350
シートを選択とはタブをcntlキー押しながら選択し、どこかの境界線でダブルクリックするということでしょうか?
352名無しさん@そうだ選挙にいこう:2012/05/18(金) 19:11:07.85
はいそうです
353名無しさん@そうだ選挙にいこう:2012/05/18(金) 19:19:02.53
>>351
cntlキーではなくCtrlキーを押してください
354名無しさん@そうだ選挙にいこう:2012/05/18(金) 20:56:42.52
IF関数で時刻の判定が出来ません。
どのようにすれば可能でしょうか?
=IF(セル>"18:00",A,B)
↑こうしてやると、関数のエラーは出ませんが、正しい処理がされません。
セルの書式はは時刻設定されています。
355名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:03:30.38
>>354
=IF(A1>"18:00"*1,"A","B")
356名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:06:33.00
>>355
ありがとうございます。
その《*1》には、どのような意味があるのでしょうか?
357名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:16:47.57
文字列を数値にするってこと
そのままだと文字列との比較になる。なんか計算をかませるのであれば*1とかは要らないんだけど

http://www.eurus.dti.ne.jp/yoneyama/Excel/waza/jikan01.html#hikaku
358名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:17:20.32
"18:00"を0.75(シリアル=18/24)で計算して表示をh:mしたほうがいいよ。
359名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:21:32.43
それだと 0.75ってなんだっけ? てことになりやすい
360名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:23:35.27
表示はあくまでh:m
361名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:24:26.88
18/24かtime関数がいいと思う
0.75はわかりにくい。その場限りならどっちでもいいけどね
362名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:25:52.65
要するにシリアルで演算したほうがいいよってことね。
363名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:33:42.01
皆様、ありがとうございました!
364名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:43:29.40
18:00だからまだいいとして 18:03だったりしたらどうすんのと
365名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:48:27.55
=timevalue(好きな時刻)を入れてみてちょ
366名無しさん@そうだ選挙にいこう:2012/05/18(金) 22:02:19.33
日付や時刻を"5/18"とか"22:03"にすると、演算しかりグラフでその経過1(時間)が反映されないのし。
367名無しさん@そうだ選挙にいこう:2012/05/18(金) 22:26:48.88
>>365
=IF(セル>TIMEVALUE("18:00"),処理A,処理B)
でいいですか?
368名無しさん@そうだ選挙にいこう:2012/05/18(金) 22:29:46.01
関数使うくらいなら*1でいいやん
369名無しさん@そうだ選挙にいこう:2012/05/18(金) 22:30:46.31
>>367 okどす
370名無しさん@そうだ選挙にいこう:2012/05/18(金) 22:35:53.18
>>368
(゜ロ゜; そうですね。
371名無しさん@そうだ選挙にいこう:2012/05/18(金) 22:40:55.85
好きにしたらいい
372名無しさん@そうだ選挙にいこう:2012/05/18(金) 22:50:50.44
カメラ機能についておながいします。
表をちょこっと貼っちまいたい時なんかに重宝するんですが、
罫線が一部分だけぶっとくなったりするのは仕様でしょうか。

また、カメラのように選択部分を図に変換する機能はありますでしょうか。
373名無しさん@そうだ選挙にいこう:2012/05/18(金) 22:58:48.54
>>372
>罫線が一部分だけぶっとくなったりするのは仕様でしょうか。
仕様に関する問い合わせはMSでないと答えられないのでMSのサポートに聞きましょう

>また、カメラのように選択部分を図に変換する機能はありますでしょうか。
カメラでいいのでは?
374名無しさん@そうだ選挙にいこう:2012/05/18(金) 23:06:56.70
>>372
>罫線が一部分だけぶっとくなったりする
仕様らしい、、オラのもそうなる。

>選択部分を図に変換する機能
カメラはシートを超えて表示する位なもので、作図機能はない、、はず。
375名無しさん@そうだ選挙にいこう:2012/05/18(金) 23:29:14.20
>>372
図のリンク貼付けではなく、図の貼り付けなら画像になる・・・
が、罫線が表示されない。他にも表示されないものがあるかも
376名無しさん@そうだ選挙にいこう:2012/05/18(金) 23:32:19.22
>>372
図のリンク貼り付け
377名無しさん@そうだ選挙にいこう:2012/05/18(金) 23:43:58.62
>>376
カメラ機能=図のリンク貼付け
378名無しさん@そうだ選挙にいこう:2012/05/19(土) 06:39:25.66
カメラで画像を表示してるが粗くなる
379名無しさん@そうだ選挙にいこう:2012/05/19(土) 17:40:31.78
Excel中級者ですが
オートコンプリート機能などイラン機能が満載のマイクロソフトの製品は使えば使うほど無性にイライラしてくるシーンが増えているような気がするのですが、気のせいでしょうか?
380名無しさん@そうだ選挙にいこう:2012/05/19(土) 18:01:38.79
>>379 そんなあなたに
┌────────────┐
│      ||||||||||      (R) │
│  |||||| |||||||||||||||       .│
│ ||||||||| |||||| |||||| |||||||||||  .│
│.|||||||||||   |||||||| |||||||||||||||| │
│ |||||||||  ||||||||     ||||||| .│
│ ||||||||| ||||||||    |||||||||  │
│ ||||||||| |||||||||||||||  |||||||||  │
│ ||||||||| |||||||||||||||    ||||||| .│
│ |||||||||       ||||||||||||||| .│
│            ||||||||||  .│
│                  │
└────────────┘
   Copyright (C) 1986, 87
 Lotus Development Corporation
      Release 2.1J
381名無しさん@そうだ選挙にいこう:2012/05/19(土) 18:29:18.94
>>379
初級に戻ればいいんじゃね?
382名無しさん@そうだ選挙にいこう:2012/05/19(土) 21:19:03.24
>>379
たしかに、、。
熟練度が増してきたら外せばいいのかも。
383名無しさん@そうだ選挙にいこう:2012/05/19(土) 22:40:57.66
>>372です
亀ですが
>>373-377
ご回答ありがとうございますた
やっぱ罫線はぶっとくなるモノなんですねorz
384名無しさん@そうだ選挙にいこう:2012/05/19(土) 22:52:12.82
>>379
Ms製品はデフォルトで初心者向けに作っている
もうちっと極めればその初心者向けおせっかい機能や、excelのバグを含めた技能を習得できる
excelは色々ウンコな点もアるガ、やはりデファクトスタンダードであり、極めて入れば
事前のミスなども防げる
愚痴らず、逆に「何故このバグが起こっているのか?」と調べるのも一興
そんな隙がないならどんどんここで聞けば良い

といってる俺もテーブル機能なんてさっぱりわからんがな。hahaha
385名無しさん@そうだ選挙にいこう:2012/05/20(日) 08:37:50.12
【1 OSの種類】 Windows XP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 否

>>330です。追加で質問させてください。
ある手順書を作成していて、条件に該当しなければチェックボックスにチェック入れて終わり。
該当すれば、値を求めて計算式にあてはめて得点を10点満点で求めるというものを
作っています。

仮にA1からE1まで、以下の通りとします。
A1〜C1 値、D1はa1からC1の計算式、E1はD1の結果に伴い、得点を関数で算出しています

続きます
386385:2012/05/20(日) 08:39:39.04
質問したいのは以下のことを行うには、どのようにすれば可能かということです。

・チェックボックスにチェックがあったら、E1に10が自動で入る。
・チェックがなければ、A1からC1の値を元に応じてE1に得点が設定される。

お手数ですが、ご回答頂けますでしょうか。
よろしくお願いいたします。
387名無しさん@そうだ選挙にいこう:2012/05/20(日) 08:46:08.04
>>385
IF関数でいいんじゃないの?
388名無しさん@そうだ選挙にいこう:2012/05/20(日) 09:06:46.33
389名無しさん@そうだ選挙にいこう:2012/05/20(日) 09:21:09.45
>>388

そのようなイメージです。
できれば、true falseは表示させたくないのですが、可能でしょうか?
390名無しさん@そうだ選挙にいこう:2012/05/20(日) 10:14:15.57
>>389
フォントの色でごまかす
391名無しさん@そうだ選挙にいこう:2012/05/20(日) 10:20:20.72
作業列なんざ後でいくらでも非表示なりなんなりできるだろう
392名無しさん@そうだ選挙にいこう:2012/05/20(日) 12:02:38.09
>>390
この場合の深刻な問題というのは、
+をVIPやニュー速と同列に見なしたユーザが、+に「とりあえず」記事を投稿し、フォローを受ける。
そのフォローが予想もしなかった(2chの参加者から見れば当然のものであるが)厳しいものであったために、
「+は怖いところだ」という誤解を招き、それが拡大再生産されているのではないと思います。
ある人が、「+は怖いところだ」と思ったのなら、それは誤解じゃなくて正しい認識だと思います。
怖いケースと、怖くないケースがあって、そういう両面とか全貌を見てない、認識の甘い人に対して、
怖いところの反応をするのは、当然の話で、それは深刻な問題という程でもないと思います。
393名無しさん@そうだ選挙にいこう:2012/05/20(日) 13:00:28.28
>>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に無理やりインストールしましたが、「正確に使えなくても知らないよ?」と表示されるのでこの解決法以外で教えてください。
395名無しさん@そうだ選挙にいこう:2012/05/20(日) 13:12:47.10
2003では少なくとも出来なかったよ
396名無しさん@そうだ選挙にいこう:2012/05/20(日) 13:27:13.96
>>394
2003ではできるよ
オートフィルタ、フィルタオプションどちらでも歯抜けになった
使用が変わったのかもねぇ
397名無しさん@そうだ選挙にいこう:2012/05/20(日) 14:50:30.20
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excelで全動作に効果音がでるようになる機能を使ってますが 
そろそろ飽きてきたのですが他の種類はでていないのでしょうか?
と言いますかサウンド機能のダウンロードページすらいくら検索しても出てこないのですが、、w
398 忍法帖【Lv=40,xxxPT】 :2012/05/20(日) 14:53:50.03
>>394
たしかに2010だとできないね
数が少なければ、抽出したデータのはじを作業列にして、選択状態にしておけばソコしか入力されないんで1、2、3…と入力できます
あとはググって出てきたデータで申し訳ないけど、
=SUBTOTAL(2,B$2:B2)
な感じでカウントさせれば
あっ、これフィルタ解除したらダメっすねぇ
399名無しさん@そうだ選挙にいこう:2012/05/20(日) 15:03:16.12
>>397
ちなみにそれはなんて機能ですか?
400名無しさん@そうだ選挙にいこう:2012/05/20(日) 15:42:49.69
>>399
やっと見つけた!
これですw
Office Add-in: Office Sounds
http://www.microsoft.com/en-us/download/confirmation.aspx?id=7015
これを入れると計算結果が出る時にチャリーン!とかって音が出るようになります。ただあまりセンスがよくないのが難点ですがw
401名無しさん@そうだ選挙にいこう:2012/05/20(日) 15:45:04.78
>>399
アドレスはこっちが正しいか、、
http://www.microsoft.com/en-us/download/details.aspx?id=7015
402名無しさん@そうだ選挙にいこう:2012/05/20(日) 16:09:21.93
シート1の図に番号を振り、どのセルにでも(別シートでも)数字を入れれば
対応した図がセルにコピーされるようにしたいのですが、検索しても
指定セルへのコピーしか見つかりません。探したりないだけでしょうか?
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 一週間程度の経験
【4 VBAでの回答の可否】 可
403名無しさん@そうだ選挙にいこう:2012/05/20(日) 16:53:36.41
>>400-401
ありがとう
アドインでこんなのがあるのかー
他の探してみたけど無かったわ
やるとしたらVBAなんだろうけど、作るのめんどくさそう
404名無しさん@そうだ選挙にいこう:2012/05/20(日) 17:09:51.95
>>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クラスの名簿番号
これを大量に作るので作業列はなるべく作りたくないです。
406名無しさん@そうだ選挙にいこう:2012/05/20(日) 17:19:28.29
>>400
インストールしたらC:\WINDOWS\Media\Office97配下にwavファイルがたくさんインストールされたから
それを差し替えればいいんじゃない?
407名無しさん@そうだ選挙にいこう:2012/05/20(日) 17:24:16.38
>>405
SUMPRODUCT関数
408名無しさん@そうだ選挙にいこう:2012/05/20(日) 17:30:37.53
>>405
=SUMPRODUCT(COUNTIF(A1:A20,B1:B20))
409405:2012/05/20(日) 17:30:44.33
>>407
SumをSumProductに変えても配列数式にしないと出来ませんでした。
410405:2012/05/20(日) 17:36:17.59
>>408
出来た! ありがとうございます。
411名無しさん@そうだ選挙にいこう:2012/05/20(日) 17:57:14.42
http://takashixxx.blog88.fc2.com/blog-entry-2.html
知り合いに頼まれて十台近くある事務所のPCをメンテ中ですが
値の貼り付けの設定をするのに何でこんなめんどくさい設定が必要なのでしょうかMSは馬鹿なのでしょうか?
412 忍法帖【Lv=40,xxxPT】 :2012/05/20(日) 19:00:09.10
>>411
2010だとだいぶ改善されてるな
2003とかでもショートカットキー使ってたからどうでもいいけど
413名無しさん@そうだ選挙にいこう:2012/05/20(日) 19:00:42.99
それはボタンでやるのに必要な設定
414名無しさん@そうだ選挙にいこう:2012/05/20(日) 20:23:25.31
>>395-396 >>398
レスありがとうございます。
やっぱり出来ませんか、、。
皆さん出来なくて問題ないんですか??
これ使えなかったらExcelの存在意義がかなり薄れると思うんですけど……
2007でも出来無さそうなのでバグとしてMicrosoftは認識していないんでしょうね。。
バグにしか思えませんが、、。
415名無しさん@そうだ選挙にいこう:2012/05/20(日) 20:31:22.81
>>414
それで存在意義が薄れるとかないわ
MSのサポートに確認してみたら?
416名無しさん@そうだ選挙にいこう:2012/05/20(日) 20:42:56.18
馬鹿が作ったソフトを使う馬鹿
417名無しさん@そうだ選挙にいこう:2012/05/20(日) 20:42:56.30
列ごと一括でもめんどいの?
418名無しさん@そうだ選挙にいこう:2012/05/20(日) 21:22:07.37
B1に何か入力されたらA1の現在の時刻刻みこむ関数ってどうやるんですか?
419名無しさん@そうだ選挙にいこう:2012/05/20(日) 21:36:56.03
>>415-416
出来なくても問題ないという回答ですか?
1000行に満たないデータでもこれが出来ないと相当大変ですけど、、。
一々ひとつづつ通し番号や組分け番号(記号)を手で入力していかないといけなくなりますが。
組分け番号はif関数使えば手入力しなくても出来るけど、、。今までマウスドラッグするだけで完成したことを考えれば手入力に近い手間。
本当にお使いなら、実は何か他に方法があるのではありませんか?
Excelの使用で一般的な情報管理のデータを作成している人なら、自分が質問した編集作業は行う筈です。
教えてください。お願いします。

>>417
自分へのレスでしょうか・・?
違う気がしますが、自分は>>394で質問をさせて頂いたものです。

>>396さんが使えてたと言う2003を用意するしかないですかねぇ、、。
2003ならSP3でWindows7に対応しているそうなので。
420名無しさん@そうだ選挙にいこう:2012/05/20(日) 21:39:49.01
>B1に何か入力されたら
この行為がアテンションするから、どのセルも再計算されまする。
421名無しさん@そうだ選挙にいこう:2012/05/20(日) 21:45:29.02
>>419
列で求めた計を行で扱いたいという件かな?
422名無しさん@そうだ選挙にいこう:2012/05/20(日) 21:52:03.38
>>418
VBA歯科無理。じゃなきゃ値で貼り付け
>>419
>一般的な情報管理のデータ
でそんなアホな事はしない
がまぁ、今回は正規化する為かその辺りと好意的に解釈してあげる

A列が2だったら連番を振る、という式
http://www.dotup.org/uploda/www.dotup.org3002253.png
423名無しさん@そうだ選挙にいこう:2012/05/20(日) 21:53:14.63
>>422
ありがとう教えてくれて
424 忍法帖【Lv=40,xxxPT】 :2012/05/20(日) 22:13:55.54
>>422
えらそーなこと抜かしてる割に汎用性乏しすぎwww
>>394の為に敢えてそのような形にしたの??
425名無しさん@そうだ選挙にいこう:2012/05/20(日) 22:24:45.47
>>419
2003でもできなかったよ
もしかすると俺のやり方が間違ってるのかそもそも質問を理解できていないのかも

ちなみに>>416>>411に対してだと思ふ
426名無しさん@そうだ選挙にいこう:2012/05/20(日) 22:26:39.84
>>424
>>394、419見て最初に思いついた奴
なんか不都合あったらまた条件追加してくるでしょ
これでよければこれでいいし
汎用性とか考えたほうが良かったの?そのほうがいいなら次回から少しは考慮するよ
427名無しさん@そうだ選挙にいこう:2012/05/20(日) 22:32:21.57
いずれexcelは優れたハサミとして世界愛用されてる
428名無しさん@そうだ選挙にいこう:2012/05/20(日) 22:33:40.63
>>422
394の方です。
ありがとうございました。

使い方が違うという事ですか、、。
また、わざわざ作って見せて頂いて申し訳ありません。
ただ自分は式をみてパッと理解出来るほど使いこなせていません。大抵の場合、ツールを使って式を完成させるので・・・
こういった処理が必要な時に関数を常に利用するというのは無理があります。
自分には2003購入しか解決法がなさそうですね。
お世話になりました。
429名無しさん@そうだ選挙にいこう:2012/05/20(日) 22:36:43.28
>>424
自分のやりたい事の答えとしては十分な内容でした。
MAXというのを使ったことが無かったので試す必要がありましたが・・・

>>426
失礼しました
430名無しさん@そうだ選挙にいこう:2012/05/20(日) 22:56:54.36
>>428
425も言ってるが、俺も2003で使えなかった。
431名無しさん@そうだ選挙にいこう:2012/05/20(日) 23:02:32.79
こちらは2002です。やはり出来ませんでした。
432名無しさん@そうだ選挙にいこう:2012/05/20(日) 23:05:02.33
みんな存在意義の薄いソフト使ってるんだな
433名無しさん@そうだ選挙にいこう:2012/05/20(日) 23:10:57.57
俺も2003だけどできない
連続データにならず、最初の一つがコピーされてしまう

http://page9.auctions.yahoo.co.jp/jp/auction/k153499709
2000ならヤフオクで2000円だし、買ってしまってもいいんでは?
OSが対応して無くても仮想環境で使えると思うし、ネットに繋げなければwin98辺りでも買うとか
434名無しさん@そうだ選挙にいこう:2012/05/21(月) 00:59:10.63
今更2000買ってどうするんだよ
しかも2003以降と互換性のないファイル作って、、どうしようもないな
435名無しさん@そうだ選挙にいこう:2012/05/21(月) 10:29:39.41
>>434
それを言い出すと>>394なんてvbaでいいだろ、
となるワケ
エクセルの存在意義すらなくなるレベルの最重要の作業らしいし、
これぐらいやってもいいでしょ
436名無しさん@そうだ選挙にいこう:2012/05/21(月) 10:59:19.07
>>434
互換性が必要だなんて質問者は言ってないぞ
よく読め
437名無しさん@そうだ選挙にいこう:2012/05/21(月) 16:32:30.75
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からデータを持ってきたことを示す式を
含まないものにしたいということです。

そういったコピーの仕方はありますか?
439 忍法帖【Lv=40,xxxPT】 :2012/05/21(月) 17:43:23.22
確かに、置換してシート名をなかったコトにするくらいしか使い方思いつかんから、なんかいい方法あれば俺も嬉しい
440名無しさん@そうだ選挙にいこう:2012/05/21(月) 18:48:20.87
>>438
確認だけど
(シートCからデータを持ってきたことを示す式)とは、
例えば、↓のこと?

[BookA.xls]SheetC!

なくなっても、セル参照エラーにならないの?
441名無しさん@そうだ選挙にいこう:2012/05/21(月) 19:01:05.59
ファイルの構成が似てるんじゃないかな
例えば請求書で取引先ごとに分けている場合、シフト表を部署ごとにわけてる場合・・等
(細部が微妙に違っていたりして、一つ作ってコピーができない)

毎日やるor量が多いならvbaをなんとか覚える、そうでなければ置換がいいと思う

他の方法として、indirectならコピーしてもリンク先は影響されない。
だが、シートの内容をほぼ全て書き換えることになる上に、重くなる
おすすめはしない
442名無しさん@そうだ選挙にいこう:2012/05/21(月) 19:49:37.80
情報が不十分なんであてずっぽだけど
形式を選択して貼り付け - 値 で済む話じゃないのかな
443名無しさん@そうだ選挙にいこう:2012/05/21(月) 20:15:02.76
>>438
無理
置換で消しましょう
444名無しさん@そうだ選挙にいこう:2012/05/21(月) 21:28:36.24
シートを全て選択してシートの移動またはコピーでコピー
後でシート名を変更?
445名無しさん@そうだ選挙にいこう:2012/05/21(月) 21:36:20.55
>>444
ソレダ!
446名無しさん@そうだ選挙にいこう:2012/05/21(月) 21:44:03.07
>>444
それって、ファイルAをファイルBに別名保存することと同じだよね。
それでいいのかな?
447名無しさん@そうだ選挙にいこう:2012/05/21(月) 21:47:08.56
ファイルBのシートDって、別にDである必要はないんだよね?
シートCそっくりにすれば良いんだから、シートのコピーで正解だと思う
難しい事はなんも無かったな
448438:2012/05/21(月) 22:48:17.49
>440
[ この中の部分をいいたいです ]

>447
シートのコピーをしたら
[ この中の部分をいいたいです ]
がついてしまいました。
これがつかないコピー方法があればアドバイス願いたいです。
449名無しさん@そうだ選挙にいこう:2012/05/21(月) 22:55:02.54
>>448
[ この中の部分をいいたいです ] を置換で消せってば
450名無しさん@そうだ選挙にいこう:2012/05/21(月) 23:16:36.32
>>448
シートCだけでなく、参照しているシートも同時にシートコピーすればいいのよ。
451名無しさん@そうだ選挙にいこう:2012/05/22(火) 08:58:53.60
2010 windows7です
さて=A1 とかですとそこの値を返しますが
例えば=Aは決まっていて数字はD2の値が3だったら=A3
D2の値が11だったら=A11みたいにやりたいのですが
それは可能でしょうか? 任意で値が変わるようにしたいです。
お願いします。
452名無しさん@そうだ選挙にいこう:2012/05/22(火) 09:14:00.82
=INDIRECT("A"&D2)
453名無しさん@そうだ選挙にいこう:2012/05/22(火) 09:26:08.48
>>452おお、ありがとうございます。
454 忍法帖【Lv=40,xxxPT】 :2012/05/22(火) 11:37:36.90
455名無しさん@そうだ選挙にいこう:2012/05/22(火) 15:13:45.10
excel2007使ってます
webクエリで外部データ取り込みしたのはいいんですが、取り込んだクラス内の画像は保存されません
保存、表示するにはどうすればいいですか?
456名無しさん@そうだ選挙にいこう:2012/05/22(火) 15:45:25.87
http://www1.axfc.net/uploader/Sc/so/348061.xls
このファイルにある複数の図を、それぞれに番号を振り
どのセル(違うシート)でも対応した番号を入力すると、入力したセルに図がコピーされる様にしたい
のですが、以前質問したとき図が用意できていなかったので図ありで再度質問
させていただきます。
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 始めたばかり
【4 VBAでの回答の可否】 可
よろしくお願いします
457名無しさん@そうだ選挙にいこう:2012/05/22(火) 17:04:22.72
>>456
俺の知識では
Group 153を29、グループ化 1を30等、予め設定しておかないと無理な気がする
「セル上にある図形」
ってvbaで取得できないことはないと思うけど、しんどすぎる
458名無しさん@そうだ選挙にいこう:2012/05/22(火) 17:09:34.88
>>456
http://www.totetsu.co.jp/company/organization.html
まずシステム部に聞いてみてはどうだろう?
459名無しさん@そうだ選挙にいこう:2012/05/22(火) 17:33:33.02
>>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
460名無しさん@そうだ選挙にいこう:2012/05/22(火) 20:20:19.29
【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以降も空欄に出来るような式をお願いします。よろしくお願いします
461名無しさん@そうだ選挙にいこう:2012/05/22(火) 20:33:32.03
質問です。
=IF(A1<>"A",IF(A1<>"B",IF(A1<>"C")…))) と延々続けないといけないんですが、数式が長すぎると弾かれてしまいます。
どのようにしたら、長い数式を入れる事が出来るのでしょうか?
462名無しさん@そうだ選挙にいこう:2012/05/22(火) 20:37:12.37
>>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
作業列か、条件をうまいことまとめる
ここに式ややりたいことを書いてくれれば手伝うよ
463名無しさん@そうだ選挙にいこう:2012/05/22(火) 21:02:00.67
>>462
ありがとうございます。両方とも見るからに解決策です
後者の方が分かりやすいけど前者の式もいいですよね。
B2とC2の対象セルには入力制限でYとN以外入力不可としてますので
YN以外の文字が入ることはないです。前者かな?
明日会社でやってみるのが楽しみです
ありがとうございました。
464名無しさん@そうだ選挙にいこう:2012/05/22(火) 22:04:38.86
>>463
>>462の後者の式だと必ず全部の条件式が評価されちゃうから若干無駄なコストがかかる事になるね
素直に書くならこうなると思う
=IF(OR(B2="N",C2="N"),"N",IF(AND(B2="Y",C2="Y"),"Y",""))
465名無しさん@そうだ選挙にいこう:2012/05/22(火) 22:07:46.41
>>462
作業日報の《休み》表示で、定休日、有給、半有給、振替、忌引、欠席、…を表示しようとしています。
セルA1が1なら"定休日" ,2なら"有給"、3なら"欠勤"…と続き、それ以外は、曜日を入れるようにしています。
最初は入っていたのですが、半有給だの、半振替だの、半欠勤だのと、どんどん追加され、数式に収まらなくなってしまいました。
466名無しさん@そうだ選挙にいこう:2012/05/22(火) 22:22:50.69
>>465
vlookupかchoose。chooseの限界が29項目だから万が一を考えればvlookupでいいかも
http://allabout.co.jp/gm/gc/297725/
http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/choose.htm

それか数式をやめてリスト
http://kokoro.kir.jp/excel/nkisoku_list.html
クリックしなくても、alt+下でリストを出せる

chooseは項目数、vlookupだと順番を変えたくなった時にめんどう
そういう点からリストが楽かなぁ、と思う
467名無しさん@そうだ選挙にいこう:2012/05/22(火) 23:23:13.51
>>464
B2またはC2がNの場合、対象セルはN、そうでない場合は再度次のIF関数で
Yがつかない場合にブランクにするということですか。これが頭に浮かんでも
全然数式に出来なかったんです。省エネで教科書のようなお手本な感じがします
明日試させていただきます。ありがとうございました
468名無しさん@そうだ選挙にいこう:2012/05/23(水) 01:18:21.19
【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

よろしくお願いします
469名無しさん@そうだ選挙にいこう:2012/05/23(水) 01:22:11.00
すいません。文言がおかしかったです。

1.シートAの名前欄に無くて、シートBの名前欄にある項目は追加する。
2.シートA、シートBの名前欄が共通する場合は、C列だけ統合する(文字列)

という指定です。よろしくお願いします。
470名無しさん@そうだ選挙にいこう:2012/05/23(水) 02:12:16.28
>>466
ありがとうございました。
チャレンジしてみます。
471名無しさん@そうだ選挙にいこう:2012/05/23(水) 08:54:46.95
>>468
VBAでコードを書きましょう
472名無しさん@そうだ選挙にいこう:2012/05/23(水) 14:15:36.19
教えてください

【1 OSの種類】 Mac OS X 10.6
【2 Excelのバージョン】 Excel2004
【3 VBAが使えるか】 少し
【4 VBAでの回答の可否】不可

文字入力は、セルをクリックして、そこに直接書いています。
そのとき、クリック後に最初の1文字を入力すると同時に、
セルの周囲に四角い白い枠が表示されます。
文字を処理するための領域のような四角で、
過去の文字入力の履歴を表示してくれたりします。

ここで質問です。

1. この四角は、何という名前の物でしょうか?
   これについて検索したいんですが、名前がわからずに困っています。

2. この四角を出ないようにしたい。
   この四角は白色塗りつぶしなので、これが表示されると
   上下左右のセルが隠れてしまい、内容が見えません。
   この四角を消す方法はないでしょうか? (お節介で邪魔なんです)

以上です。

どうぞよろしくお願いします。

473名無しさん@そうだ選挙にいこう:2012/05/23(水) 14:31:33.80
オートコンプリート?
474名無しさん@そうだ選挙にいこう:2012/05/23(水) 14:48:21.54
>>468
http://www.dotup.org/uploda/www.dotup.org3012582.xls.html
関数ならこんな感じ
後はシート1を値で貼り付け、列の削除など
シート2のD列をオートフィルタで抜き出してコピーする
475名無しさん@そうだ選挙にいこう:2012/05/23(水) 16:49:45.46
>>474
わざわざサンプルまで作っていただいてありがとうございます!
不慣れなもので、理解するのに時間がかかるかもしれませんが、
教えていただいた関数を使ってやってみます。
476名無しさん@そうだ選挙にいこう:2012/05/23(水) 22:07:29.71
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

EXCELの置換に関するテクニックを教えて頂けますでしょうか。

EXCELで表を作って住所録を管理しているのですが、
ある列にこんな感じで、住んでる都道府県を記入しています。
「大阪府」
「東京都」
「愛知県」
「大阪府」
「愛知県」(以下略です。500件くらいあります)

この列について、以下のことを一括で行う方法を教えていただけますでしょうか。

・「大阪府」以外はすべてブランクにする。(大阪府はそのまま)
・「大阪府」と「東京都」以外はすべてブランクにする。(大阪府と東京都はそのまま)

よろしくお願いします。
477名無しさん@そうだ選挙にいこう:2012/05/23(水) 22:11:19.33
>>476
オートフィルタ
478名無しさん@そうだ選挙にいこう:2012/05/23(水) 23:16:34.97
>>476
2007か2010って正規表現の置換って仕えたっけ?
使えるなら今後のためにも正規表現覚えておくとすげー楽
まぁ無理ならb列にfindで大阪府か東京が含まれていたらそれ、なければ""
で値で貼り付け
479名無しさん@そうだ選挙にいこう:2012/05/24(木) 00:50:01.89
マクロの記述方法これだとうまくいかないんだが・・・エラーはでないのよね・・・なんでなんだぜ?教えてエロい人

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までの範囲に貼り付けたい。ながくてわかりづらいかも知れないがすまんこ。

 
480名無しさん@そうだ選挙にいこう:2012/05/24(木) 01:03:31.52
Set wb2 = Workbooks.Open("C:\Users\a\Desktop\参照", ReadOnly:=True)

ActiveCell.Copy Destination:=ActiveSheet.Range("A2:C13")

wb.Close

End Sub
481名無しさん@そうだ選挙にいこう:2012/05/24(木) 01:10:47.44
activecellは単数形だから1セルしか選べないのに
selection.resize(12).selectとか
selection.copy … とかかな?

せっかくオブジェクト変数にセットしてるのにworksheets("5月").activateとか
wbはopenしてないのにcloseとか
も、気にはなるけどこっちはまあいいや
482名無しさん@そうだ選挙にいこう:2012/05/24(木) 01:21:23.51
>>480
>>481

サンクス
やっぱり要領悪いことしてたみたいだ
もういっかい調べ直してみる
483名無しさん@そうだ選挙にいこう:2012/05/24(木) 01:30:57.73
>>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を数字に
それぞれ変換するにはどうすればいいのでしょうか?
485名無しさん@そうだ選挙にいこう:2012/05/24(木) 14:50:00.90
>>484
前者
=TEXT(A1,"yyyymm")
後者。日付けしていないのでとりあえず15日にしてる
=DATE(LEFT(B1,4),RIGHT(B1,2),15)
486名無しさん@そうだ選挙にいこう:2012/05/24(木) 14:55:59.33
>>484-485
文字列を数値に変換するのはVALUE関数を使うんだよ
487名無しさん@そうだ選挙にいこう:2012/05/24(木) 15:04:48.58
>>486
あ、VALUETIMEとかもありましたね。
すまんかった
488名無しさん@そうだ選挙にいこう:2012/05/24(木) 15:17:40.71
みなさんありがとうございます。
前者は元が日付データではなく頭に'の文字データでした。
489名無しさん@そうだ選挙にいこう:2012/05/24(木) 15:28:21.26
>>488
ェー
=TEXT(VALUE(A1),"yyyymm")
490名無しさん@そうだ選挙にいこう:2012/05/24(木) 15:43:08.18
>>489
お優しい
ありがとうございます
491名無しさん@そうだ選挙にいこう:2012/05/24(木) 22:42:20.27
ttp://www.dotup.org/uploda/www.dotup.org3017286.png.html
こんな感じのグラフを作りたいんですが、ご教授お願いします。
492491:2012/05/24(木) 22:43:12.70
連投すみません。passはelfです。
493名無しさん@そうだ選挙にいこう:2012/05/25(金) 10:23:51.97
>>491
積み上げ式の横棒グラフにすればいいと思うけど?
494名無しさん@そうだ選挙にいこう:2012/05/25(金) 11:13:31.51
条件付き書式にて、セルが式の場合を条件にすることはできますか。
「指定の価を含む」→「特定の文字列」で「=」を設定しても反応しませんでした。
495名無しさん@そうだ選挙にいこう:2012/05/25(金) 11:43:11.20
496名無しさん@そうだ選挙にいこう:2012/05/25(金) 12:04:11.41
>>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がある組み合わせの
個数を調べるにはどうすればいいでしょうか?
498名無しさん@そうだ選挙にいこう:2012/05/25(金) 16:37:48.88
>>497
SUMPRODUCT関数
499名無しさん@そうだ選挙にいこう:2012/05/25(金) 17:05:07.07
>>498サンクス ググってみます。
500名無しさん@そうだ選挙にいこう:2012/05/25(金) 19:08:48.73
VLOOKUP覚えたてで喜んで使ってるところなんですが
例えば
4 x
5 y
6 z
と並んでいるところ、「4」を参照して対応する「x」のひとつ下である「y」を返す
ってのはどうやればいいんでしょうか?
501名無しさん@そうだ選挙にいこう:2012/05/25(金) 19:12:52.94
>>500
あんまりやりたいことの意味がわからないけど
「4」に「1」を足せばいいんじゃない?
502名無しさん@そうだ選挙にいこう:2012/05/25(金) 19:17:01.26
>>500
4がA1、xがB1という表として
=INDEX(B:B,(MATCH(4,A:A,0)+1))
vlookupだけだとちと辛い。
indexとmatchの組み合わせでも同じことができるんbんだ。indexmatchでぐぐれ。
>>501
エスパー失格だな・・・これはかっぱ検定並なので別に落ち込まずとも良い
503名無しさん@そうだ選挙にいこう:2012/05/25(金) 19:24:00.12
てっきりVLOOKUPでのやり方を質問してるんだと思ったよ
504名無しさん@そうだ選挙にいこう:2012/05/25(金) 19:27:48.76
>>501 vlookupだと、4に1足す方法で出来るんでしょうか?
>>502 INDEXMATCHは知りませんでした。ぐぐってみます。
505名無しさん@そうだ選挙にいこう:2012/05/25(金) 19:27:52.63
無理っしょ。多分456とつながてもいない
506名無しさん@そうだ選挙にいこう:2012/05/25(金) 19:30:06.39
繋がってんのかよw
必ず連番なら、C2に4が入ってるとして
=VLOOKUP(C2+1,A1:B3,2,0)
こんな感じだなあ
507名無しさん@そうだ選挙にいこう:2012/05/25(金) 23:10:16.11
すみません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の仕様というレベルの話ですか?
508名無しさん@そうだ選挙にいこう:2012/05/25(金) 23:22:57.79
>>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

でした

512名無しさん@そうだ選挙にいこう:2012/05/26(土) 00:37:47.41
>>509
objFindがNothingになってるんじゃないの?
ウォッチウィンドウで変数の値を確認しながら
ステップ実行してみたら分かりやすいと思うよ
513名無しさん@そうだ選挙にいこう:2012/05/26(土) 00:39:05.62
FindNextがSheet2を探しているだろう点
514名無しさん@そうだ選挙にいこう:2012/05/26(土) 00:46:25.10
>>509
>また別のシートにあるマクロをCallすることはできないのですか?

Call Sheet1.foo(bar)
515名無しさん@そうだ選挙にいこう:2012/05/26(土) 03:01:48.92
>>512
>>513
>>514

できました!ありがとうございます!
516名無しさん@そうだ選挙にいこう:2012/05/26(土) 03:14:30.45
>>508
いえ、「ABCD」を引数にして「ABCD 」の数を調べようとして
=COUNTIF(A:A,A2&" ")
としたりしてもうまくいかなかったという話です
517名無しさん@そうだ選挙にいこう:2012/05/26(土) 07:30:17.62
Cntl+Fで検索するとき、入力を英数字モードにするにはどうすればいいの?
Windows7
Excel2010
518!ninja:2012/05/26(土) 09:27:26.03
>>517
日本語でおk
519名無しさん@そうだ選挙にいこう:2012/05/26(土) 09:42:18.12
>>516
それならば、できるはず。
520名無しさん@そうだ選挙にいこう:2012/05/26(土) 10:17:32.39
>>516
今やったけどできた。半角全角スペースの差、もしくは文字コードの違いじゃねか
521名無しさん@そうだ選挙にいこう:2012/05/26(土) 10:18:38.95
>>517
半角/全角キー
もしくは文字入力してF10押せば(・∀・)イイ!!
522名無しさん@そうだ選挙にいこう:2012/05/26(土) 10:18:42.66
>>516
問題なく動くけどな
うまくいかないブックをどっかにアップしてみて
523名無しさん@そうだ選挙にいこう:2012/05/26(土) 11:53:21.24
【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
524523: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
525名無しさん@そうだ選挙にいこう:2012/05/26(土) 12:07:31.59
>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
526523:2012/05/26(土) 12:30:11.58
>>525
レスありがとうございます。
必要な列が飛び飛びなので、下記のように書いてみましたが
やはり同じエラーがでます。

wsA.Range("C:E", "G:L", "N:O", "Q:Y").Select

他にもおかしいところがあるのでしょうか
527名無しさん@そうだ選挙にいこう:2012/05/26(土) 12:37:30.05
>>526
wsa.range("C:E,G:L,N:O,Q:Y").select
528名無しさん@そうだ選挙にいこう:2012/05/26(土) 12:51:08.50
>>527
教えていただいた表記に加えて、前の行に
wsA.selectを入れましたら、そこまで動きました!

次はコピーの段階で違うエラーが出たのでまた調べてみます。
すっきりした書き方を教えて下さってありがとうございました。
もうすぐ出勤ですので、取り急ぎお礼まで。
529名無しさん@そうだ選挙にいこう:2012/05/26(土) 12:52:15.36
>>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)
530名無しさん@そうだ選挙にいこう:2012/05/26(土) 13:02:32.79
Selectする必要があるならSelectしなければならないし、
Selectする必要がないならわざわざSelectしなくていい
531名無しさん@そうだ選挙にいこう:2012/05/26(土) 17:23:30.92
シート操作の[移動またはコピー]で、(新しいブック)を移動先に指定するという作業で、お尋ねいたします。
毎日の作業で、ブックにある複数のシートすべてを、それぞれ異なるブックにコピーしております。
シートをひとつずつ選択して処理しているわけですが、毎日かなりの時間を取られて苦労しておりますので、現在行っている以外の方法があれば、お教えいただけませんか?

もし・・・それぞれの新規ブックが、各シートの特定セル内の文字列を名前として自動保存されるなんてことができたらさらにうれしいです。
無理なら無理!とひとこと、お願いいたします。

【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可
532名無しさん@そうだ選挙にいこう:2012/05/26(土) 17:55:22.33
>>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名無しさん@そうだ選挙にいこう:2012/05/26(土) 19:24:50.72
おお!ありがとうございます。
マクロを実行すると、複数のシートがそれぞれ、そのシート名と同じブック名にて、親ブックと同じ場所に保存されますね!
他力本願で恐縮ですが、あと一歩!
よろしくお願いいたします。
(チカラがないのでこちらにお頼み申している次第で恐縮です)
534名無しさん@そうだ選挙にいこう:2012/05/26(土) 19:29:15.60
>>533
???
535名無しさん@そうだ選挙にいこう:2012/05/26(土) 19:46:25.45
>>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
536531:2012/05/26(土) 20:11:28.96
>>534
申し訳ありません。>>533は、>>532への返答です。
537531:2012/05/26(土) 20:19:59.74
>>535
工夫中です。ありがとうございます!

今現在は、”このブックでマクロが使用できないか、または・・・”というメッセージが出ている状況です。
すべてのマクロを有効にする、と、・・・アクセスを信頼するにチェックが入り、xlsmで保存しています。
他の原因をあたってみます。
538523:2012/05/27(日) 01:16:32.07
>>529
>>530

頂いたアドバイスをもとにselectを入れ、rangeも書き直しましたらできました!
レス下さった方々、本当にありがとうございました。
539名無しさん@そうだ選挙にいこう:2012/05/27(日) 08:29:08.23
今更ながらに>>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
540名無しさん@そうだ選挙にいこう:2012/05/27(日) 10:02:16.46
>>539
VBA勉強中って書いてあるから色んなこと試してるんじゃないかな
もしくはWorkbooks.openだと正しく読み込めないフォーマットなんだろう
よくあるのは後者
541名無しさん@そうだ選挙にいこう:2012/05/27(日) 10:43:17.66
Workbooks.openだとフォーマットが変になることがたまによくあるよな
だるい
542名無しさん@そうだ選挙にいこう:2012/05/27(日) 14:29:21.94
俺もだるい
543名無しさん@そうだ選挙にいこう:2012/05/27(日) 18:12:37.88
給与明細を作っています。
住民税を氏名(縦)と月(横)でテーブルにして、給与明細の住民税に入れ込みたいのですが、テーブル使用するの初めてで、使い方がサッパリ解りません。
住民税テーブルは作ったのですが、給与明細シートから、どういう関数を使えば、そのテーブルの数値を抽出できるんでしょうか?
544名無しさん@そうだ選挙にいこう:2012/05/27(日) 18:20:01.24
>>543
vlookup
と言いたいが、もうvectorとかに落ちてる奴を使ったほうが早い気もする
545名無しさん@そうだ選挙にいこう:2012/05/27(日) 19:53:09.74
>>544
ありがとうございました!
546名無しさん@そうだ選挙にいこう:2012/05/27(日) 20:18:34.19
>>544
VLOOKUPを調べてみました。
同じシートの左端にデータ入力するんですね。
別シートからは無理なんでしょうか?
VECTORはありませんでした(´;ω;`)
547名無しさん@そうだ選挙にいこう:2012/05/27(日) 20:21:18.77
>>546
別シートでもできるよ
548名無しさん@そうだ選挙にいこう:2012/05/27(日) 20:23:27.00
>>546
マジメに調べろよ
549名無しさん@そうだ選挙にいこう:2012/05/27(日) 20:25:29.02
>>547
あ、ありました。
失礼しました。
これで出来そうです。
助かりましたm(__)m
550!ninja:2012/05/27(日) 21:45:06.41
>>546
indexとかmatch使えば右側の文字を参照することもできるけど、複雑化するというかごっちゃになるからやめといたほうがいいと思う。
作ってるってことは1から作ってるんだと思うから、Vlookupに即した方法で作っちゃうのが一番かと
551名無しさん@そうだ選挙にいこう:2012/05/27(日) 22:11:29.39
xmlを作ろうとしてツールで実行中なのですが
ユーザー定義型は定義されていません。
と出てコンパイルエラーになってしまいます。
こういう場合はどうしたら良いのでしょうか?
552名無しさん@そうだ選挙にいこう:2012/05/27(日) 22:29:21.67
セルの中に2つの関数を入れたい
68秒をセルに打ち込んだら
1分8秒みたいに表示させるにはどうしたらいい?
553名無しさん@そうだ選挙にいこう:2012/05/27(日) 22:30:24.34
それは関数っていうより、書式設定の問題では
554名無しさん@そうだ選挙にいこう:2012/05/27(日) 22:38:37.73
>>552
2つの質問を同時に解決してみた
IFとTEXTの2つの関数を1つのセルの中に入れて、68を1分8秒で表示する
=IF(A1<>"",TEXT(A1/86400,"m分s秒"),"")
555名無しさん@そうだ選挙にいこう:2012/05/27(日) 22:41:56.52
>>551
コンパイルエラーの原因を取り除いて再度コンパイルしてみては?
556名無しさん@そうだ選挙にいこう:2012/05/27(日) 23:00:12.70
>>>555
ユーザー定義型ってなんのことですか?
557名無しさん@そうだ選挙にいこう:2012/05/28(月) 00:05:29.14
>>556
ヘルプで「Typeステートメント」について見てみたらいい
558名無しさん@そうだ選挙にいこう:2012/05/28(月) 01:16:26.99
>>556
ユーザー定義関数かユーザー定義書式
どういう状態で起こったかわからないとこちらもわからない
559名無しさん@そうだ選挙にいこう:2012/05/28(月) 01:49:53.61
>>557
ありがとうございます
朝起きたら見てみます
>>558
書式の定義がされていないってことかも知れません。
エンコードは2003のxmlのアドインツールをダウンロードして実行しました。
自動でやってくれるとのことでしたがところどころ自分で設定が必要なのでしょうか?
そうなるとヴィジュアルベーシックは無知ですので手に負えないかもしれません(?_?)
560名無しさん@そうだ選挙にいこう:2012/05/28(月) 10:06:01.61
>>554
念のためこうしておいた方が良いかも。老婆心ながら。
=IF(A1<>"",TEXT(A1/86400,"[m]分s秒"),"")
561名無しさん@そうだ選挙にいこう:2012/05/28(月) 10:53:50.26
>>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
.
.
.


563名無しさん@そうだ選挙にいこう:2012/05/28(月) 22:00:44.40
>>562
誤って途中で書き込みボタンを押してしまったんだよね?
564名無しさん@そうだ選挙にいこう:2012/05/28(月) 22:03:34.23
>>563
ようするに縦にずらっと並べたいのです
565 忍法帖【Lv=40,xxxPT】 :2012/05/28(月) 22:04:48.33
566名無しさん@そうだ選挙にいこう:2012/05/28(月) 22:10:16.75
>>565
お手数かけます。ありがとうございます。
点数は一つずつセル入ってます。なので三列です。オートフィルで一括でこれは可能なのでしょうか?
567名無しさん@そうだ選挙にいこう:2012/05/28(月) 22:47:09.96
>>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みたいに分かれているという意味です
569名無しさん@そうだ選挙にいこう:2012/05/28(月) 22:56:57.75
>>562
佐藤 小栗
溝端
ってどうなってんの?横は三人分?
570名無しさん@そうだ選挙にいこう:2012/05/28(月) 22:58:28.70
EXCEL2007です。

セルA1とB1がともに0の場合、C1に10という数字が入るように
関数を設定したいのですが、この場合どのセルに、どのような
関数式を設定すればいいのですか?
571名無しさん@そうだ選挙にいこう:2012/05/28(月) 23:17:17.98
>>562
並べ替えするまえに
作業セル=優先1*100+優先2*10+優先3
の数値を作るだけではだめ?


>>570
c1=if(a1=0,if(b1=0,10,""),"")
a1=0とb1=0をandで繋げてもいい
572名無しさん@そうだ選挙にいこう:2012/05/28(月) 23:19:03.27
>570
c1=IF(AND(A1=0,B1=0),10,"")
空白でも10になってしまうので、ソレを避けるなら
c1=IF(AND(NOT(ISBLANK(A1)),NOT(ISBLANK(B1)),A1=0,B1=0),10,"")
573名無しさん@そうだ選挙にいこう:2012/05/28(月) 23:38:40.20
>>568
ttp://www.dotup.org/uploda/www.dotup.org3032551.png
こゆこと??

山田 |5| 5| 6

山田|5 5 6
にしたいのなら>>571辺りを参照に…
574名無しさん@そうだ選挙にいこう:2012/05/29(火) 00:41:31.41
>>570です。
A1、[B1がともに0でなければ一定の計算式の結果を
C1に代わりに入れたいのですが可能でしょうか?
575名無しさん@そうだ選挙にいこう:2012/05/29(火) 00:53:33.53
>>574
できるが、>>1
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。

とりあえずどんな式かまとめて
576名無しさん@そうだ選挙にいこう:2012/05/29(火) 05:42:34.78
>>574
>>571-572の式の中の10のところにあなたが入れたいという式に置き換えてご自分で検証してみてください。

そういう思考は可能ですか?
577名無しさん@そうだ選挙にいこう:2012/05/29(火) 06:56:22.10
>>575-576

すみません、一度整理してから再度伺います
578名無しさん@そうだ選挙にいこう:2012/05/29(火) 12:38:53.68
スレ違いになると思いますが、ここのスレの人は頭がいいと思ってお聞きします。

糸へんに 思 の漢字の十を取ってタを入れたら何て読みますか?
糸思子さんっていうらしい(十がタ)
579名無しさん@そうだ選挙にいこう:2012/05/29(火) 12:56:37.42
>>578
スレ違いで質問とか何を考えてんの
580名無しさん@そうだ選挙にいこう:2012/05/29(火) 17:02:24.80
入力時の文字数の制限は入力規則でLENを使うと思うのですが
すでにあるデータをコピペした際に、制限文字数でカットしてしまうってのは
どうやってやればいいのでしょうか?
581名無しさん@そうだ選挙にいこう:2012/05/29(火) 17:38:31.81
↑LEFTでできますたthx
582名無しさん@そうだ選挙にいこう:2012/05/29(火) 19:09:09.21
まやかしの地_方_分_権

テレビで韓国ドラマばかり流れても、見なければいいだけなので大きな問題はありません。  
しかし地方分権で警察組織、権力を地方の犯罪については国から委譲し
採用条件、組織等も地方で決めれるようにたらどうなるでしょう。
今のテレビ局が数十年前に在日枠を受け入れて、今や完全に在日朝鮮人に乗っ取られ
在日の都合の悪い報道は一切しなくなり、反日政党民主党が与党になったように
地方分権された警察組織が数十年後に、反日感情を持った外国人に支配されたらどうなるでしょう。
在日の犯罪は取り締まられず、日本人の犯罪は過大な罰を与えられたりしないと言い切れるでしょうか。
維新に近い、みんなの党は道州裁判所を設ける案もだしてます。
地域の声が、声の大きい外国人の声に取って変わるかもしれません。

橋下氏(維新)の大阪都構想しかり
中京圏の大村氏、河村氏も地域政党を作って国政で候補者をだすみたいです。
まだ時間はあります、一度じっくり検討したほうが良いかもしれません。
583名無しさん@そうだ選挙にいこう:2012/05/29(火) 20:04:18.57
http://awabi.2ch.net/test/read.cgi/punk/1337779707/323
http://awabi.2ch.net/test/read.cgi/musicjm/1337440019/l50
http://logsoku.com/thread/kohada.2ch.net/part/1337313554/
ふむ
ヤマト運輸のバイトをしてるロッカーもどきかw
こんなのしか見方がイないとか、平松さんも大変ね
584名無しさん@そうだ選挙にいこう:2012/05/30(水) 02:06:49.47
>>578
これか?

総の旧字体らしいよ
http://ja.wiktionary.org/wiki/%E7%B8%BD
人名だったら「フサコ」さんじゃないかな
585名無しさん@そうだ選挙にいこう:2012/05/30(水) 09:14:33.11
スレチかな...

XP,Excel2003
印刷の『部単位で印刷する』のチェックをデフォルトでオフにしたい。
レジストリ操作かなんかでなんとかならないかな。
だめなら、VBAで『印刷』メニューを書き換えるが、
その前に誰か簡単な方法しってれば教えてほしいんだが...
586名無しさん@そうだ選挙にいこう:2012/05/30(水) 10:05:46.32
EXCEL2000
XPのときは
Sub Macro1()
Application.ActivePrinter = "FAX on Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"FAX on Ne00:"
End Sub
みたいな感じでマクロからFAXを送れた(送信ダイアログを出せた)のですが
win7にしたらできなくなりました。
どこを直せばよいでしょうか?
587名無しさん@そうだ選挙にいこう:2012/05/30(水) 11:41:57.03
>>586
残念ながらExcel2000はWindows7には対応していません。
588名無しさん@そうだ選挙にいこう:2012/05/30(水) 18:06:15.21
>>587

あいにくFax機能のことは知らないから>>586には答えられないが
うちのWin7Pro64bitのPCでExcel2000使えてるよ?
589名無しさん@そうだ選挙にいこう:2012/05/30(水) 18:14:38.08
>>588
それはラッキーでしたね!
590名無しさん@そうだ選挙にいこう:2012/05/30(水) 18:18:44.44
MSがサポートしてないだけで普通に使えるっしょ
591エクセル:2012/05/30(水) 18:47:34.36
エクセルで外字呼び出すにはどうしたらいいんですか?
592名無しさん@そうだ選挙にいこう:2012/05/30(水) 20:46:07.91
【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にはどのように式を設定すればいいでしょうか。
よろしくお願いいたします。
593名無しさん@そうだ選挙にいこう:2012/05/30(水) 21:10:00.29
>>592
その条件だと循環参照になるから作業用セルを設けないと無理だと思う
循環参照が起こらないように作業用セルにD1〜D3の和を入れておいて
D4は作業用セルを参照するか固定値を設定するか条件によって切り替えればいい
594名無しさん@そうだ選挙にいこう:2012/05/30(水) 21:11:31.50
なんでA2〜D2についての条件が書いてないの?
595名無しさん@そうだ選挙にいこう:2012/05/30(水) 21:15:48.37
>>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))
596名無しさん@そうだ選挙にいこう:2012/05/30(水) 21:28:21.29
>>594

すまない
列ごとに3つの項目を集計していて、A1がゼロならA2〜D2、A3〜D3は入力不要、
1列目と2列目が入っていても、3列目はゼロの場合があるという条件なんだ。

わかりにくくて申し訳ない

597594:2012/05/30(水) 21:51:24.03
>>596
いや、少なくともA2=0のときC2はどうなるのかが書いてないとだめじゃない?
それにA1〜D1やA3〜D3の条件を鑑みるに
たぶんD2についても条件提示が必要になりそうな気もする。
598名無しさん@そうだ選挙にいこう:2012/05/30(水) 22:07:03.48
>>596

何度も済まない。
条件を追加する。

・A2が入力されるとき、値は必ず0ではない

・A2≧B2なので、B2÷A2は最大で1。
 これはA1とB1、A3とB3(A列に0以外が入る時)も同様。
 そのため、D2はC1の3倍で最大で値は3。
 
・A1が0の時、B2も必ず0。かつ2列目、3列目は入力されない。

本当申し訳ない。
599名無しさん@そうだ選挙にいこう:2012/05/30(水) 22:28:47.31
>>584ありがとう。ふさこさんか。助かったw糸へんで調べていたけどなかなか無かったよ。
600594: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列でチェックしても可だけど。
601594:2012/05/31(木) 06:31:40.91
まちがえた
C1〜C3でA列のチェックしてるから
D1〜D3ではA列のチェック不要だ
D1=C1*4
D2=C2*3
D3=C3*3
でOKだった
602名無しさん@そうだ選挙にいこう:2012/05/31(木) 06:45:47.61
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

A1A2セルは入力欄です
A1に入力したセルの最後の文字が「お」の時
A2に入力したセルに「さしすせそ」を追加してA2セルに表示されるというのを作りたいのですがうまくいきません
わかりづらいと思うので例↓
A1にあいうえおと入力
A2にかきくけこと入力されたら
A2セルにかきくけこさしすせそと表示

すみませんお願いします
603594: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))
だね
604名無しさん@そうだ選挙にいこう:2012/05/31(木) 07:25:16.79
>>602
If Target.Address = "$A$1" Then
Target.Offset(1).NumberFormatLocal = IIf(Right(Target.Text, 1) = "お", "@""さしすせそ""", "G/標準")
End If
605名無しさん@そうだ選挙にいこう:2012/05/31(木) 20:58:02.51
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 おk

会社でWindows Liveメールを使ってます。
毎日、取引先にエクセルのブックをメール添付で送ってます。
マクロボタンをクリックすると、特定のシート(例えばSheet1)だけを
添付して送信することはできますか?
606名無しさん@そうだ選挙にいこう:2012/05/31(木) 21:38:16.30
VBAでの回答希望です。

選択しているセルが、印刷したときに何ページ目になるかを知りたいです。
選択しているセルを含むページのみ印刷することが目的です。

よろしくお願いします。

excel2003
607名無しさん@そうだ選挙にいこう:2012/05/31(木) 22:03:05.26
>>606
HPageBreaksをヘルプで調べてみましょう
608606:2012/05/31(木) 22:07:34.19
>>607
お断りしましょう。
知ってたら教えてくれよ。
知らなかったら黙ってて。
609名無しさん@そうだ選挙にいこう:2012/05/31(木) 22:13:28.69
また釣られちゃった(ノ∀`)テヘ
610606:2012/05/31(木) 22:16:39.26
>>607
ありがとうございます。
HPageBreaksのヘルプをみて、これだ!と一瞬思ったのですが甘かったです。
使えそうな感じはするのですが、どう使えばよいか???
もう少しヒントもらえますか。
611名無しさん@そうだ選挙にいこう:2012/05/31(木) 22:27:24.06
お断りしましょう
612606: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 & _
":印刷領域での改ページ数"
613名無しさん@そうだ選挙にいこう:2012/06/01(金) 01:11:07.80
614606:2012/06/01(金) 07:52:11.72
>>613
ありがとうございます。これから会社行くので、帰ってから調べてみます。
615名無しさん@そうだ選挙にいこう:2012/06/01(金) 18:59:05.81
シートの左はじに行番号がありますが、
いつのまにかさらに左に1234567と番号のついたエリアが出現しました。
これを消すにはどうしたらいいでしょうか?Excel2000
616名無しさん@そうだ選挙にいこう:2012/06/01(金) 19:20:53.52
アウトライン?ってやつをクリアしたら消えましたが、なんで出てきたのかしらん・・
617名無しさん@そうだ選挙にいこう:2012/06/01(金) 19:30:40.52
>>616
元々アウトラインが作成されていてそれが非表示に設定されていたんじゃない?
[Ctrl]+[8]で表示/非表示をトグル切り替え出来るので偶然表示してしまったのかもね
もしかするとクリアしちゃまずかったかもね
618名無しさん@そうだ選挙にいこう:2012/06/02(土) 01:14:13.46
【1 OSの種類         .】 Windows7 64bit
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

http://www.dotup.org/uploda/www.dotup.org3046711.jpg.html
http://www.dotup.org/uploda/www.dotup.org3046717.jpg.html

まったくマクロなどの知識が無い+説明が難しいので図を見てもらえるとありがたいのですが、A列に示された時間に合わせて
B列以降の時間をA列の各時刻と同じ行にそろえたいのです。
この列の数が最大30列くらいまで増減するため、初めの列と終わりの列を指定出来ると助かります。
2種類あるのはどちらかが出来れば・・・というだけです。
619名無しさん@そうだ選挙にいこう:2012/06/02(土) 02:12:09.14
>>618
http://www.dotup.org/uploda/www.dotup.org3047002.jpg
B2=IF(COUNTIF(Sheet1!B:B,$A2)>0,$A2,"")
右がシート2で左がシート1
100列ぐらい作っておけば大丈夫じゃないかな
なんに使うかしらんけど
620名無しさん@そうだ選挙にいこう:2012/06/02(土) 04:30:13.14
>>619
早速ありがとうございます!
ただ、>>619さんの図は理想通りなんですが、こっちでどうしても出来ません・・・

「シート1に入力した物をシート2で読み取って並べ直す」って感じの物だと思うんですが、
何が悪いか理解したいのでこの関数のを意味を少し具体的に書いてもらえないでしょうか・・・
621618:2012/06/02(土) 05:09:20.20
書き忘れてましたが>>620は自分です
622名無しさん@そうだ選挙にいこう:2012/06/02(土) 05:59:46.91
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

BookA.xlsmの中の1つのシートXをカレントフォルダに名前を付けて保存・読取専用にしたい。
どう記述したらいいかコードを教えてください。

ファイル名は毎回違うので
フルパス = パス & ファイル名 & ".xlsx" としています。
623名無しさん@そうだ選挙にいこう:2012/06/02(土) 07:34:49.82
ひつようなもの全部つくっちゃったから、ぜんぜんVBAとかいじってない。
624名無しさん@そうだ選挙にいこう:2012/06/02(土) 09:33:47.17
625名無しさん@そうだ選挙にいこう:2012/06/02(土) 10:06:29.03
>>624
おー!
できたできた。
ありがとうございます。
626606:2012/06/02(土) 10:26:22.68
あちこち検索していたら、そのものズバリのページがみつかりました。お邪魔しました。解決です。http://www.keep-on.com/excelyou/2001lng4/200106/01060003.txt
627名無しさん@そうだ選挙にいこう:2012/06/02(土) 11:51:20.78
>>620
A2の数値が1個以上シート1のB列にあればA2を表示 してるだけ
並べかえではない
628618:2012/06/02(土) 14:17:10.02
>>627
ああー!出来ました!!!
この関数はあくまで、A列の時刻と自分と同じシート1の座標の数値を比較する物だったんですね
こう、どこか空いてるセルに一つ作れば全体を判定して並び替えるみたいな
イメージだったので何もないセルに入力しても空白のままで困ってましたw
こういうやり方があるんですね・・・ほんとお世話になりました!
629名無しさん@そうだ選挙にいこう:2012/06/02(土) 14:18:11.73
あぁ、オートフィルっていってなかったね、ごめん
やっぱ言わないとわからないもんかなー
630618:2012/06/02(土) 14:43:45.58
>>629
関数の意味そのものが分からなかったら、全体を並び替えて〜っていうイメージが
先行してしまうのでちょっとキツい気がします。
でも関数とか勉強するのためらってた自分としては調べるきっかけにできたしで
逆にありがたかったです。
ちなみに何に使うか簡単に言うと、複数の地点にあるセンサーの反応した時間を調べて
それでどういう状態の時に反応が増えたりするか、パターンが無いかを調べるための物です。
お店が「雨の日でもこの時間帯は客が多いな〜」みたいなのを調べるのと同じ感じです。
631605:2012/06/02(土) 17:55:36.27
ねぇねぇ、誰かレスしてちょ!
632名無しさん@そうだ選挙にいこう:2012/06/02(土) 18:05:20.79
>>605
Windows Live メールのバージョンは何?

>添付して送信することはできますか?
この「添付」ってのは具体的にどういう状態の事を言ってるの?
ファイル添付の事ではないのよね?
633名無しさん@そうだ選挙にいこう:2012/06/02(土) 18:24:49.36
>>631
Outlookだから別人?

548 名前:デフォルトの名無しさん[] 投稿日:2012/05/31(木) 21:18:36.27
毎日、取引先にエクセルのブックをメール添付で送ってます。
マクロボタンをクリックすると、特定のシート(例えばSheet1)だけを
添付して送信することはできますか?
ついでにテンプレートとなる本文と件名と、とくていの部分(日付とか)だけはその日用に変えておくることはExcelVBAできますか?
メールはOutlookで下書きを書いて、送信ボタンを押す直前までが希望です
634名無しさん@そうだ選挙にいこう:2012/06/02(土) 18:58:51.79
うちのおいじいちゃんが1898年生まれで
Excelのシリアル値の範囲外ということでブーブー文句を言ってるんですが
1900年以前でもシリアル値を対応させる方法ってある?
635名無しさん@そうだ選挙にいこう:2012/06/02(土) 20:04:50.12
想定外だな
シリアル値を使う命令を使わないで日付処理する
636名無しさん@そうだ選挙にいこう:2012/06/02(土) 20:22:14.94
つか、1898年生まれの人の孫だったら>>634はいったい何歳なんだろ?
普通に考えたら50〜60歳過ぎてそうだが、
いい年した大人の書き込みにはとても見えない
637名無しさん@そうだ選挙にいこう:2012/06/02(土) 20:25:10.40
歴史研究とかしてたら過去の日付がシリアルとして扱えないのは不便だろうね
どうやって管理してるんだか
638605:2012/06/02(土) 21:28:55.83
>>633
全くの別人ですね。
それ、どこからの引用ですか?
639名無しさん@そうだ選挙にいこう:2012/06/02(土) 21:31:09.87
>>638
Excel VBA 質問スレ Part24の548だな
http://toro.2ch.net/test/read.cgi/tech/1334305148/548
640605:2012/06/02(土) 21:42:50.97
>>638
探して頂きありがとうございます。
でも、私ではありません。
641605:2012/06/02(土) 21:43:50.45
ごめんなさい。
アンカーを間違えました。

>>639
探して頂きありがとうございます。
でも、私ではありません。
642605:2012/06/02(土) 21:54:08.13
>>632
自宅では使ってないので、会社に行かないとバージョンまでは分かりません。
「添付」は、Sheet1だけを「明細表0601.xls」として、添付ファイルで
送っています。

Sheets(Array("Sheet1")).Copy
ActiveWorkbook.SaveAs "C:\temp\明細表" & Format(Date, "mmdd") & ".xls"
で保存すればいいのかなと思ってますが。
643名無しさん@そうだ選挙にいこう:2012/06/02(土) 21:55:45.65
19世紀生まれの存命男性は世界で二人とか
644名無しさん@そうだ選挙にいこう:2012/06/02(土) 23:23:54.88
>>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さんのほうが仲がいいとわかるんですがそれを関数でどう表したらいいか分かりません。
どのようにすればいいか教えて下さい。
646名無しさん@そうだ選挙にいこう:2012/06/03(日) 15:48:04.30
>>645
プリントスクリーン使えwwww
647名無しさん@そうだ選挙にいこう:2012/06/03(日) 15:52:20.52
>>645
ルールを明確にしないと関数で表現できないよ

送信と受信は同等と考えて良いの?
単純に足し算し、合計が多いほうが仲がいいと判断してよいの?

例えば、Eさんは、Aさんに6回も送って返信0回
でもCさには1回を送って受信は3回
この場合、どっちと仲がいいと判断するの?
648名無しさん@そうだ選挙にいこう:2012/06/03(日) 15:57:05.24
>>645
単純に送信+受信の合計でいいなら、足し算で比べる
sum関数とif関数
ttp://uproda11.2ch-library.com/11351309.xls.shtml
DLキー 1

>>647
みたいにストーカーみたいなパターンは知らん
649名無しさん@そうだ選挙にいこう:2012/06/03(日) 15:57:24.35
送信は1ポイント、受信は3ポイントみたいなルールが欲しいよな
650名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:00:10.14
多分考えてないだろうと思って決め打ち回答
こういう時に限って追加条件が来る\(^o^)/ヤッター
651名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:05:40.17
送信回数、受診回数、送信と受信の対応回数の3つは最低限パラメータとして必要だろうな
652名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:17:06.99
>>647
すいませんもっと細かく説明するべきでした。
合計で判断するのではなくお互いがどれだけやりとりしてるかです。

例えば、Eさんは、Aさんに6回も送って返信0回
でもCさんには1回を送って受信は3回
この場合、どっちと仲がいいと判断するの?

この場合はCさんです。一方的に送る場合や受信する場合では親友と呼べる間柄ではないので・・・
単純に合計なら簡単なんですがそうじゃないので分からなくて困ってます。
653名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:23:48.69
まあExcelの質問でないのは確かだが、メールの内容はどうでもいいのかい
一方的にメール送信してきて、その都度うざいしねと返信する関係も仲がいいのかな
654名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:24:55.43
>>652
メール本文の文字数とかも重要かもしれん
絵文字の種類もかなり重要だと思う
この辺をもうちょっと詳しく説明して欲しい
655名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:32:18.71
>>652
親密度=Min(送信数, 受信数)とするしかないんじゃない
656名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:35:31.91
>>653 内容は関係ないです 

>>654本文の文字数や絵文字の種類も関係ないです 

>>655もう少し詳しくお願いできますか?
657名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:40:12.13
要するに送受信一回ずつで親密度1ってことか
658名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:48:31.62
659名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:48:37.45
【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式だと膨大になるので
何か良い関数があればご教授願います。
660名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:52:00.37
LOOKUP()
661名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:54:50.02
>>659
Vlookupで検索の型を1にする
662名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:56:09.35
>>659
=VLOOKUP(VLOOKUP(A15,A1:A14,1,1),A1:B14,2,0)
663名無しさん@そうだ選挙にいこう:2012/06/03(日) 16:57:55.97
lookupでいけたか
=LOOKUP(A15,A1:A14,B1:B14)
キモイ式を作ってしまった
664名無しさん@そうだ選挙にいこう:2012/06/03(日) 17:00:02.26
>>662
すまん、これじゃ何でだめなの?教えて。

=VLOOKUP(A15,$A$1:$B$14,2,1)
665名無しさん@そうだ選挙にいこう:2012/06/03(日) 17:06:19.73
>>664
すまん、俺が酔っ払ってるからだ
666名無しさん@そうだ選挙にいこう:2012/06/03(日) 17:07:52.96
>>660-665
皆様迅速なレスありがとうございました。
Vlookupの検索型も他に応用が利きそうなので参考にさせて頂きます。
667名無しさん@そうだ選挙にいこう:2012/06/03(日) 17:22:13.60
>>658 ありがとうございます。
powerpointでなぜこの関数を使ったか理由を
文章でまとめて説明しなければいけないんですがどういう風にまとめればいいですかね?
668名無しさん@そうだ選挙にいこう:2012/06/03(日) 17:23:56.89
>>667
高橋メソッドがおすすめ
ググってみ
669名無しさん@そうだ選挙にいこう:2012/06/03(日) 17:38:05.55
670名無しさん@そうだ選挙にいこう:2012/06/03(日) 17:38:30.24
>>668
そういうことではなくてなぜMIN関数を使ったかを知りたいんだ・・・
671名無しさん@そうだ選挙にいこう:2012/06/03(日) 18:31:31.60
>>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
673名無しさん@そうだ選挙にいこう:2012/06/03(日) 19:36:30.98
>>672
C列を基準に並び替えたら?
674名無しさん@そうだ選挙にいこう:2012/06/03(日) 19:40:02.05
ピボットを使え
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です。書き込むを押したら確認画面なしにダイレクトに
書き込んでしまってあわててしまいました。ご免なさい
678名無しさん@そうだ選挙にいこう:2012/06/03(日) 20:12:06.99
>>672
関数でやるとシート2
http://www.dotup.org/uploda/www.dotup.org3053576.xls.html
vbaだとシート2(2)のマクロ1

W列はvbaなり予め数値を入れるなりテキトーにやってくれ
679名無しさん@そうだ選挙にいこう:2012/06/03(日) 20:26:38.12
>>678

ありがとうございます。
イメージしてたのは、まさにこうな感じでした。
index match あたりを使うんじゃないかと思っていましたが、
今までVlookup で済ましていたので index、match関数になると
手が出ませんでした。本当に助かりました。感謝です。



680名無しさん@そうだ選挙にいこう:2012/06/03(日) 20:29:08.21
>>679
残額はそれでいいの?
681名無しさん@そうだ選挙にいこう:2012/06/03(日) 20:46:36.84
>>680
残額の列は、修正して普通の会計簿の数式を入れます。
Y2には  =W
Y3には  =Y2+W3−X3 で以下コピーします。

682名無しさん@そうだ選挙にいこう:2012/06/04(月) 10:02:07.94
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
シート1のA1A2セルに入力するとその内容がシート2のA1B1セルに入力される、とここまではいいのですが
シート1の入力した場所を消して新しくシート1のA1A2に入力するとシート2のA1B1の内容は消されず
その下のA2B2に入力されるというのはできますか?
683名無しさん@そうだ選挙にいこう:2012/06/04(月) 10:12:36.19
>>682
vbaじゃないと無理
vba worksheet_change
でぐぐれ
684名無しさん@そうだ選挙にいこう:2012/06/04(月) 10:13:37.68
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセルファイルの読み取りパスワードがわからなくなってファイルが開けないんです。
eup040とかありますが、総当たりだと何カ月もかかってしまうので、神の皆さま教えてください((+_+))
685名無しさん@そうだ選挙にいこう:2012/06/04(月) 10:43:33.70
クリップボードがいっぱいになってこれ以上もてませんってメッセージがうざいんですがどうにかなりませんか
686名無しさん@そうだ選挙にいこう:2012/06/04(月) 10:53:14.63
>>684
解除してやるからファイルをアップしろよ
687名無しさん@そうだ選挙にいこう:2012/06/04(月) 10:56:14.55
>>685
ググったらスゲー古い記事がヒットした
http://www.atmarkit.co.jp/fwin2k/win2ktips/488clipboard/clipboard.html
688名無しさん@そうだ選挙にいこう:2012/06/04(月) 11:01:08.31
>>684
oooはvbaのパスだけだったかな
一度使ってみて
689名無しさん@そうだ選挙にいこう:2012/06/04(月) 17:51:56.48
>>687
めちゃthx
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
693名無しさん@そうだ選挙にいこう:2012/06/05(火) 11:58:04.09
>>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-'ニ-,  __,..○ ヽ-‐|_|‐ ' ´ ̄
     |                 ヒ,ニ..-'´        ´-`
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
694名無しさん@そうだ選挙にいこう:2012/06/05(火) 12:30:06.96
                     ノ´⌒`ヽ
                        γ⌒´      \
                     .// ""´ ⌒\  )
                     .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-'ニ-,  __,..○ ヽ-‐|_|‐ ' ´ ̄
     |                 ヒ,ニ..-'´        ´-`
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
695名無しさん@そうだ選挙にいこう:2012/06/05(火) 13:18:54.95
写真やPDFを管理するのが大変(検索しにくい)で
エクセルに一覧表を作ってハイパーリンクで各画像とリンクさせたいんだけど
リンク先のPDFを開くと自動でアドビ―のソフトが立ち上がっちゃうんだけど
どうしたら別のソフトに指定できるか教えて下さい。

jpgをリンクさせるとjpgとして開けなくてエクスプローラーで画像を開くんだけど
これもjpgとして開いたりできるの?
696名無しさん@そうだ選挙にいこう:2012/06/05(火) 13:40:38.86
>>695
つ「Evernote」
697682:2012/06/05(火) 15:16:58.12
>>683
>>692
遅くなりましたがありがとうございますVBAじゃないと無理ですか少し調べてみます
698名無しさん@そうだ選挙にいこう:2012/06/05(火) 16:25:20.80
VBAで作った関数でその結果をセルに出せるのですが
そのセルに入った値を他の関数で使おうとすると
代入式の左辺の関数呼び出しは、オブジェクト型かバリアント型の値を返さなければいけません。
となってエラーになってしまうのですが
どうしたら、他の関数でだした結果それ自体を他の関数に入れることができるのでしょうか?
699名無しさん@そうだ選挙にいこう:2012/06/05(火) 17:48:40.13
コードを見たい
700名無しさん@そうだ選挙にいこう:2012/06/05(火) 20:15:07.34
イベントが起きた時
vbaが動作して
関数が処理される時、、
701名無しさん@そうだ選挙にいこう:2012/06/05(火) 20:36:01.99
>>698
subじゃなくfunctionで定義して戻り値
それかグローバル変数でも
702名無しさん@そうだ選挙にいこう:2012/06/06(水) 00:10:44.42
>>700-701
日本語でOK
703名無しさん@そうだ選挙にいこう:2012/06/06(水) 00:31:03.86
だからコードかけと
704名無しさん@そうだ選挙にいこう:2012/06/06(水) 07:40:00.26
>>696
ipadにいれたまま使ったことなかったけど便利そうだね。
情弱な俺にヒントをくれてありがとう。
705名無しさん@そうだ選挙にいこう:2012/06/06(水) 19:37:37.86
【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) こんな感じのはできますか?
706名無しさん@そうだ選挙にいこう:2012/06/06(水) 19:49:40.18
>>705
質問の最後の2行がちょっと理解できなかったけどこんな感じ?
違ってたら適当に改造してね
=INDIRECT("Sheet1!A" & ((ROW()-1)*10+1))
707名無しさん@そうだ選挙にいこう:2012/06/06(水) 20:09:52.95
ご質問を把握するのが困難な自分 orz
708名無しさん@そうだ選挙にいこう:2012/06/06(水) 20:10:09.02
>>705
の最後間違っていました。

=Sheet2!A2 +(10*(現在の行-1))
 
現在の行はSheet2!A2なので2の数字が、
Sheet2!A5なら5行目なので5の数字がほしいです。



>>706
ありがとうございます
使ったことない関数なので調べてみます
709名無しさん@そうだ選挙にいこう:2012/06/06(水) 20:15:35.98
>>708
書き足りなかった

=Sheet2!A2 +(10*(現在の行-1))



=Sheet2!A12

意味になるような方法はないのでしょうか
710名無しさん@そうだ選挙にいこう:2012/06/06(水) 20:24:17.54
>>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○


の○の部分に数値を入れたらすぐに答えれると思う
711名無しさん@そうだ選挙にいこう:2012/06/06(水) 20:44:13.85
>>706
>>710
ROWと&が知りたかったことでした。
的確なアドバイスありがとうございます。
712名無しさん@そうだ選挙にいこう:2012/06/06(水) 20:50:40.63
>>711
うまく行ったか
indirectをr1c1形式にして、column()で列も取得すればオートフィルだけで全部処理できるぜ
713名無しさん@そうだ選挙にいこう:2012/06/07(木) 01:54:23.90
天皇が死んで元号が変わると思ったが
別人だったか。
714名無しさん@そうだ選挙にいこう:2012/06/07(木) 01:55:01.63
ピボットテーブルは使ったことないんだが
一言で言うとどんな機能?
715名無しさん@そうだ選挙にいこう:2012/06/07(木) 02:12:09.39
クロス集計
って言われても分からんだろ。俺も分からん。
使ったほうが早い
716名無しさん@そうだ選挙にいこう:2012/06/07(木) 04:31:44.45
>>714
数式を考えなくても、自動的に合計とか平均とか計算して一覧表にまとめてくれる
717名無しさん@そうだ選挙にいこう:2012/06/07(木) 06:28:04.92
>>713
天皇陛下と寛仁殿下を間違うってどんだけ世情に疎いんだよ・・・
718名無しさん@そうだ選挙にいこう:2012/06/07(木) 19:56:36.14
データ解析で、mac office 2011のExcelでフーリエ変換後に、パワースペクトルを出したいのですが、使い方がわかりません。よければ教えてください。
719名無しさん@そうだ選挙にいこう:2012/06/07(木) 21:09:49.07
>パワースペクトル
計算の方法なのかグラフ表示の方法なのか???
720名無しさん@そうだ選挙にいこう:2012/06/08(金) 03:01:32.16
知らないんじゃなくてわからないなら調べろよ
721721:2012/06/08(金) 04:26:47.30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003 2007
【3 VBAが使えるか    .】 初級
【4 VBAでの回答の可否】 可

改行オーバーにつき、2レスに渡ります。
長文失礼します。

722721:2012/06/08(金) 04:27:21.16
とある計測器を操作するためのメーカーサイトよりダウンロードした
エクセルアドインファイル(パス保護付き)があります。

そのファイルを開くことでコマンドバーに計測開始ボタンが設置されるブックオープンマクロが有り、
メーカーの設計意図としては
 @アドインファイルを開く
 Abook1を作成する
 Bbook1に計測値を入力
としているようです。

しかしながら、パーソナルマクロを別途設置している環境下ですと
 @アドインファイルを開く
 Aパーソナルマクロが処理される
 Bエクセルにてbook1が表示されない
 C想定しているbook1が存在せず、エラー
となります。

どうやらアドインにはブックカウントでの分岐処理があり、
新規立ち上げ時(ブックカウント=1)ならば、book1挿入みたいな処理が
最初にあると思われます。
しかし立ち上げの際、先行してパーソナルマクロが起動し、
ブックカウントがパーソナルマクロの1つ分増えたため、上記分岐から外れるものと思われます。


これを回避するために、パーソナルマクロにbook.addを記述し、エラー回避を図っていますが、
本操作とは関係の無い他のエクセルファイルを開いた際に、対象エクセルファイルに加え、
常にbook1ファイルが開くことになり、わずらわしく感じます。

これを回避する方法、ご教示いただきたくよろしくお願いします。
なお、回避策を講じる対象としてメーカーのアドインファイルは除外扱いにてお願いします。
723名無しさん@そうだ選挙にいこう:2012/06/08(金) 08:01:08.93
>>721
そのメーカーにアドインのバグを直してもらえばいいんじゃないの?
それが無理なら
もう1つアドインを作って、book1を作成してメーカーのアドインを開くようなマクロを組み込むとか
パーソナルマクロのbook.addの際にメーカーのアドインが開かれているどうか事前に判定するとか
724名無しさん@そうだ選挙にいこう:2012/06/08(金) 19:36:43.31
【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
725名無しさん@そうだ選挙にいこう:2012/06/08(金) 19:37:24.67
>>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はまだよくわからないので、関数だけで作れる方法を教えてもらえないでしょうか?
726名無しさん@そうだ選挙にいこう:2012/06/08(金) 19:50:05.85
>>725
見づらい表ですみません、関数だけでと書いてしまいましたが
vbaでもいいので参考になるアドバイスをお願いします。
727名無しさん@そうだ選挙にいこう:2012/06/08(金) 20:32:38.55
【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 2007

質問です。
ある時突然、Excel上でのコピぺがおかしくなりました。

例えば表をコピーしペーストする場合
以前は コピー元のセルの色や、罫線の状態も
そのままコピーされてましたし
右下に表示されるボタンくりっくで
引用元の書式に・・・ とか 貼り付け先の書式に・・・とか選べました

ところが
今はペーストしても文字情報しか貼り付けできず
右下のボタンを押しても
・貼り付け先の書式にあわせる と
・テキストファイルウィザードを使用する?? とかしか出ません。

何がどうなっているのでしょうか?
どなたか御教授下さい。
728727:2012/06/08(金) 20:54:12.71
追記です。
もうひとつ変化ありました。

通常表の一部をマウス等で選択し
内容を移動しようとドラッグすると
移動ではなく、コピーされてしまいます。
729名無しさん@そうだ選挙にいこう:2012/06/08(金) 21:17:12.99
>>724
行ってる意味がわからない
>>727
エクセル コピー おかしい
辺りでぐぐると、スカイプのアドインが影響してるなど出てくる
再インストールも試してみて
730名無しさん@そうだ選挙にいこう:2012/06/08(金) 21:23:04.77
>>727
Ctrlキーとか押下されっぱなしだと認識されてるんじゃないの?
マウスジェスチャソフトとかキー拡張ソフトとか使ってると設定次第で良く起こる

普通、物理キーボードはキーを押して離せば、Down&Upのキーコードを発行するが
プログラムではDownだけ、Upだけのキーコードも発行できるので
Ctrl Downのキーコードを発行してUpキーを発行しなければ、
物理キーボードのCtrlは解放(Up)されていても、OSの認識ではCtrlキー押しっぱなしとなる

それが原因なら一時的にはCtrlやその他原因となっているキーを物理キーボード上で押してやれば
開放状態になるが、根本的解決は原因となったプログラムが何かによっても変わってくるので他で聞いて
731名無しさん@そうだ選挙にいこう:2012/06/08(金) 22:43:22.25
>>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に続きます
732名無しさん@そうだ選挙にいこう:2012/06/08(金) 22:44:11.20
22時と指定した時に、sheet2に↓の結果をだしたいです。
A先生が21時から教えているので21時から開始して
先生が変わるか、空白の時間でリセットして結果を4件表示したいです。


22時 ←時間指定箇所

結果 結果2 結果3 結果4
10分 × △ △ △
20分 × △ △ ○
30分 △ ○
40分 △
50分 ○
60分
733727:2012/06/08(金) 22:48:51.29
>>729
当該アドオンの削除で解決しました。
本当に助かりました。
ありがとうございます。
734名無しさん@そうだ選挙にいこう:2012/06/08(金) 22:50:12.03
ごめんなさい。
>>730さんもありがとうございました。
735721:2012/06/08(金) 22:58:55.50
>>723
>もう1つアドインを作って、book1を作成してメーカーのアドインを開くようなマクロを組み込むとか
ありがとうございます。
これが一番楽そうですね。
トライしてみます。
736名無しさん@そうだ選挙にいこう:2012/06/08(金) 23:03:57.79
>>729の人が言ってるように、>>724-726>>731-732も全く意味がわからない
何らかのルールがあるんだろうけどそれが全く読みとれないな・・・
とりあえずそのルールに従ってVBAのコードを書くしかないと思うよ
737名無しさん@そうだ選挙にいこう:2012/06/08(金) 23:12:43.45
時間の経過はわかるわ。
何人かの先生が教えた開始-終了時刻。
それを受けたか否かの生徒の区別?
それらの生徒の成績ということ?

わからない、、、orz
738名無しさん@そうだ選挙にいこう:2012/06/08(金) 23:24:45.40
またお前ら釣られてるのかよ
739名無しさん@そうだ選挙にいこう:2012/06/08(金) 23:31:49.55
>>731
解けた。今までで一番難しい問題だった。

リセット、先生、時間といった言葉に惑わされないように、
何が起こってるのかは考えない。データの規則だけを考える

今回の「22時」を「指定時間」とする
「指定時間」の3列目がA、このAがどこまで上に連続しているか、それが
21時 10分 A ×2
の列。ここからデータを取る、というのがスタート地点。

そして3列目が変わるか空白行までをワンセットとする
それが結果1になる
どうように3列目が変わるか空白行までをワンセットとし、
4セット繰り返す
>>738
君には根気がないなぁ
740名無しさん@そうだ選挙にいこう:2012/06/08(金) 23:32:43.45
わかりやすいように記号の横のデータに通し番号を振っている
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分という数字には何の意味もないことに
741名無しさん@そうだ選挙にいこう:2012/06/08(金) 23:36:14.60
わかんねーよカス
3年ROMれ
742名無しさん@そうだ選挙にいこう:2012/06/08(金) 23:42:22.91
説明べたで申し訳ないや
10分-60分はグラフを作るときに使うだけなんです。

COUNTIF関数で連番を複数作ればいけるかな?としか想像できないけど、スマートな作り方あるでしょうか?
vbaだと想像できないけど簡単に作れるだろうか?
743名無しさん@そうだ選挙にいこう:2012/06/08(金) 23:50:45.61
>>742
関数を極めてれば15分でできる。
が、普通はvbaの方が楽と思う。
http://www.dotup.org/uploda/www.dotup.org3071750.xls.html
744名無しさん@そうだ選挙にいこう:2012/06/09(土) 00:05:42.82
>>742
そもそも日本語ですら書けない仕様を
VBAのコードで書けるわけないだろ・・・
あきらめろ
745名無しさん@そうだ選挙にいこう:2012/06/09(土) 00:06:48.92
要するに、どの先生が何分教えたかってことと成績結果に関連があるかどうか見たい
ってことだろ
746名無しさん@そうだ選挙にいこう:2012/06/09(土) 00:10:17.10
それならふつうはピボットをつかう
747名無しさん@そうだ選挙にいこう:2012/06/09(土) 00:18:05.22
>>743
参考になりました。ありがとうございます。
748名無しさん@そうだ選挙にいこう:2012/06/09(土) 00:21:32.15
>>745
>>732の加工後の表に先生の情報がないからそういうことではないだろうね
749名無しさん@そうだ選挙にいこう:2012/06/09(土) 09:59:18.33
【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


750名無しさん@そうだ選挙にいこう:2012/06/09(土) 10:07:18.42
ショートカットについての質問です。職場がウインドウズ7でエクセルは2010なのですが
エクセルを開くと、最初に「編集を有効にする(E)」と出ます
そこで、マウスを使わず「ALT」を押さえながらEを押しますが、何か変なメッセージが出るのみです
これは、何を押さえながらEを押すと有効になるのでしょうか(本日は自宅なので確認ができないのですが)

よろしくお願いします
751名無しさん@そうだ選挙にいこう:2012/06/09(土) 10:14:06.39
>>750
さすがに操作方法はメーカーのサポートに聞けよ・・・
752名無しさん@そうだ選挙にいこう:2012/06/09(土) 10:21:57.86
>>749
元データである小テストの結果1回分が1ワークシートにどのように表現されているんだ?
個人識別IDってのは小テストの結果シートにはあるけど新ワークシート上にはないのよね?
AさんBさんCさんっていう個人の名前はどこから引っ張ってくるんだ?
個人の名前と個人識別IDはどうやって紐付いてるんだ?
分からないことが多すぎるが多分VLOOKUPでいけるんじゃない?
753749: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)のフルリス
トを作成するところから始まるのかと思うのですが、それにはどうしたらよいので
しょうか?いったん全部コピーして重複分を取り除くのでしょうか?
754名無しさん@そうだ選挙にいこう:2012/06/09(土) 11:53:34.03
>>753
手作業でやるなら名前をコピペして重複の削除をすればいい
重複の削除がないバージョンならフィルタオプションの設定で重複を消すかピボットで集約するか

発生頻度が数十回程度なら1分もかからないだろうし手作業でいいんじゃない?
何百回何千回と発生するならVBAの方が効率的だろうけど
755名無しさん@そうだ選挙にいこう:2012/06/09(土) 12:07:07.42
>>749
元のデータはどんなふうに並んでんの?
756名無しさん@そうだ選挙にいこう:2012/06/09(土) 13:25:35.06
これ便利じゃね?
Excelで動くPythonプラグインだと。
http://365yen.jp/tech/2012/06/47689
757名無しさん@そうだ選挙にいこう:2012/06/09(土) 13:30:08.24
>>756
なぜPython・・・
758名無しさん@そうだ選挙にいこう:2012/06/09(土) 14:06:07.09
>>756
>ビデオではPythonでコードを書くとVisual Basicと比較して、4分の1のコード量で済むデモが披露されています。
>Webアプリケーションを始め、利用出来るシーンが広いPython、コードの再利用にも都合が良さそうです。

このライターこんなこと本気で言ってんのか?www
759名無しさん@そうだ選挙にいこう:2012/06/09(土) 14:50:34.82
だれがモンキーやねん。
760名無しさん@そうだ選挙にいこう:2012/06/09(土) 15:32:09.61
>>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

(続く)
761名無しさん@そうだ選挙にいこう:2012/06/09(土) 15:34:22.31
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名無しさん@そうだ選挙にいこう:2012/06/09(土) 19:07:05.90
セルの数値データを装飾するのに、
・文字色
・セル色
・網掛け
この他に何かあります?
763名無しさん@そうだ選挙にいこう:2012/06/09(土) 19:09:00.10
>>762
アンダーバーとか取り消し線とか文字の太さとか
764名無しさん@そうだ選挙にいこう:2012/06/09(土) 20:37:14.09
セル内グラデーションのグラフとか
765名無しさん@そうだ選挙にいこう:2012/06/09(土) 21:06:13.40
そういえばそんな機能もあったな
使ってる人いるの?
766名無しさん@そうだ選挙にいこう:2012/06/09(土) 22:07:05.86
・枠線
・オートシェイプ
・フォント

印刷上ではなくモニタ上の話でVBA使えば、テレビなんかでよく見る

○●●○●●○●
●    数字    ●
●○●●○●●○

で○がグルグル回るみたいな電飾的なことも出来る
767名無しさん@そうだ選挙にいこう:2012/06/09(土) 22:52:00.78
初歩的なことかも知れませんが、うまくできないので教えて下さい。
C1のセルに
=CONCATENATE(A1,B1)
↑これを入れています。
A1に=today()と入力して今日の日付を入れています
B1には 「の出来事」と文字が入っていて
理想としては「2012/6/9の出来事」と表示したいのですが、
C1には「41069の出来事」と表示されています。
なぜでしょうか?右クリックで表示の選択をしても
数値が変わりません。何が原因か教えて下さい。
768名無しさん@そうだ選挙にいこう:2012/06/09(土) 22:55:41.41
>>767
説明が面倒なので「シリアル値 エクセル」などでぐぐって下さい
解決策は
=CONCATENATE(TEXT(A1,"yyyy/mm/dd"),B1)
769名無しさん@そうだ選挙にいこう:2012/06/09(土) 22:58:04.07
>>768
ども!
770名無しさん@そうだ選挙にいこう:2012/06/10(日) 00:58:03.75
>>750ですがぐぐってみて
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1474909454
これでいけるか月曜日に試してみますね!一般の検索よりこのスレを信用しているため
すっかり検索することを忘れていましたが、こういう解決法もあるようでした
771名無しさん@そうだ選挙にいこう:2012/06/10(日) 13:05:54.52
Excel2003にて
基本かもしれませんがオートフィルで自動で数列を作成する時に
複数のセルを引用した計算式の場合にそれぞれのセルがすべてずれた計算式が作成されますが
本当は自動でずらしたい箇所は1箇所だけと言う場合に他は固定するような方法はあるのでしょうか?
772名無しさん@そうだ選挙にいこう:2012/06/10(日) 13:12:27.76
>>771
式の例としましては
=F1+(G1*F120) と言った式で
F1 G1 は固定で F120 の値を F121F122 ・・・と 1行ずつ加算するような感じです、、

普通に引っ張りますと F1 G1 も値が増えて計算結果がとんでもない事に・・w
773名無しさん@そうだ選挙にいこう:2012/06/10(日) 13:25:08.40
=$F$1+($G$1*F120)
774名無しさん@そうだ選挙にいこう:2012/06/10(日) 13:38:03.08
>>773
今根性で50行手入力し終えたたところでしたww
絶対参照というのですね ありがとうございます。

グーグル検索で$マークは無視されているようで  ドルマーク と入れたりしたらでてきました、、、
775名無しさん@そうだ選挙にいこう:2012/06/10(日) 14:02:19.81
>>774
数式入力中に[F4]キーを押すと参照方式を順に変えてくれるよ
776名無しさん@そうだ選挙にいこう:2012/06/10(日) 14:57:19.58
>>775
おおお!これは便利ですね ありがとうございまます!!
777名無しさん@そうだ選挙にいこう:2012/06/10(日) 18:43:07.59
質問です
excelで何が何でも「二重取り消し線」を使いたいんだけどいい方法ありませんか?
MSの昨日としては恐らく無理だと思うんで
アドオンでもなんでも使っていいので
なにかいい方法あったら教えて下さい
778名無しさん@そうだ選挙にいこう:2012/06/10(日) 18:59:23.52
オートシェイプ使えばどうにでもなるよ
779名無しさん@そうだ選挙にいこう:2012/06/10(日) 19:13:38.04
>>777
ttp://page.freett.com/comet333/excel-121-2-007.gif
二重下線と下付きを同時に使う
但しフォントはかなり不自然になる

あとは=====と入力してカメラ機能かね
780名無しさん@そうだ選挙にいこう:2012/06/10(日) 19:27:03.70
>>777
「excel」「二重取り消し線」でググれよ
781名無しさん@そうだ選挙にいこう:2012/06/10(日) 23:14:33.97
会社であるデータベースをExcelで管理してて
そのデータベースは行で言えば数千以上のエントリー件数があります。
毎週、この中からある条件のフィルターでしぼった100件程度の行を調査して
そのデータは半分くらいは書き換えられます。

ここで問題。

その書き換えたデータを大元のデータに手入力で入力しているのですが
フィルターした状態で、他のシート(つまり調査時のデータを書き変えたシート)からコピペで大元のデータを貼り付けられませんか?
782名無しさん@そうだ選挙にいこう:2012/06/10(日) 23:15:16.74
× 大元のデータを
○ 大元のデータに
783名無しさん@そうだ選挙にいこう:2012/06/10(日) 23:17:15.33
エントリに固有番号がついてればVBAでなんとか
784名無しさん@そうだ選挙にいこう:2012/06/10(日) 23:22:26.59
>>783
具体的にどうすればいいですか?
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

ちゃんとうんこデータを更新するにはどうしたらいいでしょうか?
787名無しさん@そうだ選挙にいこう:2012/06/10(日) 23:26:05.11
>>781
大元のデータをフィルタで絞り込んで書き換えるだけでいいんじゃないの?
コピペの必要性がわからん
788名無しさん@そうだ選挙にいこう:2012/06/10(日) 23:29:33.77
>>787
そう単純じゃないの。
調査のデータは別システムでデータが更新された状態で来るので
そのままコピペできれば早いから
789名無しさん@そうだ選挙にいこう:2012/06/10(日) 23:31:56.63
>>785
またお前か・・・
スレが立つ度に同じ質問してんなよ
VBAでしか無理って答え出てるんだからそろそろ覚えろよ
790名無しさん@そうだ選挙にいこう:2012/06/10(日) 23:36:51.28
> フィルターがかかったままの状態で上記データコピペする
という横着をやめたらいいんじゃないの?

というか、データベースではなく表計算ソフトでしかないExcelでは
それ、やっちゃいけないことだし
791名無しさん@そうだ選挙にいこう:2012/06/10(日) 23:41:46.39
>>785
「うんこ 1」と「固いうんこ 11」には何の紐付けもないの?
「うんこ 1」を「固いうんこ 11」に、「うんこ 2」を「ぬるぬるうんち 12」に、
って感じで上から順番に書き換えればいいだけ?
それならループ回してセルに値を代入するだけでいいと思うけど
792名無しさん@そうだ選挙にいこう:2012/06/11(月) 00:02:34.36
>>785
vba覚えたほうが早いぞ
しかもすげー初歩の段階で実現可能。
具体的にはfornextとcell(x,x).value=cell(x,x)value
これは嫌味とかじゃなく、マジで覚えた作ったほうが早い
793名無しさん@そうだ選挙にいこう:2012/06/11(月) 00:09:41.78
入れ食いとはまさにこのこと
794名無しさん@そうだ選挙にいこう:2012/06/11(月) 01:19:39.63
たとえが汚い
795名無しさん@そうだ選挙にいこう:2012/06/11(月) 08:41:37.84
1度、ドキュメント完成しちゃうと興味なくなっちゃうExcelだわ。
VBAも楽しかったなぁ。そういえば。
逆引き辞書とかみながら、「え、こんなことできたの?」って驚きながら学んだ、あの夏・・・。
796名無しさん@そうだ選挙にいこう:2012/06/11(月) 10:20:33.55
オートシェイプの図形にマクロ登録して、A1のセルの書き換えをしてます。
A1のセルが書き換わる事で、Bの行に別シートからvlookupで呼び出しているデータを表示させてます。
c行以下に、リストがあり、リスト内にマクロ登録してあるオートシェイプの図形を配置しています。
またbとcの行の間で、ウィンドウの分割、枠の固定をしています。

そこで、図形をクリックすると、a1が書き換わる為か、ウィンドウ分割しているc行以下を表示しているウィンドウが一番上まで戻ってきてしまいます。
何か戻らなくする方法はないでしょうか?
ご教授お願いいます。
797名無しさん@そうだ選挙にいこう:2012/06/11(月) 10:58:10.58
>>796
コード見ないとわからないけど
Range("A1").Select
とか入ってない?
798名無しさん@そうだ選挙にいこう:2012/06/11(月) 11:31:31.77
>>796
ステップ実行したらどのコードでそうなってるかわかるだろ?
そのコードをここに貼れ

ちなみにExcelではAとかBとかCってのは行(row)じゃなくて列(column)って言うのが一般的なので
行って言っちゃうと非常に紛らわしいよ
799名無しさん@そうだ選挙にいこう:2012/06/11(月) 12:27:39.43
>>797
入ってます。消してしまえばいいのでしょうか。

>>780
携帯から投稿してますので、コピペできないです…。
列と行が混ざってしまっていました。
ごめんなさい
800名無しさん@そうだ選挙にいこう:2012/06/11(月) 13:01:24.60
>>799
あ、やっぱり入ってたのね。マクロの記録からコード生成したのか。
消してもいいけど、後にどう影響するかはコードを見ないとわからない
でもまぁ、消してうまく行ったらそれでいいんじゃないかな
vbaは「ステップイン」や「ウォッチ式」という便利な機能があるので、
調べて使ってみて
801名無しさん@そうだ選挙にいこう:2012/06/11(月) 23:20:07.01
yyyy = "2012"
mm = "6"
dd = "11"
yyyymmdd = yyyy & "/" & mm & "/" & dd

としたとき、変数yyyymmddを日付のデータにするには
どうすればいいのだ?
802名無しさん@そうだ選挙にいこう:2012/06/11(月) 23:27:15.58
>>801
Dim yyyymmdd As Date
803名無しさん@そうだ選挙にいこう:2012/06/12(火) 00:16:18.75
>>801
CDate(yyyymmdd)
804名無しさん@そうだ選挙にいこう:2012/06/12(火) 00:30:25.07

 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

 非明示的な自動型変換には頼らない方が良い
805名無しさん@そうだ選挙にいこう:2012/06/12(火) 03:00:12.14
>>804
◎最良の手を教える
○最良の手を無駄に改行して教える>>804デス
△変な回答
×間違った回答
806名無しさん@そうだ選挙にいこう:2012/06/12(火) 04:19:02.54
>>805
俺は>>804は読みやすい改行の入れ方だと思う。
807名無しさん@そうだ選挙にいこう:2012/06/12(火) 05:14:38.99
>>806
2行も空ける必要ないだろ
808806:2012/06/12(火) 10:21:47.27
書いた本人じゃないので違うのかもしれないが
◎のパート、○のパート、△のパート、
それぞれを区別するための2行改行だと俺は感じた
そして、各々のパート内で元のコードとその評価・解説の間を
1行空けているのも読みやすくするためだと思う

こういう場合は俺もそういう意図で同じような書き方をするから
それが無駄だといわれると違和感を感じる。
809名無しさん@そうだ選挙にいこう:2012/06/12(火) 11:08:26.43
◎も△も質問者の前提条件を変えてしまってるから無意味な回答だよ
810名無しさん@そうだ選挙にいこう:2012/06/12(火) 13:01:22.80
日付型データは使わないってのが一番いいような気がする。
20120611とか、そのままじゃだめなのか?
811名無しさん@そうだ選挙にいこう:2012/06/12(火) 18:18:26.13
日付を扱いたいのに日付型使わないとか
そのハンデに何の意味があるんだ
812名無しさん@そうだ選挙にいこう:2012/06/12(火) 18:31:06.99
インデントが付いてるから記号が段落の区切りも兼ねてるって見ればわかる
だから2行も空ける必要はない
813名無しさん@そうだ選挙にいこう:2012/06/12(火) 18:54:40.08
そうか?



3行も空けてやったぜぇ〜
814名無しさん@そうだ選挙にいこう:2012/06/12(火) 19:14:25.59
質問です

【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と同じ項目を作ればいい話ですが、不必要な項目を増やすと乱雑としてできれば避けたいところです

長くなってしまいましたが本題です
参照先にそもそもデータが無い場合のエラーを回避する方法はあるでしょうか
815名無しさん@そうだ選挙にいこう:2012/06/12(火) 19:24:23.20
=IF(ISERROR(VLOOKUP(…
816名無しさん@そうだ選挙にいこう:2012/06/12(火) 20:00:40.66
できました!ありがとうございました
817801:2012/06/12(火) 20:05:00.16
>>802-804
d

>>809
まぁまぁ

>>810
ダメぽ
818名無しさん@そうだ選挙にいこう:2012/06/12(火) 21:31:56.66
Dim moji As String

moji = "2"
unko = moji * 3
MsgBox unko

何でエラーにならないの?
819名無しさん@そうだ選挙にいこう:2012/06/12(火) 21:35:31.64
日ごろの行いが良いせいだろ。
820名無しさん@そうだ選挙にいこう:2012/06/12(火) 21:38:01.84
そうですか
ありがとうございました
821818:2012/06/12(火) 22:55:32.55
え?
822名無しさん@そうだ選挙にいこう:2012/06/12(火) 23:09:54.73
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ

2.23×10^-5みたいな表記がしたいんですけどどうすればいいですかね?

823名無しさん@そうだ選挙にいこう:2012/06/12(火) 23:11:14.62
>>818
仕様です
動的型付けでぐぐれ
>>822
表記
'2.23×10^-5
計算
=2.23*10^-5
824名無しさん@そうだ選挙にいこう:2012/06/12(火) 23:13:49.16
>>823
ありがとです
825名無しさん@そうだ選挙にいこう:2012/06/13(水) 01:27:55.87
シート名に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
826名無しさん@そうだ選挙にいこう:2012/06/13(水) 01:38:49.40
>>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

827名無しさん@そうだ選挙にいこう:2012/06/13(水) 01:55:55.64
ありがとう
Ifは1個で済むのか・・・
828名無しさん@そうだ選挙にいこう:2012/06/13(水) 02:13:14.44
>>827
対象シート名の末尾が必ず"月"で終わるなら
そもそもIf文は要らないけどね
829名無しさん@そうだ選挙にいこう:2012/06/13(水) 09:38:24.51
あるかどうか知らないし、おそらく無いとは思うが、
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
830名無しさん@そうだ選挙にいこう:2012/06/13(水) 10:47:57.41
Tsukiに値を代入した後もループが続くけどそれでいいの?
831名無しさん@そうだ選挙にいこう:2012/06/13(水) 11:07:21.69
If Right(ws.Name, 1) = "月" Then Tsuki = Val(ws.Name)
832名無しさん@そうだ選挙にいこう:2012/06/13(水) 11:11:07.82
Tsukiが未定義の時が0でいいなら

Tsuki = Val(ws.Name)
If ws.Name <> Tsuki & "月" Then Tsuki = 0
833名無しさん@そうだ選挙にいこう:2012/06/13(水) 15:19:27.13
何でExcelってドラッグドロップで画像貼り付けに対応しないんだろ、不思議でしょうがない
2010になったら流石に貼り付け出来るようになると思ったのに・・・
834名無しさん@そうだ選挙にいこう:2012/06/13(水) 15:26:17.13
>>833
仕様の質問は一般ユーザには答えられません
メーカーのサポートへどうぞ
835名無しさん@そうだ選挙にいこう:2012/06/13(水) 22:30:51.05
>>828
なるほど
築きませんでしたw
836名無しさん@そうだ選挙にいこう:2012/06/13(水) 22:35:00.67
>>829
なるほど
「満月」とか「鏡花水月」とか「花鳥風月」とかが
混ざってるとは考えたこともなかったですw

「鏡花水月」なんて読めませんw
837名無しさん@そうだ選挙にいこう:2012/06/13(水) 22:36:37.08
>>830
要点だけ書いたからね
そこまで馬鹿じゃないしーw
838名無しさん@そうだ選挙にいこう:2012/06/13(水) 22:38:40.95
わざわざ「鏡花水月」とか「花鳥風月」挙げたのは完全にネタだろw
839名無しさん@そうだ選挙にいこう:2012/06/13(水) 22:38:50.76
>>831
0点
840名無しさん@そうだ選挙にいこう:2012/06/13(水) 22:41:01.57
だな
841名無しさん@そうだ選挙にいこう:2012/06/14(木) 01:40:55.51
Excelワークシート関数もどき-_- x01.ZIP
ttp://sakura.qp.land.to/?Macro%2F%C5%EA%B9%C6%2F149
選択範囲の中にあるすべての数値の合計(つまりSUM関数)などをアウトプットウインドウに
表示します.


↑これの、プラス数値だけ、またはマイナス数値だけを計算できるマクロってないでしょうか?
842名無しさん@そうだ選挙にいこう:2012/06/14(木) 01:47:38.05
>>841
ここはサクラエディタのスレじゃないですよ
843名無しさん@そうだ選挙にいこう:2012/06/14(木) 08:45:22.43
ブックの中に何枚もシートがあるのですが、
それをひとつのシートにまとめる(繋げる)方法はありますか?
844名無しさん@そうだ選挙にいこう:2012/06/14(木) 09:38:37.58
>>843
「繋げる」の具体的な定義は?
たとえばシート1から順に縦に続けていくとか
横に続けるとか、その程度の単純なものなら簡単にできる

要するにまとめるべきシートのデータ最後尾に
各シートのデータがある領域をコピーして、
順番に貼り付けていくだけ

データがあるセルの領域はUsedrangeで求まる
845名無しさん@そうだ選挙にいこう:2012/06/14(木) 10:20:31.02
複数のシートに何か書いてあるエリアを、ひとつのシートに縦に単純にコピペしているのですが
それを自動化できないかと思いました。
846名無しさん@そうだ選挙にいこう:2012/06/14(木) 11:04:46.74
>>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台は警告メッセージが出ます。

システムの復元をしましたがダメでした。

以前の環境に戻すには、再インストールしか無いのでしょうか?
848名無しさん@そうだ選挙にいこう:2012/06/14(木) 18:23:23.37
849名無しさん@そうだ選挙にいこう:2012/06/14(木) 18:34:29.15
850名無しさん@そうだ選挙にいこう:2012/06/14(木) 20:57:37.37
【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
851名無しさん@そうだ選挙にいこう:2012/06/14(木) 21:26:21.58
>>850
C:EをD:Fにコピペして、FをCにコピペして、Fを消せばいいんじゃないの?
852847:2012/06/14(木) 21:35:00.00
>>848
ありがとうございます。
明日、会社で試してみます。
853名無しさん@そうだ選挙にいこう:2012/06/14(木) 21:48:11.60
【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を変えて別の日の検索をすると正常にでたりします。
対処方法やアドバイスお願いします。
854名無しさん@そうだ選挙にいこう:2012/06/14(木) 21:53:33.38
>>853
訂正
値は
$O$1=6
COLUMN()-14={0}
ROW()-3={0}
でした。値はF9で調べたのです
855850:2012/06/14(木) 21:56:56.18
>>851
例として挙げた4列3行だと851の方法でできますが、5列以上あるとだめですね。
私のやり方が良くないのでしょうか?
856名無しさん@そうだ選挙にいこう:2012/06/14(木) 22:04:35.33
最近の子は、応用ってものが全く出来ないんだな
857名無しさん@そうだ選挙にいこう:2012/06/14(木) 22:09:14.56
>>850
E列を切り取り、C列に列挿入では?
858850:2012/06/14(木) 22:27:08.48
>>856
具体的に、どうすればいいですか?

>>857
その方法だと、850の例ではC3セルの数式が =E3になります。
左側の数値を加工していくので、=B3にしたいです。
859名無しさん@そうだ選挙にいこう:2012/06/14(木) 22:30:33.65
>>850
あんまりオススメできないが、状況が状況だけにindirect()をすすめる
最初に全部修正する必要があるが、
indirect()にすれば絶対にずれない
>>853
式が中途半端なんだが・・・
MATCH($O$1+(COLUMN()-14)+(ROW()-3)/1000,0)
でいいの?
それを整理すると
=MATCH(6,0)
になり
=MATCH(検索値,範囲 [,照合の型])
と合わない。範囲や型が必要
860名無しさん@そうだ選挙にいこう:2012/06/14(木) 22:33:41.76
>>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]
861名無しさん@そうだ選挙にいこう:2012/06/14(木) 22:36:06.84
>>855
1列増えたのなら
C:EをD:Fにコピペして、FをCにコピペして、Fを消せばいいんじゃないの?

C:FをD:Gにコピペして、GをCにコピペして、Gを消せばいいんじゃないの?
862860:2012/06/14(木) 22:37:37.42
一箇所修正忘れてた
E3のところは=OFFSET(D3,,-1) じゃなくて=OFFSET(E3,,-1)でした。
863名無しさん@そうだ選挙にいこう:2012/06/14(木) 22:48:10.83
>>861
実際にやってみたかい?
864名無しさん@そうだ選挙にいこう:2012/06/14(木) 22:58:00.73
>>863
わざわざやるまでもないと思うけど・・・?
そこまでExcelの動きが信用できないなら
Excelの計算結果を毎回検算しないといけなくなるよ
865名無しさん@そうだ選挙にいこう:2012/06/14(木) 23:01:15.54
>>861
1列増えたなら

x C:FをD:Gにコピペして、GをCにコピペして、Gを消せばいいんじゃないの?
o C:FをD:Gにコピペして、FをCにコピペして、Fを消せばいいんじゃないの?

でも、Fを消すと・・・   ダメぽジャソwww
866名無しさん@そうだ選挙にいこう:2012/06/14(木) 23:10:51.43
>>865
> また、移動させる列は決まっておらず、D列をF列に移動とか
> 右側方向になることもあります。
スマン、これ読み飛ばしてたわ

前提条件が固定じゃないなら具体的になんて言えるわけもなく
「適宜ずれないようにコピペしてください」としか言えないわ

結局>>856さんのレスと同じですね
867名無しさん@そうだ選挙にいこう:2012/06/14(木) 23:11:25.60
できたw
864氏が答えられなかったら俺が答えよう
じゃ寝る
868名無しさん@そうだ選挙にいこう:2012/06/14(木) 23:12:51.49
866は おバカなの?
869名無しさん@そうだ選挙にいこう:2012/06/14(木) 23:14:30.84
>>866
1列増えたとして 具体的に 答えろよ
870名無しさん@そうだ選挙にいこう:2012/06/14(木) 23:15:38.04
866 = 856
馬鹿丸出しってことですね
871名無しさん@そうだ選挙にいこう:2012/06/14(木) 23:50:05.45
>>866
865にアンカーを打ってるんだから、865で指摘されたことをやったらどうだ?
前提条件が固定じゃないから「1列増えたのなら」と自分で前提条件をつくったんだろ?
872名無しさん@そうだ選挙にいこう:2012/06/15(金) 00:08:02.43
独自路線の>>860氏の事も忘れないであげてください
873名無しさん@そうだ選挙にいこう:2012/06/15(金) 00:15:01.54
>>852
検索したらこんなのが見つかった
http://support.microsoft.com/kb/2721781/ja
これが原因なら今のところKB2597166をアンインストールするしかないんじゃないかな?
874名無しさん@そうだ選挙にいこう:2012/06/15(金) 00:15:41.18
860は一つの正解

861は根本的に間違い
875名無しさん@そうだ選挙にいこう:2012/06/15(金) 00:58:33.32
>>871
866さんではないがやってみたw
わざわざやるまでもないと思うけど・・・、#REF!になるねw
876名無しさん@そうだ選挙にいこう:2012/06/15(金) 08:00:43.35
>>849
ありがとうございます。しかし変数が定義されていないコンパイルエラー・・
877847:2012/06/15(金) 08:01:24.10
>>873
KB2597166を削除したら直りました。
警告メッセージ出ず&動作サクサクに戻りました。

ありがとうございました。
878名無しさん@そうだ選挙にいこう:2012/06/15(金) 08:20:22.96
>>876
定義すればいいだろw
879名無しさん@そうだ選挙にいこう:2012/06/15(金) 11:35:41.66
セルに「55-1」とかの文字列を入れておくと、ファイルを開き直した時に「Jan-55」などと変わってしまい困っています。
これを止める方法ありませんか?
880名無しさん@そうだ選挙にいこう:2012/06/15(金) 11:40:20.34
>>879
セルの書式設定で表示形式を文字列にする
881名無しさん@そうだ選挙にいこう:2012/06/15(金) 11:50:31.64
>>880
csvで保存しなくてはならないデータで、開き直すと書式設定が消えてしまいます
Excelの設定でどうにかなりませんか?
882名無しさん@そうだ選挙にいこう:2012/06/15(金) 11:57:03.26
>>881
テキストファイルウィザードで開けばいい
条件の後出しはやめてね
883名無しさん@そうだ選挙にいこう:2012/06/15(金) 12:07:27.21
>>878
すいません、VBAはさっぱりわからないのですが、
とりあえずこのマクロは、よそ様の環境では動くのでしょうか?
884名無しさん@そうだ選挙にいこう:2012/06/15(金) 12:14:09.49
>>883
コード見る限り、特定の環境に特化したコードではないね
885名無しさん@そうだ選挙にいこう:2012/06/15(金) 12:15:29.37
>>882
どもです
知らなかったのでぐぐってやってみましたがめっちゃ面倒ですね…
xlsで管理して、必要時のみcsvで吐き出すようにします
886名無しさん@そうだ選挙にいこう:2012/06/15(金) 13:31:44.19
>>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
887名無しさん@そうだ選挙にいこう:2012/06/15(金) 15:01:03.35
>>886
2000用コードまで書いていただいてゲロ感謝です。それで動きました。
バージョンで動かないことがあるとは想像もしませんでした。
以後気を付けます。
888878:2012/06/15(金) 15:02:29.16
>>887
すまんね、俺もちゃんと調べればよかったわ
889850:2012/06/16(土) 00:19:00.46
>>859
indirect()をぐぐってみましたが、よくわかりませんでした。

>>860 >>862
凄い!ありがとうございます。
なんでズレないのかわかりませんが、列を入れ替えてもOKです。

>>861
それじゃだめ

>>865
そうそう、それでだめでした。
でも860さんのやり方で解決です。


レスしてくださったみなさん、ありがとうございました(ペコッ
890名無しさん@そうだ選挙にいこう:2012/06/16(土) 07:34:40.35
【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のような揃ったセル値を書くにはどうすればいいですか?
892名無しさん@そうだ選挙にいこう:2012/06/16(土) 09:43:52.33
>>890
1も2もIfで

>>881
こちらも1、2共に同じ回答だが
2chではTabや行頭および連続する半角スペースは無視されるので全角スペースをベースに
半角スペースを連続しないように入れて調整する
893名無しさん@そうだ選挙にいこう:2012/06/16(土) 10:19:58.59
Worksheet と Worksheets の使い分けがわかりません><
894名無しさん@そうだ選挙にいこう:2012/06/16(土) 10:53:46.83
>>893
WorksheetsはWorksheetのコレクションです
使い分ける類のものではありません><
895名無しさん@そうだ選挙にいこう:2012/06/16(土) 11:17:28.49
あるセル(A1)でVBAで作った関数で計算し
その計算した結果をほかのセルのVBA関数にセル(A1)を引数として入れたいのですが
そうすると
”代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さねばなりません。”
と出てしまいます。
解決法はないでしょうか?
896名無しさん@そうだ選挙にいこう:2012/06/16(土) 11:36:43.28
>>895
>>698-699
煽りでも何でもなく本当に>>699
の通りでコード見せてもらわないとどうにも出来ない。
だってたぶん根本的に間違った事やってるはずだから。
897名無しさん@そうだ選挙にいこう:2012/06/16(土) 12:49:47.72
>>890 です。
すみませんが具体的な式設定を教えて下さい。
よろしくお願いします。
898名無しさん@そうだ選挙にいこう:2012/06/16(土) 13:05:33.41
>>897
値の取りうる範囲が整数の-1〜1の場合、パターンはこれで全てと考えればいいの?
0と0の場合→0
0と1の場合→1
1と0の場合→1
0と-1の場合→-1
-1と0の場合→-1

あと、どっちのセルも同じ値の場合はどっちのセルの値を表示すればいいの?
899名無しさん@そうだ選挙にいこう:2012/06/16(土) 13:08:24.33
>>897
=IF(A1=0,A2,A1)
900名無しさん@そうだ選挙にいこう:2012/06/16(土) 14:14:27.09
>>898

一度整理します
すみません
901名無しさん@そうだ選挙にいこう:2012/06/16(土) 14:51:40.89
>>900
A3〜E3は>>899で、F3は=IF(COUNTIF(A1:E2,0)=10,0,"")で
902名無しさん@そうだ選挙にいこう:2012/06/16(土) 19:53:59.96
>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の値に基づいて、の間違いです。
失礼しました。
903名無しさん@そうだ選挙にいこう:2012/06/16(土) 21:45:14.00
>>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は「エラー」でいいの?
904名無しさん@そうだ選挙にいこう:2012/06/16(土) 23:04:15.33
>>902
A1=1、A2=2の時、A3とE3とF3には何が表示されればいいの?
何となくだけど、IF関数だけでできるんじゃない?IF関数がわからないの?
905名無しさん@そうだ選挙にいこう:2012/06/16(土) 23:28:24.05
>>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にはエラーと出したいです。
906名無しさん@そうだ選挙にいこう:2012/06/16(土) 23:52:39.05
>>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),"エラー","")
907名無しさん@そうだ選挙にいこう:2012/06/17(日) 00:38:07.24
>>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
質問です。http://uproda11.2ch-library.com/353259UfQ/11353259.jpg
この画像の問題なんですがWebsite1はまんべんなく見られているが、Website2は極端な偏りがある。
このような場合、Website2は再構成を考慮しなければならない。
その根拠となる数字を作るには、どのように数式を考えればよいか?
という問題なんですがどの関数を使えばいいか分かりません。分かる方教えてください。
909名無しさん@そうだ選挙にいこう:2012/06/17(日) 04:21:07.08
>>908
前提条件が初っ端から間違っててどう突っ込んだら良いのやら・・・
偏りの度合い自体は例えば回帰分析やれば出せるけど、
ページビューの偏りは必ずしも再構築を考慮するべき理由や根拠にはならないから、
それを数式化しろと言われてもねぇ…
あとこれ、エクセルの話じゃないからスレ違いだし。
910909:2012/06/17(日) 04:27:35.19
失礼、途中で送信しちゃった。

偏りの数値化は統計学の分野の話だから数学板で聞くべきじゃないか?

911名無しさん@そうだ選挙にいこう:2012/06/17(日) 08:49:16.06
>>908
stdev
912名無しさん@そうだ選挙にいこう:2012/06/17(日) 09:55:34.55
複乳さんは自殺なさったのですか?
913名無しさん@そうだ選挙にいこう:2012/06/17(日) 11:50:52.67
>>911さんありがとうございます。 stdevを使ってwebsite1とwebsite2の標準偏差を出したんですがここからどうすればいいですかね?
914名無しさん@そうだ選挙にいこう:2012/06/17(日) 11:57:12.82
>>912
それ誰?
有名なコテハン?
915名無しさん@そうだ選挙にいこう:2012/06/17(日) 12:24:27.66
>>913
標準偏差が大きければバラつき度合が大きいということだから、
ここからどうすればいい、じゃねえだろ。

数的根拠が出たんだから、web2を再構成するまでだ。
>909 の言う通り、ページビューの偏りが再構築の理由になっているかを
考慮する必要があるかもしれないが、ここから先の話はExcelとは関係ない。
916名無しさん@そうだ選挙にいこう:2012/06/17(日) 12:57:42.94
【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回作成したら追加、変更、削除だけしていきます。手作業でシコシコやるのに疲れました。どうかお助けくださいまし。
917名無しさん@そうだ選挙にいこう:2012/06/17(日) 13:21:43.48
>>916
vlookup
918名無しさん@そうだ選挙にいこう:2012/06/17(日) 13:23:29.20
>>916
vlookup
919名無しさん@そうだ選挙にいこう:2012/06/17(日) 13:30:34.32
>>916
VLOOKUP
920名無しさん@そうだ選挙にいこう:2012/06/17(日) 13:49:14.43
>>916
VLOOKUP
921916:2012/06/17(日) 14:01:27.02
>>917->>920
ありがとうございます。vlookup知りませんでした。
うまくいきました。これからもっともっと勉強します。
922名無しさん@そうだ選挙にいこう:2012/06/17(日) 14:25:55.57
【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バージョン失念

え゙!?
924名無しさん@そうだ選挙にいこう:2012/06/17(日) 15:14:13.81
>>922
無理ですね
925名無しさん@そうだ選挙にいこう:2012/06/17(日) 15:31:53.15
>>922
無理だな
926名無しさん@そうだ選挙にいこう:2012/06/17(日) 15:39:30.77
>>922
無理だろ
927名無しさん@そうだ選挙にいこう:2012/06/17(日) 17:28:08.94
2003にカメラ機能あったっけ?
928名無しさん@そうだ選挙にいこう:2012/06/17(日) 17:45:01.55
>>927
うん
929名無しさん@そうだ選挙にいこう:2012/06/17(日) 17:48:58.15
930名無しさん@そうだ選挙にいこう:2012/06/17(日) 19:19:24.45
マン
931名無しさん@そうだ選挙にいこう:2012/06/17(日) 20:54:20.60
カメラ機能って何?

ググるの面倒だから優しい人だけレスしろ!
932名無しさん@そうだ選挙にいこう:2012/06/17(日) 21:10:06.23
2003だと隠し機能に近いよね
933名無しさん@そうだ選挙にいこう:2012/06/17(日) 21:35:51.65
934名無しさん@そうだ選挙にいこう:2012/06/17(日) 22:16:31.27
>カメラ機能
同シート(or 別シート)のセルやグラフをサイズ自由に表示する。
>>933 は"図の挿入")

↓の例ではカメラ機能を使って、時計を別シートに貼っています。
http://youtu.be/MY-etspxSEQ
935名無しさん@そうだ選挙にいこう:2012/06/17(日) 22:42:00.94
>>933
ども

2007を使ってるが、そんなもん使ったことねーや
936名無しさん@そうだ選挙にいこう:2012/06/17(日) 23:19:15.59
>>912
随分前にそんな書込みがあったと思う
937名無しさん@そうだ選挙にいこう:2012/06/17(日) 23:28:07.49
>>935
ttp://www.eurus.dti.ne.jp/yoneyama/Excel2007/FAQ/camera.html
使える場面はかなり限られると思う
938名無しさん@そうだ選挙にいこう:2012/06/18(月) 19:41:49.41
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 簡単なマクロなら可

あるセルに一定の範囲や条件以外の数字が入るとエラーになるように
設定がしたいです。

そのセルには分数式が入っていて、その式の値が0≦x≦1の範囲内でない場合
エラーとなるように設定するにはどうしたら良いでしょうか?

調べたところデータの入力規則という機能があるのはわかったのですが、
これは数式の場合でも当てはまるのでしょうか?

また、このEXCELを97-2003形式に変換する必要があるので、変換後も
可能な方法でお願いします。

VBAやマクロには疎いですが、「コードの表示」を選んでコピペ
することは可能です。
よろしくお願いいたします。

939名無しさん@そうだ選挙にいこう:2012/06/18(月) 19:59:12.36
>>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
940名無しさん@そうだ選挙にいこう:2012/06/18(月) 20:22:26.45
>>938
=IF(OR(式>1,式<0),"エラー",式)
941名無しさん@そうだ選挙にいこう:2012/06/18(月) 20:26:37.05
【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の倍数しか入力できないような細工ができますか?
942名無しさん@そうだ選挙にいこう:2012/06/18(月) 20:31:13.01
>941
vnbaじゃないと無理ぽ
943名無しさん@そうだ選挙にいこう:2012/06/18(月) 20:36:20.31
>>941
入力規則=MOD(D3,B3)=0
944名無しさん@そうだ選挙にいこう:2012/06/18(月) 20:36:52.22

「エラーメッセージを出す」ではなく「エラーになる」ってことはその値は入力できないことも含むんじゃないの?
そうなるとエラーメッセージは出るものの、普通にエラー値でも入力できてしまう>>939では片手落ちだな
少なくとも入力規則ってのは、エラーメッセージ出すだけじゃなくて、入力の規制をするものなので
使い方解っていないまでもそれに行き着くってことは規制もしたいのだろう

で、入力規則だが、これはあくまでも「入力」に対するもので「計算結果」に対応するものでは無いが
規制条件に数式を使えるので、計算結果を元にした入力の制限も出来る

具体的には、A1,B1が入力セルでC1=A1/B1、そしてC1を0≦x≦1としたいなら、入力規則で
A1:整数/次の値の間/最小値 0/最大値 =B1
B1:整数/次の値以上/最小値 =A1
という感じにすれば良い

>>941
こちらも入力規則で可能
D3:ユーザー設定/数式 =MOD(D3,B3)=0
945名無しさん@そうだ選挙にいこう:2012/06/18(月) 20:47:00.85

> vnbaじゃないと無理ぽ
946名無しさん@そうだ選挙にいこう:2012/06/18(月) 22:23:47.94
>>944さんの

>「エラーになる」ってことはその値は入力できないことも含むんじゃないの?

のとおりです。

具体的な式としてはセルF1に(A1+B1)/(C1-D1-E1)が入っていて、
A1から順番に入力していくケースを想定しています。
ただ、仮に最初にC1で次にB1とかランダムに入力しても、
最終的なF1の値が範囲外になったらエラーとしたのですが
可能でしょうか??
947名無しさん@そうだ選挙にいこう:2012/06/18(月) 22:41:06.22
>>946
A1〜E1の入力規則に以下を設定する
=AND($F$1>=0,$F$1<=1)
948名無しさん@そうだ選挙にいこう:2012/06/18(月) 22:46:08.02
>>947
そりゃ、だめだろ
949名無しさん@そうだ選挙にいこう:2012/06/18(月) 23:01:59.70
>vnbaじゃないと無理ぽ

vnbaってなぁに?
950名無しさん@そうだ選挙にいこう:2012/06/18(月) 23:16:30.91
>>949
ヒント:"n"は"b"の隣にある
951名無しさん@そうだ選挙にいこう:2012/06/18(月) 23:25:23.52
入力ミスは、まぁ誰でもやらかすし仕方ないが
直後に1分未満の差で同一回答が付くほど、VBA無しで当たり前に実現できることに
VBAじゃないと無理とか言ってるのは恥ずかしすぎるw
952名無しさん@そうだ選挙にいこう:2012/06/18(月) 23:50:19.56
>>948
確かに入力途中でエラーになる可能性があるからダメだな

じゃあこうだ
=AND($A$1<>"",$B$1<>"",$C$1<>"",$D$1<>"",$E$1<>"",$F$1>=0,$F$1<=1)
953942:2012/06/19(火) 00:14:18.00
すいませんでした。
954名無しさん@そうだ選挙にいこう:2012/06/19(火) 00:17:06.81
>>952さんの式を、F1の入力規則のユーザ設定に入れたら
いいのでしょうか?
955名無しさん@そうだ選挙にいこう:2012/06/19(火) 00:18:13.37
>>954
A1〜E1の入力規則に設定する
956名無しさん@そうだ選挙にいこう:2012/06/19(火) 00:22:00.45
【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です。
マクロセキュリティは中。
中だと、ファイルを立ち上げるとマクロ有効選択が出ますよね。
信頼できるファイルのみ、あれを省略する方法はありますか?
958名無しさん@そうだ選挙にいこう:2012/06/19(火) 00:24:22.19
>>957
信頼できるフォルダを指定してそこに入れる
959名無しさん@そうだ選挙にいこう:2012/06/19(火) 00:32:17.14
>>956
前者、セルに書き込まずにグラフを作らなければならない理由は?
初心者って無意味なことに拘ったりするよね

後者、Cellsとカウンタ変数使えば良いだけでは?
960名無しさん@そうだ選挙にいこう:2012/06/19(火) 00:36:16.79
>>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
>>958
その指定方法は2007からじゃない?
962名無しさん@そうだ選挙にいこう:2012/06/19(火) 00:48:16.17
>>957
デジタル署名
963名無しさん@そうだ選挙にいこう:2012/06/19(火) 00:57:59.25
>>962
??
964名無しさん@そうだ選挙にいこう:2012/06/19(火) 01:01:31.14
>>957の問題はぐぐってみても2003だと無理そうですね
965名無しさん@そうだ選挙にいこう:2012/06/19(火) 01:13:30.77
>>959
>>960
参考になりました。ありがとうございます。

100件のグラフを作るのに100回書いて消したりしなくても
配列から作れないのかなと疑問に思ったので

Cellsでうまくいかなかったから、座標を指定でやってみます。
グラフの位置をA1等のセルで指定できたと思うのですが
複数作るときに、2件目はB、3件目はCにと変化させるのはやり方があるかな?
と思いつかなかったのであるなら知りたかったです。
966名無しさん@そうだ選挙にいこう:2012/06/19(火) 01:51:52.64
>>965
セルの位置に合わせてA1から右に100件表示するならこう
For i = 0 To 99
・・・.ChartObjects.Add(Range("A1").Offset(, i).Left, 0, Range("A1").Offset(, i).Width, 200)
Next
967名無しさん@そうだ選挙にいこう:2012/06/19(火) 03:19:25.15
>>965
>100件のグラフを作るのに100回書いて消したりしなくても

グラフのソースデータを消してしまったらグラフとして成り立たないと思うけど?
968名無しさん@そうだ選挙にいこう:2012/06/19(火) 10:41:16.74
969名無しさん@そうだ選挙にいこう:2012/06/19(火) 13:48:16.15
指定範囲内に5で割った値が整数のセルの個数を数える時の関数を
教えてください。よろしくお願いします。
970名無しさん@そうだ選挙にいこう:2012/06/19(火) 13:59:15.39
>>969
作業列かVBAだな
971名無しさん@そうだ選挙にいこう:2012/06/19(火) 14:03:08.41
>>969
=SUMPRODUCT((INT(範囲/5)=(範囲/5))*1)
972969:2012/06/19(火) 14:30:36.39
>>971
ありがとうございました。
973名無しさん@そうだ選挙にいこう:2012/06/19(火) 22:42:52.28
>>971
もう>>696さんは見てないと思うけど、
もしかすると INT(範囲/5)=(範囲/5) より MOD(範囲,5)=0 の方がコストが低いかもしれん(わかんないけど)
あとブランクセルもカウントされちゃうから (範囲<>"") も追加した方がいいかもしれん
974名無しさん@そうだ選挙にいこう:2012/06/19(火) 22:43:27.24
>>973
>>696さんじゃなくて>>969さんだった・・・
975名無しさん@そうだ選挙にいこう:2012/06/19(火) 22:57:02.25
>>966
Offset知らなかったので参考になりました。

>>967
別シートにデータ作ればいい話だと思うんですけど、
今はとりあえずデータの上にグラフ表示しているので
白にして見えなくしておくのでもいいかなと思って

>>968
関連記事も含めて勉強になりそうです。


参考になる意見を貰えて助かりました。ありがとうございます。
976名無しさん@そうだ選挙にいこう:2012/06/20(水) 16:00:21.01
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★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は自分が理解できないのでできる限り使わない方向でお願いしたいんですが・・・
977名無しさん@そうだ選挙にいこう:2012/06/20(水) 17:04:40.96
>>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),"")
978977:2012/06/20(水) 17:07:28.39
>>977
ゴメン、「例の7行目」と「例の8行目」が逆でした
979名無しさん@そうだ選挙にいこう:2012/06/20(水) 17:17:34.39
>>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
980名無しさん@そうだ選挙にいこう:2012/06/20(水) 17:25:16.41
個数が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
981名無しさん@そうだ選挙にいこう:2012/06/20(水) 17:38:49.15
すれたていく
982名無しさん@そうだ選挙にいこう:2012/06/20(水) 17:40:23.62
Excel総合相談所 103
http://toro.2ch.net/test/read.cgi/bsoft/1340181590/
立てた
983名無しさん@そうだ選挙にいこう:2012/06/20(水) 18:18:05.18
984名無しさん@そうだ選挙にいこう:2012/06/20(水) 20:20:57.93
質問です
エクセルでA4一枚分の表を作り印刷しました
レイアウトは変えず、その表に追記分を印刷したいのですが、新たな用紙に印刷しなおすのではなく同じ用紙に印刷したいのです
上司の手書きのメモが書かれているからです
印刷→印刷対象→選択した範囲
で印刷するとその箇所だけが用紙の左上に印刷されてしまいます
エクセル上での配置を維持したまま印刷することは可能でしょうか?
説明がわかりづらくてすみませんがよろしくお願いします
985名無しさん@そうだ選挙にいこう:2012/06/20(水) 20:25:39.72
>>984
追記分以外は、文字色を白にする
986名無しさん@そうだ選挙にいこう:2012/06/20(水) 20:27:41.32
>>982
おつ
987名無しさん@そうだ選挙にいこう:2012/06/20(水) 21:46:09.77
>>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で表示できるようにしたいと思っているのですが可能でしょうか?
988名無しさん@そうだ選挙にいこう:2012/06/20(水) 22:09:48.61
>>987
画を上げたほうが把握しやすいね。
989名無しさん@そうだ選挙にいこう:2012/06/20(水) 22:17:54.20
>>985
て、天才じゃあー!
ありがとうございます!
990名無しさん@そうだ選挙にいこう:2012/06/20(水) 22:41:53.49
991名無しさん@そうだ選挙にいこう:2012/06/21(木) 00:46:58.48
質問です
========
|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に数字をいれて・・・の繰り返しをやりたいのですがどのような方法がありますか?

992名無しさん@そうだ選挙にいこう:2012/06/21(木) 00:59:30.52
どうしても分からないので質問させてください

Excelで
□時□分に到着するには○分かかるので△時△分に出発すればいい
という計算をしたいのですがどうすればいいのでしょうか…
使用バージョンは2002です
993名無しさん@そうだ選挙にいこう:2012/06/21(木) 01:04:57.15
>>992

=□時□分-○分
994名無しさん@そうだ選挙にいこう:2012/06/21(木) 01:10:01.13
>>993
ありがとうございます
理屈として理解しているのですが
それで計算すると######とでてくるのです…
これは定義が間違っているのでしょうか?;
995名無しさん@そうだ選挙にいこう:2012/06/21(木) 01:12:52.93
>>994
セルの書式設定の表示形式を変えればいい
□時□分→[h]:m
○分→[m]
△時△分→[h]:m
996名無しさん@そうだ選挙にいこう:2012/06/21(木) 01:15:32.62
>>995
思いっきり間違えたので訂正
□時□分→[h]"時"m"分"
○分→[m]"分"
△時△分→[h]"時"m"分"
997名無しさん@そうだ選挙にいこう:2012/06/21(木) 01:17:39.16
>>991
それをやる上で何が解らないの?
普通にやったんじゃダメなの?
998名無しさん@そうだ選挙にいこう:2012/06/21(木) 01:19:43.83
>>996
ごめんなさい…
例えば6月30日の21時に到着したくて
そこまでたどり着くのに30時間21分かかるとして
だったら何日の何時に出発すればいいのかという質問なのですが
996のやり方がわかりません…
999名無しさん@そうだ選挙にいこう:2012/06/21(木) 01:23:45.56
>>991
A5=60-A4
A7=A4+A5-A6
知らん。なんかテキトーにやってオートフィルでいいんじゃない?
indirectやoffsetが役に立つかもしれない
1000名無しさん@そうだ選挙にいこう:2012/06/21(木) 01:24:29.76
つぎ
Excel総合相談所 103
http://toro.2ch.net/test/read.cgi/bsoft/1340181590/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。