Excel総合相談所 92at BSOFT
Excel総合相談所 92 - 暇つぶし2ch67:名無しさん@そうだ選挙にいこう
10/05/29 22:45:51
複合参照を使う。それまでの計算結果を使う。

たとえば、1行目のB~J列に1~9。A列2~10行目に1~9を入れて
B2に =$A2*B$1 として下と右にオートフィルすれば九九の表ができます。
B列はそのままでC2に =B2+$A2 として下と右にオートフィルしてもできます。
2行目はそのままでB3に =B2+B$1 として下と右にオートフィルしてもできます。

68:64
10/05/29 23:01:31
>>65
Set r = ActiveSheet.Range("A4")
Workbooks.Open (Range("a2").Value)

ここの箇所が思いつかなかった。THXです。

69:名無しさん@そうだ選挙にいこう
10/05/30 00:08:01
文字の下の下線なのですが
担当者___________________ってやりたい場合(担当者の下にも下線があります)スペースを入れると一時的に下線が引かれるのですが
他のセルをクリックすると消えてしまうのですがこのようなやり方は邪道なのでしょうか

70:66
10/05/30 00:16:10
>>67さん
ありがとうございました。$1個っていう使い方が・・・。
無知で申し訳なかったです。

71:名無しさん@そうだ選挙にいこう
10/05/30 01:51:20
>>68
ブックを指定しないのは気持ち悪いね。
エラー処理なしだと
Sub MCR_FindSheetName()
Dim tempSheet As Worksheet
Dim r As Range
Dim wb As Workbook
Set r = Range("A4")
Set wb = Workbooks.Open (Range("a2").Value)
For Each tempSheet In wb.Worksheets
 r.Value = tempSheet.Name
 Set r = r.Offset(1)
Next
End Sub

72:名無しさん@そうだ選挙にいこう
10/05/30 07:08:36
>>69
当方の2002では他のセル選択しても消えないけど。

73:名無しさん@そうだ選挙にいこう
10/05/30 12:16:39
VBAでセル内容を数式にしたいとき

cells(1,1).value="=sum(b2:b10)"
cells(1,1).formula="=sum(b2:b10)"
cells(1,1)="=sum(b2:b10)"

のどれも同じですよね?
なにか違いはあるのですか?
気になって夜も眠れません

74:名無しさん@そうだ選挙にいこう
10/05/30 12:21:46
あと
cells(1,1).FormulaR2D2="=sum(b2:b10)"
みたいなのもあるらしいが、区別すべきですか?

75:名無しさん@そうだ選挙にいこう
10/05/30 12:36:17
>>73
cells(1,1).value="=sum(b2:b10)"
の省略形が
cells(1,1)="=sum(b2:b10)"
なので、このふたつは全く同じ。

formula は知らん。

76:73
10/05/30 12:48:08
>>75
どうもです

どなたかformulaのこと知りませんか?

77:名無しさん@そうだ選挙にいこう
10/05/30 15:53:19
【1 OSの種類         .】 Windows xp home edition
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 IF関数 論理式 数式

--------------------------------------------------------------
エクセルの練習のために家計簿を作っており、以下のようなシートを作っています。

   A      B       C
4 2010/6/1   =A4 =IF(A4="日","休日",IF(A4="土","休日",IF(A4="金","休前日","平日")))

5 2010/6/2   =A5 =IF(A5="日","休日",IF(A5="土","休日",IF(A5="金","休前日","平日")))

6 2010/6/3   =A6 =IF(A6="日","休日",IF(A6="土","休日",IF(A6="金","休前日","平日")))

7 2010/6/4   =A7 =IF(A7="日","休日",IF(A7="土","休日",IF(A7="金","休前日","平日")))

---------------------------------------------------------------------------

B列はユーザー定義で「aaa」にしており、自動的にA列の曜日が出るようになっています。
B列に「月」、「火」、「水」、「木」と表示されるときは、C列に「平日」を、
B列に「金」と表示されるときは、C列に「休前日」を、
B列に「土」、「日」と表示されるときは、C列に「休日」を表示するため、
C列に「=IF(A4="日","休日",IF(A4="土","休日",IF(A4="金","休前日","平日")))」を入力しましたが、
全て表示が「平日」になってしまいます。

どうすれば「平日」、「休前日」、「休日」を表示されるか教えてください。


78:名無しさん@そうだ選挙にいこう
10/05/30 16:28:46
>>77
A列もB列もシリアル値が入っているからね・・・

=IF(TEXT(A1,"aaa")="日","休日",IF(TEXT(A1,"aaa")="土","休日",IF(TEXT(A1,"aaa")="金","休前日","平日")))

でもweekday関数を使って

=IF(WEEKDAY(A1,2)>=6,"休日",IF(WEEKDAY(A1,2)=5,"休前日","平日"))

79:名無しさん@そうだ選挙にいこう
10/05/30 17:12:10
どうもありがとうございます。

シリアル値という概念をはじめて知りました。

80:名無しさん@そうだ選挙にいこう
10/05/30 17:27:26
>>73
Value は値を設定するプロパティ
Formula はA1形式の数式を設定するプロパティ
FormulaR2D2 では無く FormulaR1C1 はR1C1形式の数式を設定するプロパティ

そんで、Excelはプロパティを省略しても、ある程度区別してそれぞれのプロパティに
設定してくれるから違いが解りずらいけど

きちんと区別した方がいい

詳しくはヘルプをみた方が早い

81:名無しさん@そうだ選挙にいこう
10/05/30 18:17:20
凄く初歩的な質問ですみませんが、
B列に1から順番にint型の数字を追加する際に、
C列に「B列に0.9かけた値を表示する」という数式を作りたいと思っています。
ただ、B列に追加されるデータ数が未知であり、時が立つとどんどん追加されます。
この時、C列に上記の数式を実現するには、どのセルにどのような数式を足せばいいでしょうか?
excel2000を使ってます

82:名無しさん@そうだ選挙にいこう
10/05/30 18:21:37
>>81
うん?よく分からない
=IF(B1="","",B1*0.9)
下にコピー ってことじゃないよね?

83:名無しさん@そうだ選挙にいこう
10/05/30 18:52:33
>>82
説明が下手ですみません。
式自体はそうなるかもしれませんが、B列に追加されるデータ数がどんどん増える可変長なのです。
B1~BXまで、どんどんデータが追加されるとき、いちいちC列に>>82式をコピーしなくても、
自動的に、例えばB32にデータが入力されたらC32にB32*0.9の値が出力されるようにしたいのです

84:名無しさん@そうだ選挙にいこう
10/05/30 18:56:37
77氏ではないですが・・・

77の例で、B列を条件(1) [セルの値が] [次の値に等しい] [="土"] にして
書式のフォント色を青にしましたが色が変わりません。

設定ミスでしょうか?

85:名無しさん@そうだ選挙にいこう
10/05/30 19:06:43
>>84
だから・・ww
シリアル値が入っているからね・・・・

数式で
=TEXT(A1,"aaa")="土" とかにしてくれ

86:名無しさん@そうだ選挙にいこう
10/05/30 19:09:26
>>83
最初から>>82の式をあらかじめコピーしておいたらいいじゃん(´・ω・`)
B列に何も入力していなかったら、見た目はブランクだよ

87:名無しさん@そうだ選挙にいこう
10/05/30 19:15:18
>>86
アドバイスありがとうございます。
私も最初はそのように考えたのですが、データの数が100や200を超える予定であり、
かつ何個になるのか分からないので、どのようにすべきか悩んでおります…

88:名無しさん@そうだ選挙にいこう
10/05/30 19:26:55
>87
B65535まで式を入れておけば悩むことはない

89:名無しさん@そうだ選挙にいこう
10/05/30 19:55:55
>>85


90:名無しさん@そうだ選挙にいこう
10/05/30 20:41:48
>>83
VBAのワークシートチェンジを使う
分からないor勉強する気がないなら冗談でも何でも無く
>>86>>88しかない
まぁC列には色つけてからオートフィルタでもすれば式の入れ忘れはそうそうないだろう

後は0.9かけてなにがしたいかによる
例えば合計なら=sum(b:b)*0.9でいいし平均なら=sum(b:b)*0.9/count(b:b)だ

91:名無しさん@そうだ選挙にいこう
10/05/30 21:42:47
VBAでステートメントの辞書的な本で
初心者から中級者向けの本のおすすめを教えていただけませんか?

92:名無しさん@そうだ選挙にいこう
10/05/30 21:47:25
>>90
ありがとうございます。
やりたいことは、0.9かけて小数点以下を切った値を和算したいのです。
全体を足してから0.9かけると別の値になってしまうため、上記の方法を考えています

93:名無しさん@そうだ選挙にいこう
10/05/30 23:05:26
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 たぶん
【4 VBAでの回答の可否】 可
If Cells(i, 4).Value - Cells(i, 12).Value = 0 Then で分岐したら
条件に合わない例が出てきたので、値をみたら-0.00000になってました。
見た目は小数点5ケタの数値で0なのに、なんでこうなってしまうのでしょうか?


94:複乳
10/05/30 23:24:52
>>91
大抵の人は一冊テキトーに買って後は検索ってパターンが多いと思う
俺はかったことが無いけど
MSDN等を調べるか、やりたい事をぐぐったほうが早いと思う
ちなみにプログラム板にVBA専用のスレがある
>>92
配列数式かな
=SUM(INT(B1:B60000))
でCtrl+shift+enterで決定。配列数式の意味は検索して
>>93
多分それ、もっと少ない数じゃないか?-0.000000001とか
小数誤差とおもう。適当なところで切り捨てして比較した方が良いよ
If int(Cells(i, 4).Value*1000) - int(Cells(i, 12).Value*1000) = 0 Then
みたいな感じで
小数誤差の説明は長くなるのでぐぐってくれ

95:名無しさん@そうだ選挙にいこう
10/05/30 23:47:08
>>94
ありがとうございます。配列数式をググってみて、一応理解したつもりなのですが、
配列数式では配列内の各値を0.9倍して端数を切り捨てしたものを合計する、とは出来るのでしょうか?

96:名無しさん@そうだ選挙にいこう
10/05/31 00:13:24
配列数式をB1:B60000までというのもすごい発想。
>>95 できるけど、重くなるから。正直、良い方法とは思えない


97:名無しさん@そうだ選挙にいこう
10/05/31 07:20:11
>>96
B1:B60000じゃないだろ?
1個だと思うなぁ。

98:名無しさん@そうだ選挙にいこう
10/05/31 08:33:46
Windows7 32bit Excel2007を使用。

特定のキーを押せば、特定の文字を打ち込んだり、文字や背景の色を変えることって出来ますか?

例えば、F1を押せば「おはようございます」
F2を押せば「こんにちわ」 F3なら「こんばんわ」
F4を押せば背景が赤く F5なら背景が青く F6なら背景が緑
F7を押せば文字が赤く F8を押せば文字が青く
といった感じにです。

99:名無しさん@そうだ選挙にいこう
10/05/31 08:43:37
>>95
配列で60000まで指定するよりは

=SUMPRODUCT(INT(OFFSET(B1,0,0,COUNTA(B:B),1)*0.9))

とかの方がいいと思うけれど、offsetも重くなるかな。それとこの式の意味が分からないと間違いの元だしね

100:名無しさん@そうだ選挙にいこう
10/05/31 08:46:46
>>98
ファンクションキーはすでに割り当てられているから

URLリンク(office.microsoft.com)

もうちょっと違うキーに割り当てることもできるけど、たぶん操作が難しくなるだけだと思うよ

101:複乳
10/05/31 10:07:41
>>95
それが配列数式の{=SUM(INT(B1:B60000))}だよ。
ちなみにどこでもいいから一箇所に入れるだけでいい
>>96
そうはいうがvba無しで逐一作業列を作らずに合計を出すには配列数式使わずに
どうすればいいの、と思ったら>>99があったか
offsetは揮発性だけど重さ的には似たようなもんじゃないか。
最高でも60000個少々の足し算だ

102:名無しさん@そうだ選挙にいこう
10/05/31 10:53:00
>>101
SUMPRODUCTも実質的には配列数式だよ。
重さもこのケースでは配列数式と全く変わらないし。
SUMPRODUCTがほんのちょびっと軽くなるのは右辺をカンマで区切った場合だけ。

重さ軽さはどうでも無駄を嫌うのであればINDEXを使うべきだよ。
=SUMPRODUCT(INT(B1:INDEX(B:B,COUNTA(B:B))*0.9))
=SUM(INT(B1:INDEX(B:B,COUNTA(B:B))*0.9))の配列数式。
どっちでもいい。
揮発性じゃないがブックを開いた時にも再計算する。
ブックオープン時以外ではもちろんB列を変更した時だけ再計算。
OFFSETはどこのセルいじくっても再計算だから無駄。
無駄の消費に喜びを感じてる人はどうぞ。

103:名無しさん@そうだ選挙にいこう
10/05/31 11:11:01
>>102の方法がスマートだね。ただ、原点に帰ると、作業列を使った方がいいよ
無理に配列を使わなくても、作業列があった方が後からわかりやすいし

104:名無しさん@そうだ選挙にいこう
10/05/31 11:28:21
>>103
102だが原点に帰ればまったくそのとおり。
A列の1個のセルを変更した場合、作業列なら0.9倍するのはその右の1個の計算式だけ。
配列数式なら全データを0.9倍する。
合計するコストは同じだが、0.9倍するコストは作業列が少ない。

105:名無しさん@そうだ選挙にいこう
10/05/31 20:09:36
質問です。

excelで普通の棒グラフを作成する場合、通常ですと下記のようになりますが
(均等に棒線が描かれる)

200  ■   ■   ■   ■
150  ■   ■   ■   ■
100  ■   ■   ■   ■
     A   B   C   D

このようにしたい場合はどうすれば良いですか?
(ABは同じ比較対象で、CDは同じ比較対象。だがAとCは離したい)

200  ■ ■     ■ ■
150  ■ ■     ■ ■
100  ■ ■     ■ ■
     A B     C D

106:名無しさん@そうだ選挙にいこう
10/05/31 20:41:18
>105
A,B,E,C,D の5個のデータを用意してEには値0を設定する方法じゃダメですか?

107:名無しさん@そうだ選挙にいこう
10/05/31 20:42:54
普通にBとCを離せばいいんじゃね?

108:名無しさん@そうだ選挙にいこう
10/05/31 20:43:30
データ0にして標題空白

109:名無しさん@そうだ選挙にいこう
10/05/31 21:04:25
>>106
ありがとうございます。それでやってみます。
AとB、CとDのグラフをぴったり横にくっつけるのは可能でしょうか?

110:106
10/05/31 21:16:41
>109
グラフの棒の間隔はグラフ描画サイズと項目数に依存ので、いろいろ調整してみてください

場合によっては、値0の項目が1個じゃなくて複数必要になるかも

111:58
10/05/31 22:09:35
>>60 61 62 63様へ

レスどうもありがとうございました。おかげ様で解決致しました。
本当に感謝しております。


112:名無しさん@そうだ選挙にいこう
10/05/31 22:17:24
2007のファイルを2003で変換して開く時に、なぜか読み取り専用で開かれ、ファイル名が「XL000000001」になってしまった。
拡張子はxlsx、xlsmの2つを試したけど、とにかく数字が増えていく。
今までこんな現象を見たことがないんだけど、どういうことでしょう???

113:名無しさん@そうだ選挙にいこう
10/06/01 06:44:47
>>111
データ系列を見直した方がいいかも。

114:名無しさん@そうだ選挙にいこう
10/06/01 18:43:38
>>91
ちょっと古いけど、
ExelVBAハンドブック
西沢夢路
オススメ!

115:名無しさん@そうだ選挙にいこう
10/06/01 23:24:17
このような表があって、特定の行のG~L列の値をA列の最下行へコピペし、
D~Fまでの数値だけ符号を反転させるマクロの書き方についてです。

     A   B   C   D    E    F    G     H    I    J   K    L   M    N
10  AAA  ああ  1  0.11  0.22  0.33  0.44   EEE  うう   2  0.44  0.55  0.66  0.77
11  BBB  いい  1  0.12  0.23  0.34  0.45   FFF  ええ  1  0.45  0.56  0.67  0.78
12  
13

例えば、行 = 10 のときは、こんな感じに。

     A   B   C   D    E    F    G     H    I    J   K    L   M    N
10  AAA  ああ  1  0.11  0.22  0.33  0.44   EEE  うう   2  0.44  0.55  0.66  0.77
11  BBB  いい  1  0.12  0.23  0.34  0.45   FFF  ええ  1  0.45  0.56  0.67  0.78
12  EEE  うう  2 -0.44  -0.55  -0.66  -0.77
13

で、書いたのがこれです。もうちょっとスマートな書き方があれば教えてくだちい。
Range(Cells(行, 8), Cells(行, 10)).Copy Destination:=Range("A65536").End(xlUp).Offset(1, 0)
Range("A65536").End(xlUp).Offset(0, 3).Value = Cells(行, 11).Value * -1
Range("A65536").End(xlUp).Offset(0, 4).Value = Cells(行, 12).Value * -1
Range("A65536").End(xlUp).Offset(0, 5).Value = Cells(行, 13).Value * -1
Range("A65536").End(xlUp).Offset(0, 6).Value = Cells(行, 14).Value * -1

116:名無しさん@そうだ選挙にいこう
10/06/02 01:21:24
エクセル2003で行を削減すると最終行に罫線が勝手にコピーされてしまい、行の挿入ができなくなってしまいます。
これを防止するにはどうすればいいでしょうか?

117:複乳
10/06/02 08:00:01
>>115
その行程度ならそれでもいいと思うけど
Sub fukunyu()
Dim 行, saigo, i
行 = 10
'最終行は変数に入れる
saigo = Range("A65536").End(xlUp).Row + 1
'最初に全部コピーしてから
Range(Cells(saigo, 1), Cells(saigo, 6)).Value = Range(Cells(行, 8), Cells(行, 14)).Value
'マイナスに
For i = 4 To 7
Cells(saigo, i) = -Cells(saigo, i)
Next
End Sub
>>116
質問の意味がよく分からない
削減じゃなくて削除と思うけど罫線がコピーされることはない
最初から入ってるんじゃないの

118:名無しさん@そうだ選挙にいこう
10/06/02 16:00:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL 特定文字 乱数
1 3 4 5の4つの数字を使い4桁の数字を作りたいと思っています

1111
1113
1114
1115
1131
1133
1134
1135
と言う風にする関数等は用意されていない物でしょうか?

119:名無しさん@そうだ選挙にいこう
10/06/02 16:18:11
>118
for~nextの4重ループと、ループ変数の値(1,2,3,4)を(1,3,4,5)に置き換える処理で簡単にできますよ。
ちょっと待ってて

120:名無しさん@そうだ選挙にいこう
10/06/02 16:19:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可、できるだけ無い方が助かります
【5 検索キーワード     】 複数条件、SUMIF、IF、SUM

URLリンク(www.dotup.org)

上記の画像のような状態で、
受験者の回答と正解を比較して、真なら配点を追加、偽なら0を追加という風な作業を問題数の数だけ行い、
最終的に合計点を求めて出力したいのですが、何かいい方法はないでしょうか?
色々調べてみたのですがExcelに慣れておらずまったくできませんでした。
よければアドバイスください。


121:名無しさん@そうだ選挙にいこう
10/06/02 16:22:20
>>119
そうか!置き換えればいいのか
2を5にすればいいんですな

122:119
10/06/02 16:42:29
作ってみた
Option Explicit
Dim h As Integer, i As Integer, j As Integer, k As Integer
Dim suretsu As Variant, tate As Integer
Sub ex118()
 suretsu = Array(1, 3, 4, 5)
 tate = 1
 For h = 0 To 3
  For i = 0 To 3
   For j = 0 To 3
    For k = 0 To 3
     Cells(tate, 1).Value = _
     1000 * suretsu(h) + 100 * suretsu(i) + 10 * suretsu(j) + suretsu(k)
     tate = tate + 1
    Next k
   Next j
  Next i
 Next h
 MsgBox ((tate - 1) & "件のデータを書き込みました")
End Sub


123:名無しさん@そうだ選挙にいこう
10/06/02 17:08:32
>120
途中まで作ってみた。要領がわかったら続きはご自分でどうぞ。
もっとスマートな方法もあると思うので、詳しい方よろしく。配列数式がどうのこうのという方法です。

受験番号1の人の問題番号1~3についての得点の計算方法です。
=(C8=$C$3)*$C$4+(D8=$D$3)*$D$4+(E8=$E$3)*$E$4

(C8=$C$3)の部分は論理式と言って、真か偽ですが、掛け算の片方のときは1か0になります。
回答が正解と一致していれば$C$4の値を×1したもの($C$4の値そのまま)になります。
不正解なら0になります。これを10個つなげればいいわけです。

問題番号7、8の部分も完全一致したときだけ得点になります。片方だけ一致で5点とかの条件が付く
場合には計算式だけでは無理かと思います。

124:名無しさん@そうだ選挙にいこう
10/06/02 19:31:33
test

125:名無しさん@そうだ選挙にいこう
10/06/02 19:36:20
お、アク禁解除されてた。
testカキコ失礼しました。

>118
8桁の2進数に直して、2桁づつ
00→1 01→3 10→4 11→5
に置き換える というのは?

126:123
10/06/02 20:05:21
>120
もっとスマートな方法です。
=SUMPRODUCT((C8:L8=$C$3:$L$3)*$C$4:$L$4)

C8:L8 とか $C$3:$L$3 などのセル範囲を使って論理式や計算を表すのが配列数式です。


127:115
10/06/02 23:22:36
>>117
簡略して書いたので、実際にはもっと長いです。
-Cells(saigo, i)って略せるんですね(@_@

128:名無しさん@そうだ選挙にいこう
10/06/03 01:07:50
セルにコメントを書くマクロですが、【あ】のところが
Cells(i, 4).AddComment Text:="" & OLD_QTYだと動くのに、
Cells(i, 4).AddComment Text:=OLD_QTYだと止まってしまいます。
これは何故でしょうか?

OLD_QTY = Cells(i, 4).Value '数字
If Not Cells(i, 4).Comment Is Nothing Then
  Cells(i, 4).ClearComments
End If
【あ】

129:名無しさん@そうだ選挙にいこう
10/06/03 01:20:48
お願いいたします。

エクセルで受注表を作成しているのですが、途中データコピーなどで
いろいろなブックからシートコピーをしました。
で、作成し終わってコピーしてきたシートを削除したのですが
その後、立ち上げるたびに「リンク更新 はいorいいえ」を聞いてきます。
現在リンクを必要としない状態にしましたのでメッセージが出ないようにしたいのですが
どのようにしたらいいのでしょうか?
編集→リンクの設定でみると確かにリンク先が記録されているのですが、
間違いなく現在利用していません。
ツール→オプションにてメッセージが出ないようにしてみましたが、開くかキャンセルするか
のウインドーがいちいち立ち上がるので、このやり方では無かったです。

どなたかよろしくお願いいたします。


130:名無しさん@そうだ選挙にいこう
10/06/03 02:02:50
Application.AskToUpdateLinks = False

131:名無しさん@そうだ選挙にいこう
10/06/03 06:31:52
>>129
いらないなら、リンクを削除すれば?値だけが残るよ

132:名無しさん@そうだ選挙にいこう
10/06/03 08:02:01
>>128
鳴らない
マクロ書くときはsub~endsubで書いて

>>129
リンクされている
[ を検索、無ければ新しいシートに必要なところだけコピー

133:名無しさん@そうだ選挙にいこう
10/06/03 08:57:46
ありがとうございます。

全シート数式表示にしてチェックしたのですが、リンクされている
セルが見つからず、削除できません。

どうやって検索するのですか?

>>130
私への回答ですか?どうするのかよく分かりません。
すいません



134:複乳
10/06/03 09:18:38
>>133
URLリンク(www.eurus.dti.ne.jp)
検索で見つからないなら>>132の通り新規シートに必要なところだけコピー

135:名無しさん@そうだ選挙にいこう
10/06/03 09:34:12
>>134
早い回答ありがとうございます
会社に着いたらやってみます

136:名無しさん@そうだ選挙にいこう
10/06/03 13:21:45
A列に動物の名前がランダムで入っているとして、
キリンは2個あるから背景を青、カバとクジャクは3個あるから背景を緑みたいに
列に存在する個数ごとに色分けすることは出来ますか?

137:名無しさん@そうだ選挙にいこう
10/06/03 13:48:45
>136
A列選択、条件付き書式で
数式が  =COUNTIF(A:A,A1)=2
で書式→パターンを青に
条件を追加して =3 の時、緑に設定

138:名無しさん@そうだ選挙にいこう
10/06/03 14:24:46
>118
そういう関数はないから下のFunctionを標準モジュールに
置いてから、=dec2quat(int(rand()*256)) とか記述汁。

Function dec2quat(arg As Integer) As String
  Dim n(4)
  If arg < 0 Or arg > 255 Then
    dec2quat = "Error"
  Else
    For i = 0 To 3
      n(i) = arg Mod 4
      If n(i) > 0 Then n(i) = n(i) + 2 Else n(i) = 1
      dec2quat = n(i) & dec2quat
      arg = arg \ 4
    Next
  End If
End Function

139:136
10/06/03 16:04:51
>>137
出来ました! どうもありがとう。

140:名無しさん@そうだ選挙にいこう
10/06/03 20:20:50
Sub 鳴らないと答えた132()
i = 3
OLD_QTY = Cells(i, 4).Value '数字
Cells(i, 4).Value = Range("A1").Value
If Not Cells(i, 4).Comment Is Nothing Then
Cells(i, 4).ClearComments
End If
Cells(i, 4).AddComment Text:=OLD_QTY
Cells(i, 4).AddComment Text:="" & OLD_QTY
End Sub


141:名無しさん@そうだ選挙にいこう
10/06/03 21:23:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 データ 抽出

以下のように、メンバー全員分の最高得点だけを抽出したいです

  A    B
1 伊藤  60
2 田村  78
3 東山  90
4 田村  82
5 伊藤  88
6 東山  80

  A    B
1 伊藤  88
2 田村  82
3 東山  90


超初心者ですみませんが、よろしくお願いします。



142:名無しさん@そうだ選挙にいこう
10/06/03 22:00:55
抽出は、関数でできなくもないけれど、マクロより難しくなる。
メンバー抽出だけはマクロの記録とかでやってみれば?

143:名無しさん@そうだ選挙にいこう
10/06/03 22:46:31
>>141
人数が多い場合は関数でやってはいけない。
特に配列数式はヴァカ。
考え方としては名前を最優先するキー、次に優先するキーに点数を降順にソートして
名前が上と違うものを抽出。
ピボットテーブルで集計方法を最大値にすればこの考え方でやっていることになる。


144:名無しさん@そうだ選挙にいこう
10/06/03 22:49:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003 
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】

田中の数がひとつ増えたら、佐藤の数がひとつ減る

田中の数がひとつ減ったら、佐藤の数がひとつ増える

ようするに
田中,と佐藤の合計がいつも同じになるようにしたいんですけど
できますか?


   田中   佐藤

   12   10

田中マイナス3 ↓

   田中   佐藤

   9    13

   

145:名無しさん@そうだ選挙にいこう
10/06/03 23:27:17
>>144
入力するセルと表示するセルが同じセルならVBAじゃなければ無理。
VBAが使えなければ諦めることだな。

146:144
10/06/03 23:28:50
>>145
ありがと
VBAというものを勉強してきます。

147:Cherry ◆d/pQlCc6hA
10/06/03 23:59:42
なんか会社で使ってるExcelファイル、
ワークシートのタブがみえなくなったんですけど・・・
どうやったらなおりますか??

148:名無しさん@そうだ選挙にいこう
10/06/04 01:20:37
>>134
会社でファイルを開くとエラーメッセージが出ないのは会社PCには、そのリンク先ブックが
あるからで、USBメモリに保存して家PCで開こうとするとリンク更新はい、いいえが出るのは
リンク先ブックがないから、ということでOKですか?
で、家PCがExcel2000なので、シート毎しか検索できず、教えていただいたリンク先検索を
35シート全てでやってみましたが「見つかりませんでした。

こうなると、どれか分からないので全シートコピーして新しいシートにしなければメッセージが
出続けるのでしょうか?
できれば、行列幅も変わってしまうのでなんとか避けたいのですが・・・
行列幅も丸々そのままコピーできる方法はありますか?また、そんな丸々コピーでは
またリンクも引き継がれませんか?

149:名無しさん@そうだ選挙にいこう
10/06/04 01:23:42
ちなみに、会社PCで「編集」→「リンクの設定」をしてみるとリンク先が無いという感じで、
「リンクの設定」自体が色が薄くクリックできません
が、しかし家PCだとリンク先ブックが5つほど表示されます。

150:名無しさん@そうだ選挙にいこう
10/06/04 03:40:24
>>147
ツール⇒オプション⇒表示シートで、
シート見出しにチェックを入れる

151:Cherry ◆d/pQlCc6hA
10/06/04 06:06:57
>>150さん
なるほど、ありがとうございます。
でもわざわざこの操作でチェック外すようなことしないんだけど、
他の操作でも非表示になることがあるのかしらん。

152:名無しさん@そうだ選挙にいこう
10/06/04 06:15:15
>>151
オプションはうつることがあるから。
他の非表示のを開いてうつったのかもしれない。

あと、有名どころでは、自動計算のオプションは「ある操作」でチェックが外れたりするね

153:複乳
10/06/04 09:19:29
>>149
>>130はマクロ。VBAでぐぐれといいたいがぐぐった↓
URLリンク(detail.chiebukuro.yahoo.co.jp)

後はリンクが変に残っているのか、オブジェクトにリンクが設定されているかかなぁ
シートのコピーはシートタブを右クリックして「移動またはコピー」を選べばシート丸ごとコピーできる
1シートずつ別ブックにコピー、保存、開くでリンクの有無を確認
もしあればシートごとコピーじゃなく数式をコピーする
そうやって35回繰り返し、ブックの名前を変えればリンクの無いブックの出来上がり

154:名無しさん@そうだ選挙にいこう
10/06/04 09:33:41
>>153
すごくわかりやすくコピー&チェック教えていただき助かります
これならできそうです

155:名無しさん@そうだ選挙にいこう
10/06/04 22:51:58
Excelで逆ポーランドって使えるんですか

156:名無しさん@そうだ選挙にいこう
10/06/05 00:00:56
>152
>自動計算のオプションは「ある操作」でチェックが外れたりする
もったいぶらなくても「複数シート選択:作業グループ」のことでしょ?

157:名無しさん@そうだ選挙にいこう
10/06/05 00:07:37
>>132
Sub test()
i = 3
OLD_QTY = Cells(i, 4).Value '数字
Cells(i, 4).Value = Range("A1").Value
If Not Cells(i, 4).Comment Is Nothing Then
Cells(i, 4).ClearComments
End If
Cells(i, 4).AddComment Text:=OLD_QTY
'Cells(i, 4).AddComment Text:="" & OLD_QTY
End Sub

実行時エラー1004って出るよ。
お前も試してみたらどうだ?

158:複乳
10/06/05 01:47:47
>>157
Sub test()
Dim OLD_QTY As String
i = 3
と文字列として定義すればエラーで無いね

159:名無しさん@そうだ選挙にいこう
10/06/05 10:12:11
 
 D_Q

160:名無しさん@そうだ選挙にいこう
10/06/05 15:49:07
>>158
OLD_QTY って変数名から推測すると、
Dim OLD_QTY As Long(またはSingle)じゃね?
Cells(i, 4).AddComment Text:=CStr(OLD_QTY)

161:名無しさん@そうだ選挙にいこう
10/06/05 21:14:09
検索でコピペが使えないのが不便。だれかコピペが使えるようにするアドオン作って。


162:名無しさん@そうだ選挙にいこう
10/06/05 21:30:21
>>161
?できるよ?

163:名無しさん@そうだ選挙にいこう
10/06/05 21:58:50
1
10
3
33
5
a
e





↑を並べ替えると↓になります。

1
3
5
10
33

a
e




"■"は2バイト文字なのに、なんで"a"より上になるの?
"ゑ"はひらがななのに、なんで"乳"より下になるの?

164:名無しさん@そうだ選挙にいこう
10/06/05 22:26:55
乳が上に来てるのはふりがなを使ってるからだな

165:名無しさん@そうだ選挙にいこう
10/06/05 23:02:17
はぁ?

166:名無しさん@そうだ選挙にいこう
10/06/06 00:12:52
(;´Д`)ハァハァ

167:名無しさん@そうだ選挙にいこう
10/06/06 05:53:09
ふぅ・・・

168:名無しさん@そうだ選挙にいこう
10/06/06 14:21:53
OS  Windows XP Home Edition SP2
Excel 2007
VBAは使えません

URLリンク(www.age2.tv)

これはFOMのテキストのものなんですけど、
この中から一人の会員番号を基に利用項目と利用金額を抽出し、
別のシートへ利用明細を作成したい場合、どの関数を使えばいいのでしょうか?

169:名無しさん@そうだ選挙にいこう
10/06/06 14:31:23
>>168
関数はない。まあ、馬鹿みたいにマニアっぽくすれば出来ないことはないけど。
抽出は関数の不得意技。

vba覚えた方が早いくらい。フィルターで抽出してコピペをしてそれをマクロの記録にとっておくとか。

170:168
10/06/06 14:42:29
やっぱりフィルターしてコピペしかないですか?
今、IFの周辺の関数を習いはじめたところで、
条件にあった項目を抽出して一度に表示できたら便利だろうな
って思ったのですが・・・

171:名無しさん@そうだ選挙にいこう
10/06/06 15:31:02
>>170
この手のはAccess使っちまうからようわからんが
ピボットが得意そうな分野じゃね?


172:名無しさん@そうだ選挙にいこう
10/06/06 15:40:42
【1 OSの種類         .】 WindowsXP-Pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい(今回は使わない)
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel2000 横軸 縦軸

セルの内容を横軸縦軸に配分する方法が分かりません。

目標はBの列をX軸に、Dの列をY軸にすることで、D自体は D=A*B+C ですが、
下記のように選択して
URLリンク(uproda11.2ch-library.com)
グラフ(折れ線)ボタンを押すと以下のようになります。
URLリンク(uproda11.2ch-library.com)

本当はピンの重さがX軸に組み込まれて赤色の線のみにしたいのですが
出来ません。
どうすべきでしょうか?


173:名無しさん@そうだ選挙にいこう
10/06/06 15:41:14
例えばA1に抽出条件(会員番号)があったとして該当の日付を上から抽出しようとすると

=IF(COUNTIF(C:C,$A$1)>=ROW(A1),INDEX(B:B,SMALL(IF(($C$3:$C$100)=$A$1,ROW($C$3:$C$100),10^10),ROW(A1)),0),"")
CTRL+SHIFT+ENTER の同時押しで配列数式に
下にコピー。

もうちょっとスマートにはできると思うし、作業列を設ければもう少し楽にはできるとは思うけど

174:名無しさん@そうだ選挙にいこう
10/06/06 18:27:32
>>172
青い方の線を選択してクリアしたらどう?

175:163
10/06/06 20:26:08
163ですが、マジレスきぼんです!

176:複乳
10/06/06 20:52:28
>>175
エクセルの並び替えは数字アルファベット日本語(フリガナ)順
記号は数字とアルファベットの間になるんじゃないの。試せば

177:名無しさん@そうだ選挙にいこう
10/06/06 21:05:12
>>175
マジレスですが、デフォではExcelはふりがな優先で並べかえられます。
だから、どんなふりがなが入っているかによって、並べ替えの順番は変わる。

ゑ 乳 に関しては当方の環境では並び替えても ゑ 乳 の順番で並んでいます(ふりがなが何も入っていない)

■に関しては不思議だね。まあ、並び替えについては「ー」なんかは変な特性もあるからね・・・

178:163
10/06/06 21:50:03
>>176-177
ふりがなって、B列には何も入ってないんですけど・・・
IMEの単語/用例登録もしていません。

179:163
10/06/06 21:53:50
ついでに質問

数字、アルファベット、漢字が混在した列を並び替えたとき昇順で一番下になる文字は何?

180:名無しさん@そうだ選挙にいこう
10/06/06 22:04:08
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel07
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】vlookup 部分一致

表1と表2があるとします。
項目C(項目AとBのセル結合)を検索キーにし、
表2から「完全に一致しているもの」「部分的に一致しているもの」を項目Dに表示させるとします。

完全一致している場合は"○"で表示、部分的に一致している場合は"110B"というように検索キーと共通しているところがあれば表示させます。
完全一致の場合はvlookupとif関数でやれそうなのですが、 部分一致の場合、いいアイデアが浮かんできません…
稚拙な説明でわかりにくいと思いますが、よろしくお願いいたします。

(表1:項目Dは最終的に関数を使い、下記のように表示させたい)
項目A 項目B 項目C 項目D
110     A 110A 110B
111    A 111A ○
112     A 112A 112B
113     A 113A 113D
114     A 114A #N/A

(表2)
111A
110B
116A
112B
113D

181:名無しさん@そうだ選挙にいこう
10/06/06 22:13:40
>>180
表1がA1~あるとして、表2がF列にあるとして、

=IF(COUNTIF(F:F,C4),"○",IF(MATCH(A4&"?",F:F,0),INDEX(F:F,MATCH(A4&"?",F:F,0),0)))

部分一致っていうのは、項目Aの部分が入っているという認識ですが、あってる?

182:名無しさん@そうだ選挙にいこう
10/06/06 22:15:42
>>181

OKです。

183:名無しさん@そうだ選挙にいこう
10/06/06 22:17:58
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 使えません
【4 VBAでの回答の可否】 できれば避けていただきたいですが、VBAでしかできないということでしたらお願いします。
【5 検索キーワード     】 フィルタオプション 文字列 抽出 検索 COUNTIF OR FIND SEARCH等

以下のような表が約50000行あり、そこから複数の特定の文字列を含むデータを抽出し、別シートにまとめなければなりません。

A              B    C列以降略
04ps-v01シーケンサ  3040
05ps-v01ボックス*    5230
05pr-v01シーケンサ   5120
05ps-v02シーケンサ  6840
05ps-v02シーケンサ  5990
05ps-r02ボックス     6300
05ps-v03シーケンサ  10290
21ps-v02ボックス    760
21vv-r11ルート     850
21vv-r12ルート     1050
★21vs-r11ルート**  340

例えばA列に対し、
「"v02"または"r11"を含む」…条件1
かつ「"ps"または"vv"を含む」…条件2
かつ「"05"または"21"を含む」…条件3
かつ「"21"と"ps"と"ボックス"を同時に含むものを除く」…条件4
という条件で検索をかけなければいけない状況です。
(実際は、一つの条件に含まれる項目数は10個前後で、「AまたはBまたはC…またはJを含む」といった具合に長くなります)
条件1が検索できればあとは条件4以外繰り返しでなんとかなると思うのですが、最初からつまづいてしまいました。
(続きます)


184:名無しさん@そうだ選挙にいこう
10/06/06 22:18:45
通常のフィルタでは条件を3項目以上に増やせないからフィルタオプションの設定をせよということなので
空欄のセルの下に検索条件の式を書き、2セル合わせて検索条件範囲に指定しました。
先ほどまで条件式を思考錯誤しながら編集していたところです。

今のところ試したのは以下のような式です。
=OR(A2="*v02*",A2="*r11*")
=OR(A2=*"v02"*,A2=*"r11"*)
=OR(FIND("v02",商品名),FIND("r11",商品名))
=OR(COUNTIF(商品名,"v02")>0,COUNTIF(商品名,"r11")>0)

文字列が認識されなかったり、ANDで検索したのと同じ結果が出てしまったり、
結果が1行も出てこなかったり、といった具合で全くうまくいきませんでした。
もしよろしかったらどなたかご教示のほどよろしくお願い致します。
長文失礼致しました。

185:複乳
10/06/06 23:49:15
>>178 漢字を入力した時点でふりがな登録はされている。コピーしたらない場合もある
>>179 全部の漢字入力して並び替えればわかるよ

186:複乳
10/06/06 23:53:10
>>183
自分でもどうかとおもうようなものだが・・一応機能するので
A1に上の表の04ps-v01シーケンサ が入ってるとする
以下C1-F1はそれぞれ条件1-4を表す。
C1=IF(OR(NOT(ISERROR(FIND("v02",$A1))),NOT(ISERROR(FIND("v02",$A1)))),1,"")
D1=IF(OR(NOT(ISERROR(FIND("ps",$A1))),NOT(ISERROR(FIND("vv",$A1)))),1,"")
E1=IF(OR(NOT(ISERROR(FIND("05",$A1))),NOT(ISERROR(FIND("21",$A1)))),1,"")
F1=IF(AND(NOT(ISERROR(FIND("21",$A1))),NOT(ISERROR(FIND("ps",$A1))),NOT(ISERROR(FIND("ボックス",$A1)))),-100000,"")
J1=IF(SUM(C1:I1)>0,$A1,"")
それぞれ下にオートフィルすれば条件に当てはまるものだけが出てくると思う

一応説明する。C1の NOT(ISERROR(FIND("v02",$A1))) これ
FIND関数は見つかれば文字列、見つからなければエラー値を返す。FALSEじゃないことに要注意な。エラー値はTRUEでもFALSEでも無い
ISERROR関数はエラーかどうかの判定。エラーならTRUEを返す。つまりTRUEなら"v02"が見つかっていない
NOT関数はTRUEとFALSEを逆転させる。つまりTRUEなら"v02"が見つかっている(逆のままでもいいんだが俺がわかりにくいというだけで使っている)
つまりv02があればTRUEが返り、無いならFALSE。後はORでくくってIF判定に持ち込んでいる
で、IFで判定してTRUEなら1を返し、条件4のように除外するバア愛は-100000だ(本当は全体に0をかけるべきなんだがめんどくさかった)
まーテキトーに変えれば使えるだろう

今気づいたけど条件1-3ってまとめれるな。まとめれるとこはまとめたほうがいいぞ・・
「"v02"または"r11"または"ps"または"vv"または"05"または"21"を含む」…条件1
だな。まぁ、ええけど


187:名無しさん@そうだ選挙にいこう
10/06/07 00:00:37
はじめまして。下記の方法が可能かどうか教えてください。

例えばフォルダ内にエクセルシートを作成すると、おなじみのエクセルのアイコンが表示されますよね。
このアイコンをそれぞれ特定の画像表示に変更することは可能でしょうか?
といいますのも、読書をし終わった後に要点をエクセルでまとめており、
その書籍の表紙を個々に画像で表示できれば視覚的に探しやすくなると思いました。
PCにはあまり詳しくないため、とんでもない事を言ってるのかもしれませんが、
この方法が可能かどうか教えていただきたく思います。

よろしくお願いします。

188:名無しさん@そうだ選挙にいこう
10/06/07 00:03:47
すみません。187の質問ですがテンプレート忘れました。

【1 OSの種類         .】 Windows Xp sp3
【2 Excelのバージョン   】 Excel 07
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 がんばります
【5 検索キーワード     】


189:複乳
10/06/07 00:16:34
>>187-188
個別には無理だったと思う
ショートカット、フォルダなら可能なのでそれをうまく使うしか無いかな
やるならKH IconMagic98ってソフトを使えばいい
アイコン 変更 でぐぐれば情報は色々見つかるわ

190:172
10/06/07 00:22:24
>>174
すいません。X軸は0から始めたいので不可です。
これは人に教えるので、出来るだけ簡単な方法を探しています。


191:名無しさん@そうだ選挙にいこう
10/06/07 00:45:54
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル内 数 足す

A1セルに書かれた「abc[5], defg[3], hi[2], jklmn[10]」
のようなカンマで区切られた複数種類の文字列の中の
[ ]で囲われた数字の和を、A2セルに「20」というように
書き出す方法はありますか?
ありましたらどうかお教えください。よろしくお願いします。

192:名無しさん@そうだ選挙にいこう
10/06/07 05:56:37
>>191
Function mysep(varDat As Variant) As Long
Dim varBuf As Variant
Dim i As Long
Dim ans As Long

varBuf = Split(varDat, ",", , vbBinaryCompare)

For i = 0 To UBound(varBuf)
ans = ans + CLng(Mid(Left(varBuf(i), Len(varBuf(i)) - 1), InStr(1, varBuf(i), "[", vbBinaryCompare) + 1))
Next i

mysep = ans
End Function

こんな感じでユーザー関数を作ったほうがスマートじゃない?

193:名無しさん@そうだ選挙にいこう
10/06/07 09:18:15
>191
A1をA2にコピー
]*[ を + に置換
] を "" に置換
*[ を = に置換

194:名無しさん@そうだ選挙にいこう
10/06/07 09:22:30
>172,190
最初のデータ範囲がどちらも数値なので、Excelは2系列(線が2本)のグラフを作ろうとしたようですね。
X軸にしたい方のデータを数値から文字にすることで希望のグラフができます。

E1セルに =B1&"" 、F1セルに =D1 を入力して、11行目までフィルコピーします。
E列の &"" で文字列になります。
後は E1:F11 を選択してグラフ作成するだけです。

データをいじることができない場合はちょっとややこしいですが、次に説明する方法で可能です。

195:194
10/06/07 09:25:26
>172,190
データはいじらない方法です。(ただし、当方Excel2003なので、このとおりにできないかも)

1 D1:D11を選択し、グラフアイコンをクリック、折れ線グラフを選択
2 [次へ]をクリック
  → グラフウィザードには、X軸は1~10の(仮の一連番号)で線が1本のグラフが表示される
3 「系列」タブをクリックする
4 下の方の「項目軸ラベルに使用(T):」の欄の右端部分をクリック
5 B2:B11を選択して、欄の右端部分をクリック
  →「項目軸ラベルに使用(T):」の欄の内容が =Sheet1!$B$2:$B$11 になる
6 [次へ]をクリック
  → グラフウィザードには、X軸は0~9で線が1本のグラフが表示される
7 「タイトルとラベル」のタブをクリック
8 「X/項目軸(C):」の欄(現在空欄)に ビンの重さ を入力する
9 [次へ]をクリック
10 グラフの場所を希望に応じて設定のうえ[完了(F)]をクリック → グラフ描画

196:複乳
10/06/07 09:37:01
そこまでするなら
E2=D2-C2
でピンの重さだけの列作ってそれでグラフにしたほうが早くない

197:194
10/06/07 10:07:58
>196
最初、E列に =B1&"" とし、D1:E11の範囲でグラフを作ろうとしたけど、
Excelは左側(D列)をX軸、右側(E列)をグラフデータとみなそうとし、E列が文字列
なもんだから、折れ線が表示できなかったんです。


198:183
10/06/07 10:14:40
>>186 どうもありがとうございます!
ISERROR関数というものがあるのですね。勉強になりました。
原理は理解できたと思うので、応用してうまくやってみます。
見ず知らずの赤の他人なのに、わざわざ丁寧に書いていただいてありがとうございました!

199:名無しさん@そうだ選挙にいこう
10/06/07 10:20:41
【1 OSの種類         .】 WindowsXP home sp3
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 保存 数値

エクセルで表計算をしていたら、セルに数値を入力しても合計の数値が変わらず、
保存をした時に数値が反映されるという妙な現象が起こっております。
会社のPC全てで同時期に同じ現象が起こってしまい、原因がわからず困っております。
1台を共有ではなく、全てのPCで1ライセンスずつ個別にプリインストールされております。

ある日突然このような現象が起こってしまい、全く原因不明です。

同じような現象が起こった方おりますでしょうか?
解決法をご存じの方がいらっしゃいましたら、是非ご教授頂きたく存じます。


200:名無しさん@そうだ選挙にいこう
10/06/07 10:30:38
>199

>152,156にもちょこっと書いてありますが、複数シートを選択するとなぜか自動再計算が解除されます。
(ただし、Excel2003しか使ってないので2007でも再現するかどうかは不明)

このページをみてください
 URLリンク(refuge06.blog54.fc2.com)
 魂の避難所 -パソコン関連トラブル解決メモ-


201:199
10/06/07 11:05:21
>>200

ご教授ありがとうございます。解決し、大変助かりました。
誠にありがとうございました。

202:複乳
10/06/07 12:28:53
>>197
こんな漢字?
URLリンク(www1.axfc.net)
&""を付けて文字列にしても数値にされてるような感じがする
というわけで&"-"をつけて完全に文字列にし、ピンの重さ列も用意
それでグラフかな
めったにグラフ作らないかrあもっと楽な方法があったりするかも

203:163
10/06/07 19:34:34
>>185
全部の漢字を入力するにはどうすればいいの?

204:複乳
10/06/07 20:02:05
>>203
一つずつ打って行けばイイジャン

205:名無しさん@そうだ選挙にいこう
10/06/07 20:06:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 sum エクセル
A1に あ B1に 1 があります
sumだと=sum(a1:b1)でエラーがでないのに=a1+b1だとエラーが出るのはナゼ?

206:複乳
10/06/07 20:10:25
>>205
その検索結果の一つ目に書いてるんだが

207:名無しさん@そうだ選挙にいこう
10/06/07 20:11:18
>>205
sumは文字列を除いて足してくれる関数だから。

というか、これはExcelの仕様です

208:名無しさん@そうだ選挙にいこう
10/06/07 20:24:59
手書きで文字など書き込めますか
書類作成時にどうしてもある記号が必要なんですがペンタブあればできるってことはないですよね・・・
OSの種類ってのはXPですが、今手元に使用するはずのパソコンがないのであとはわかりません


209:名無しさん@そうだ選挙にいこう
10/06/07 20:29:07
>208

Excel以前の問題だ。

周りにPCのこと知ってるヤツはいないか?
PCを少しでも理解しているヤツなら分かると思う。


210:複乳
10/06/07 20:30:06
>>208
「きごう」を変換した中にない?
ないなら外字登録
URLリンク(office.microsoft.com)
か、その記号を教えてくれればなんとかできるかも

211:163
10/06/07 20:30:15
>>204
おばちゃん、もっと具体的に教えてよ

212:名無しさん@そうだ選挙にいこう
10/06/07 20:34:22
>>209>>210
すみません。PCそれなりに詳しい人いたんですがわかんなかったんです。
記号変換は調べてみたんですがなかったんです
○の中を半分とか、3/4くらい塗りつぶす感じのなんですが
がんばっていろいろ試してみたのに「ずれてる」「ちゃんとしてくれ」とか相手先に言われてもうどうしていいか
もともとパソコンスキル必要ない仕事だったのに泣きたいです

213:複乳
10/06/07 20:35:36
>>211
漢字は入力できる?出来ないなら出直してきな
まず漢字をA1からA65536に入力、A列で並び替え
A1からA65535を消し、再度入力
そして最後にA列の一番下に残るのが並び替えで最後に来る漢字さ
終わったら私にも教えてね

214:複乳
10/06/07 20:36:40
>>212
何の記号だそれ?存在しないものなら図形で作る方が早いと思うけど

215:名無しさん@そうだ選挙にいこう
10/06/07 20:38:20
>208,212
アクセサリの「ペイント」で自分で絵を描いてGIFか何かで保存して貼り付けるしかないと思います。
描きたい記号に似た文字ををなるべく大きいサイズで表示して画面コピーしてからペイントにて加工する、
とか。
これ以上はスレ違いになるので、「スレたてるまでもない質問に答えるスレ」
スレリンク(bsoft板)l50
へどうぞ。

216:名無しさん@そうだ選挙にいこう
10/06/07 20:39:10
>>211
繰り返し文使って、chrで出力すればいいんじゃないか。

217:名無しさん@そうだ選挙にいこう
10/06/07 20:40:38
>>214
記号というとちょっと違ったかもしれませんね
ご丁寧にどうもです
図形っていうので手書き作成できるんでしょうか
明日ちょっとやってみます
>>215
どうもありがとう
作って貼り付けたこともあるんだけど「ずれてる」と一蹴されましたどうすりゃいいのさ
愚痴ってすみません。本当にありがとうございました
明日またもう一度いろいろ試してみます

218:複乳
10/06/07 20:44:20
>>217
ちょっとまっとけ

219:複乳
10/06/07 20:46:26
>>217
A1に入力してある。これをコピーして使うといい
URLリンク(www1.axfc.net)


220:215
10/06/07 20:48:43
>217
>作って貼り付けたこともあるんだけど「ずれてる」と一蹴されました
作った図形と、元々のセルの中の文字が「画面上ではきれいに並んでいるけど、
印刷したら重なったり、離れたり」っていうことかな?

エクセルは画面に表示された通りに印刷されることは、99%ありません。
例:画面上はセル内の十数文字が切れることなく表示されているのに、印刷すると
右端が切れたり、改行してしまったり
こういうときは、印刷プレビューで確認するといいです。

221:名無しさん@そうだ選挙にいこう
10/06/07 20:53:21
>>217
ちょっと待って!!!!
それ、特殊記号!!!!! 手描きじゃないよ!!!!!

222:名無しさん@そうだ選挙にいこう
10/06/07 20:55:31
>203
ATOKでもMSIMEでもいいから「文字パレット」を表示させればあとはダブルクリック+[Enter]の繰り返しです。ガンガレ!

223:複乳
10/06/07 20:57:06
>>222
その手があったか!
おまえ、あたまいいな!

224:名無しさん@そうだ選挙にいこう
10/06/07 20:59:15
>>218
ありがとう。本当にありがとう。でも真ん中塗りつぶしじゃないのw
明日もう一度なんとかしてみます
ダメなら逆切れ気味に「これ以上無理ですってば!!」ってメールでも送るw
>>220
ちゃんと印刷して確かめたんだけどダメだって言われた頑張ります


225:222
10/06/07 20:59:25
>223
ありがとう。ところで、>219は何なんですか? 今、自分はExcel使える環境じゃないので教えてください。

226:163
10/06/07 21:15:00
>>213
全部の漢字を入力する方法を教えてよ。
並び替えのやり方そのものは163の質問で結果を出してるんだし、普通の人ならわかるでしょ?

227:名無しさん@そうだ選挙にいこう
10/06/07 21:16:54
>>224
それUnicodeにしかないよ
出すのは文字コードで

IMEならIMEパッドで探して

228:163
10/06/07 21:17:38
>>222
文字パレット?
IMEを見たけどありませんでした・・・

229:名無しさん@そうだ選挙にいこう
10/06/07 21:31:49
>>163
スタート→すべてのプログラム→アクセサリ→システムツール→文字コード表

設定:MS Pゴシックで文字表をカーソル下へみっていってごらん。
お望みのフォントが見つかったらエクセルへコピー&ペーストすればよろし。

230:229
10/06/07 21:34:49
ごめん>>208宛ですた。

231:222
10/06/07 21:37:32
>228
MSIMEだと IMEパッド>文字一覧 になります。
それと、ダブルクリックじゃなくてクリックでいいですが、変換途中の状態になるので
[Enter]で確定+[Enter]でセル移動になります。
(>222はATOKでの話でした)

232:複乳
10/06/07 21:38:03
○の中を半分とか、3/4くらい塗りつぶす感じの記号がよく分からないんだが・・
下半分が黒い記号とか?
>>225
蛇の目の記号
URLリンク(detail.chiebukuro.yahoo.co.jp)
>>226>>213


233:複乳
10/06/07 21:47:31
>>224
URLリンク(www1.axfc.net)
どれだよわかんねーよ・・
後は外字かオートシェイプだな。なんとなくオートシェイプが無難な気がする。

234:名無しさん@そうだ選挙にいこう
10/06/07 21:53:10
縦横比がちょっと変ですが、20×20のマトリクスを作りました。
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
どんな記号を作りたいの?

235:名無しさん@そうだ選挙にいこう
10/06/07 22:06:04
こういうのじゃね?
Unicodeだから????ってなるかもしれないけど。

URLリンク(www.dotup.org)

pw:en

236:名無しさん@そうだ選挙にいこう
10/06/07 22:08:29
そもそも丸の大きさもわかんないし。
Excelのスクショにペイントで丸を書いて、どんなふうにしたいのか示してよ。

ていうか、Excelを使う必要があるの?
別のソフトならもっと簡単にできるかもよ。

237:名無しさん@そうだ選挙にいこう
10/06/07 23:23:23
マクロに書いたコメント文だけを抜き出すにはどうすればいいでしょう?

Sub test()
 Dim A As Long
 'A列の最下行
 A = Range("A65536").End(xlup).Row
 'メッセージを出す
 MsgBox "A=" & A
End Sub

これをSheet2に貼り付けて

 A列の最下行
 メッセージを出す

にする。(コメント前にあるスペースは残し、「'」は消す)

238:複乳
10/06/07 23:40:39
>>237
sheet2のA1:A7にはりつけたとして
B1=IF(LEFT(SUBSTITUTE(A1," ",""),1)="'",SUBSTITUTE(A1,"'",""),"")
下にオートフィル
VBEからも直接触れるらしいが欲知らない

239:fon
10/06/07 23:57:54
windows7です

A1~A14にルート2の1,41421356…を1マスずつオートフィルを使って入力するのにはどのような数式をA1に入力すればよいのでしょうか?

よろしくお願いします

240:複乳
10/06/08 00:07:53
>>239
=SQRT(2)
の結果でもみながら入力した方が早いと思うが

B1=SQRT(2)*10000000000000
A1=MID($B$1,ROW(),1)
下にオートフィルタ

241:fon
10/06/08 00:15:50

すみませんが、できませんでした。

242:名無しさん@そうだ選挙にいこう
10/06/08 00:27:56
>>241
B1に=SQRT(2)
B1の書式を0.00000000000
A1=1
A2=MID(B$1,ROW()+1,1)
A3からA14までオートフィル

243:fon
10/06/08 00:34:12

どうもでした。。

244:名無しさん@そうだ選挙にいこう
10/06/08 01:14:20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel IPv6 2進数 16進数 計算

16進数を2進数に変換したいのですが、hex2bin だと、#NUM! が出て計算してくれません…
16ビットな16進数(1~65535)を2進数に変換してくれる関数とか、他に無いでしょうか?

128ビットまるごとだと、なおうれす

245:名無しさん@そうだ選挙にいこう
10/06/08 02:07:08
>>244
ヘルプは見た?
引数に与えられる16進数の最大値は1FFまで
だから200以上はエラーになる

246:名無しさん@そうだ選挙にいこう
10/06/08 08:04:49
>>245
見てはいなかったですが、確認はしています。
他に無いでしょうか?

247:名無しさん@そうだ選挙にいこう
10/06/08 09:01:07
n進数の考え方なんてそんなに難しくないから
VBA使えるなら自分で作れそうなもんだけどな。
IPv6で検索してる所を見ると他にやりたい事がありそう。
ひとりごとでした。

248:名無しさん@そうだ選挙にいこう
10/06/08 09:01:32
>>244
0~FFFFまでなら
=HEX2BIN(LEFT(RIGHT("0000"&A1,4),2),8)&HEX2BIN(RIGHT(A1,2),8)

参考にしたページ
URLリンク(www.excel.studio-kazu.jp)


249:名無しさん@そうだ選挙にいこう
10/06/08 09:04:25
128ビットって大きな数過ぎて正確には扱えないよね

250:名無しさん@そうだ選挙にいこう
10/06/08 09:33:12
えっ

251:名無しさん@そうだ選挙にいこう
10/06/08 13:18:38
>>248
なるほど。
素直に16ビットで扱うことは諦めて、8ビットにわけて考えることにします
ありがとうございました m(__)m

あ…そういう前提だから9ビットまでしか対応してないのかもですね



で、IPv6は…正引きや逆引き、プレフィックスその他もろもろ
チェックするアドインでも作ろう…として、最初に躓きましたw
車輪の再発明は好きじゃないので、あれば利用したいなと。
PTRの設定、早速1文字ミスったので…orz

252:複乳
10/06/08 14:33:23
量が少ないならwindows付属の電卓でいいんじゃないの
表示→関数電卓を選べば2/16進数の計算もできるよ

253:名無しさん@そうだ選挙にいこう
10/06/08 16:23:48
16進変換なんて32butまでならVBAですぐ作れるじゃん
自分で作らなくても検索すればすぐ出てくるからコピペでもいいし

254:名無しさん@そうだ選挙にいこう
10/06/08 18:20:25
ひとつのセルに入力された結果を見て

アタリ
ハズレ
空欄(入力待ち)

の3種類の表示を使い分けるにはどうすればいいですか?

255:名無しさん@そうだ選挙にいこう
10/06/08 18:40:56
>254
A1セルの内容によって表示を変える式は2通りあります。
その1 アタリと表示したいA1の内容を式の中に直接書き込む場合
=IF(A1="","",IF(A1="○○○","アタリ","ハズレ")) ○○○の部分を適当に変える
アタリとなる内容が数字の場合は =IF(A1="","",IF(A1=999,"アタリ","ハズレ")) などの
ように、""は付けない

その2 アタリと表示したいA1の内容を別のセル(例:C1セル)に書き込んでおく場合
=IF(A1="","",IF(A1=C1,"アタリ","ハズレ")) C1セルにアタリとなる内容を入力しておく
C1セルに入力した内容が見えないように文字色を白にしておくといいです。

256:名無しさん@そうだ選挙にいこう
10/06/08 20:33:50
>>238
ありがとうございますた。

257:名無しさん@そうだ選挙にいこう
10/06/08 20:44:46
【1 OSの種類         .】 WindowsXPで製作(Vistaも使用)
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可能
【5 検索キーワード     】 修復
助けてください。
VBAでマクロを作っていたのですが、製作途中である日突然ファイルが開けなくなりました。
ファイルを開くと砂時計が続き、VBAも開けません。強制終了しか方法がありません。
それが原因かわかりませんが、前日の終了間際に同じ名前のプロシージャーが二つあり、エラー表示が
出ていることを確認しています。修復して開こうと試みましたが、”ファイルへのダメージが深刻であり”と表示され
修復できません。なんとか元のファイルを直すことは出来ないでしょうか・・


258:名無しさん@そうだ選挙にいこう
10/06/08 21:24:25
昨日記号が作れないと助けを求めたものです
みなさんご親切にどうもありがとうございました。
>>233
の左から三つ目です。これがもうちょっと黒い部分が多かったり少なかったりの記号なんですが・・
図形のフリーハンドっていうのがあったので枠囲って塗りつぶしでなんとかしました
多分これでどうにかなってると思・・・いたいw

あとついでに質問させてください
うまく説明できないのですが、画面いっぱいにカーソル移動させた時、画面が動かないんです
たとえば・・20列目までは画面に映ってる時に、↓キーで21列目に移動させても画面がすすまないんです。
25列目くらいに移動して初めて21列目が見れるよう(画面移動して)になる
図形をいじってたらいきなりこうなって打ちにくくて困ってます。ちなみに2007です

259:名無しさん@そうだ選挙にいこう
10/06/08 21:37:53
>>258
スクロールロックキー を押してしまったんじゃないかい?

もう一度Scroll Lockを押せばOK

260:複乳
10/06/08 21:51:39
>>258
そんな文字はなかったような
下は>>259じゃ無ければウィンドウ枠の固定かも
>>257
エクセル ファイル 壊れた
でぐぐる。やり方は色々ある
OOo使うのが一番復旧しやすい気がする
バイナリエディッタでも見れる可能性はある
まぁー多分、作り直した方が早いよ

261:258
10/06/08 21:55:07
ありがとう。明日見てみます

262:名無しさん@そうだ選挙にいこう
10/06/08 22:18:47
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 関数 桁 参照

基本的な質問ですいません。
データ列の上N桁を読み込んで、別に用意したテーブルの項目名をあてはめることは可能ですか?

たとえば、

「データ列」  「テーブル」
  002**  →  002 北海道札幌市
  120**  →  120 東京都足立区
  530**  →  530 大阪市北区

のような。

実際はデータ列は5,000行~30,000行程度×10シート、テーブルは100行程度のボリュームがあります。

また上N桁は2桁、3桁のように決まっていません。上2桁~上5桁までばらつきます。

vlookupでは無理のようでどの関数で処理すればいいのか分かりませんでした。

263:名無しさん@そうだ選挙にいこう
10/06/08 22:23:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

超初心者です。
ページレイアウトタブにある「行番号」を表示させて学習していたら
作成時はもちろん新規作成を出すと必ず行番号1が表示されるようになり
常に行番号の▼を「なし」とクリックしないといけない状態になってしまい
面倒くさくて困っています。
この1が出ないようにするにはどうすればいいでしょうか?

よろしくお願いいたします。<m(__)m>

264:名無しさん@そうだ選挙にいこう
10/06/08 22:30:48
>>262
テータ列・テーブルからそれぞれ作業列に =VALUE("0."&A8) として
=VLOOKUP(データ列の作業列,テーブルの作業列をキーに,列番号,TRUE)
でどうでしょう?

265:263
10/06/08 22:37:22
ごめんWordでした

266:名無しさん@そうだ選挙にいこう
10/06/08 22:41:16

( ゚Д゚)ゴルァ!!

267:名無しさん@そうだ選挙にいこう
10/06/08 23:08:36
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 表 集計 関数
エクセルで支店ごとの売り上げを合計したい
今もっているデータが、

支店1
得意先 1月 2月 3月 4月  5月
A社   100  20  30  10  50
B社   40   30  20  10  80
C社   30   100  20  40  40

支店2
得意先 1月 2月 3月 4月 5月
A社   10  50  30  40  80
E社   30  30  20  10  30

のようになっています。
これらを全ての支店の売り上げを合計し、全社の得意先別売り上げを

得意先 1月 2月 3月 4月 5月
A社   110  70  60  50  130
(B社、C社以降も同様)

のように得意先別・月別の形を残したまま、
計算機能を利用して合計したいです。
どうすればいいですか。


268:複乳
10/06/08 23:32:52
>>262
文字数を指定してleftでキリトリ、それをキーにしてvlookup
URLリンク(www1.axfc.net)
>>267
sumif関数。絶対参照をうまく使えば一箇所入れるだけで後はオートフィルでok
URLリンク(www1.axfc.net)
支店ごとにシートが違う場合はまた別の方法で

269:名無しさん@そうだ選挙にいこう
10/06/09 00:41:14
>>255
ありがとうございました

270:名無しさん@そうだ選挙にいこう
10/06/09 01:36:26
/ が入力できません><

271:名無しさん@そうだ選挙にいこう
10/06/09 02:51:35
>>270
'/

272:名無しさん@そうだ選挙にいこう
10/06/09 02:52:49
>>270
まずF2押す

273:名無しさん@そうだ選挙にいこう
10/06/09 06:45:23
>>267
ピボットテーブルウィザードで「複数のワークシート範囲」で簡単。
次善の方法としては「統合」もある。
使い方はどっちも似たようなもんだ。
次善手の統合なら、表を書き出したい空白セルにカーソルを置いて
統合元範囲に二つの範囲を追加していき、上端行と左端列にチェックを付ければよい。
データが非常に多いときはピボットテーブルだが、それほどでもなければ統合で十分。

274:名無しさん@そうだ選挙にいこう
10/06/09 08:22:46
Excel2007で質問御願いします。

あるセル上、セル選択状態からいきなり入力を始めて打ち間違いをし
左矢印キーで修正のため戻ろうとするとそのセル内で前の文字に戻らずに
左のセルに移動してしまいます。
入力を始める前にF2とかでセルを編集状態にしてからなら問題ないのですが
それをせずにセル内の文字列内で戻る方法はありますか?

275:名無しさん@そうだ選挙にいこう
10/06/09 08:35:27
ない。

276:名無しさん@そうだ選挙にいこう
10/06/09 09:15:07
>>274
OnKeyメソッドで出来なくはないが、普通に←を使いたいとき困る。
そういう用途にしか←を使わないのであれば下のfooを実行すればいい。
Sub foo()
Application.OnKey "{LEFT}", "HOGE"
End Sub

Sub HOGE()
SendKeys "{F2}+{LEFT}"
End Sub


277:名無しさん@そうだ選挙にいこう
10/06/09 09:34:04
上はまずいかな?
どっちにしろ実用になるもんじゃないが一応書いておく。
Sub HOGE()
SendKeys "{f2}"
SendKeys "{insert}+{LEFT}"
End Sub


278:名無しさん@そうだ選挙にいこう
10/06/09 10:52:10
>>275->>277
ありがとうございました。

279:名無しさん@そうだ選挙にいこう
10/06/09 10:58:57
>>270
最初に / を入力する場面が頻出するなら、メニューのツール→オプションで移行タブをひらく。
そこに、Microsoft Offece Excel メニューキー として / が登録されてるから
あんまり使わないキーに書き換えとくことをオススメしとくよ。

あたしは \ に書き換えてる。

280:名無しさん@そうだ選挙にいこう
10/06/09 18:45:03
>>270
>>271
すごーい!できたよー\(*^o^*)/

281:名無しさん@そうだ選挙にいこう
10/06/09 19:49:24
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 なるべく使わない方向で
【5 検索キーワード     】 EXCEL グラフ 余白
凡例は消去してグラフをX数値、Yの数値、図だけでグラフを作成し
図を拡大しようとするんですが
右に10mm、上に5mmほどの余白を図で埋める事が出来ないでいます。
余白をなくす設定方法を教えていただけないでしょうか



282:名無しさん@そうだ選挙にいこう
10/06/09 19:51:44
XP Excel 2003
VBA初心者
VBAでの回答可

セルA1に入力された文字がファイル名になるマクロというのを見つけたのですが

Sub test01()
Dim x As String
x = Sheets("Sheet1").Range("A1").Value
Application.Dialogs(xlDialogSaveAs).Show arg1:=x & ".xls" '
End Sub

このコードを、フォルダ内にある複数のファイルにバッチ処理するにはどうしたらよいのでしょうか?


283:複乳
10/06/09 22:05:58
>>806
ダメージも上げれば・・
スト2だな

284:複乳
10/06/09 22:17:55
ぎゃー誤爆した
>>281
ないんじゃない。prtscrでコピー、ペイントで編集して貼付けか
気色悪い方法としてリンク貼付けでも対応可能
>>282
複数のファイルだと同じ名前でエラーが出るでしょ
どういう風にしたいの
A1:A5の五つのファイル、とか言うならfornextでRange("A1")をRange("A"&i)みたいに
すればいいとおもうけど

285:名無しさん@そうだ選挙にいこう
10/06/10 13:54:46
>>282 です。

エクセルファイルは200個くらいあって

それぞれの
セルA1 には 違う文字が入っています

--001.xls---
セルA1 りんご

りんご.xls のファイル名で保存

--002.xls---
セルA1 みかん

みかん.xls のファイル名で保存

…というふうに、200個のファイルをリネームしたいと言うことなのですが…

286:名無しさん@そうだ選挙にいこう
10/06/10 17:26:07
>>285
これから保存するんじゃなくて、ファイル名を一括で変更したいってこと?

287:名無しさん@そうだ選挙にいこう
10/06/10 17:42:20
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否

ある作業を2回行い、その作業にかかる時間を記録しました。時間が短い方が記録が良いです。
そのことをエクセルのグラフにどう表したらいいかわかりません。
普通にグラフを作ると時間が長い=数値が大きいので、記録が良くない方のグラフが上にきてしまい、ぱっと見では時間が長い方が良い記録であるようなグラフになってしまいます。
どうしたらいいでしょうか?


288:名無しさん@そうだ選挙にいこう
10/06/10 17:59:31
>>285
Excel2003以下用
2007以降は拡張子がたくさん増えたから自分で工夫して

Sub いっぺんに名前変更()
  ChDir "C:\data\ファイルがいっぱい入ってるフォルダ"
  OldFilename = Dir("*.xls")
  While OldFilename <> ""
    Workbooks.Open OldFilename
    NewFilename = Worksheets(1).Cells(1, 1)
    ActiveWorkbook.Close
    Name OldFilename As NewFilename & ".xls"
    OldFilename = Dir()
  Wend
End Sub

289:名無しさん@そうだ選挙にいこう
10/06/10 18:11:34
>>288

すすすごいです! ありがとうございます!!

290:複乳
10/06/10 18:12:12
>>285
何という読解力の低さ・・泣けるね
では改めて↓。Cドライブで作業しないとうまくいかないかもしれない
Private Sub CommandButton1_Click()
ChDir ThisWorkbook.Path
di = Dir("*.*")
Do While di <> ""
Workbooks.Open di

Workbooks(di).Activate
x = Sheets("Sheet1").Range("A1").Value
Application.Dialogs(xlDialogSaveAs).Show arg1:=x & ".xls" '
Workbooks(x & ".xls").Close

di = Dir()
Loop
End Sub


291:名無しさん@そうだ選挙にいこう
10/06/10 18:30:11
>>290
シート名がSheet1とは限らん

292:複乳
10/06/10 19:32:40
そう思うならそういうコード書いてあげればいいんじゃない
書けないなら黙ってれば

293:名無しさん@そうだ選挙にいこう
10/06/10 19:52:16
("*.*") ←かわいい!

294:複乳
10/06/10 20:31:39
>>287
=最高記録/時間 の行を作って最高記録が100%になるようなグラフにするか
もうそのままのグラフにするか、表のままか
そういや近距離走者のグラフとか見たことないな。あんまりさが無いからかな?
>>293
("*.*") < きもいだろ・・

295:名無しさん@そうだ選挙にいこう
10/06/10 20:58:34
程度の低いのを後出しするって・・・

アホコテはどんだけオナニー好きなんだよw

296:複乳
10/06/10 21:04:38
雑談は雑談スレへ

297:名無しさん@そうだ選挙にいこう
10/06/10 21:23:01
レス早w

298:名無しさん@そうだ選挙にいこう
10/06/10 21:25:10
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

あるxlsファイル中の、指定したセルのデータと同じ名前のxlsファイルを開いて、
マクロで編集・保存して閉じ、指定するセルを移動し、そのセルのデータと同じ名前の・・・という作業を自動で繰り返すことは可能ですか?

A.xlsのA1が「B」だったらB.xlsを開き、A.xlsのB1以降のデータを使ってB.xlsの該当部分をマクロで編集・保存して閉じ、
A.xlsのA2が「C」だったらC.xlsを開き、A.xlsのB2以降のデータを使ってC.xlsの・・・という感じです

299:名無しさん@そうだ選挙にいこう
10/06/10 21:30:26
>>292
>>288見ろ

300:名無しさん@そうだ選挙にいこう
10/06/10 21:43:34
>>298
質問が漠然としすぎているけど、まあだいたいのことは可能

301:複乳
10/06/10 22:01:30
>>298
こんな感じ?
Sub unko()
Dim wbWrit As Workbook
ChDir ThisWorkbook.Path
gyo = Range("A65536").End(xlUp).Row
For i = 1 To gyo
sagyou = Cells(i, 2).Value '作業。とりあえず値を変数にでも入れておく
fairu = Cells(i, 1)
Set wbWrit = Workbooks.Open(fairu & ".xls")
wbWrit.Sheets("sheet1").Cells(3, 1).Value = sagyou '値をセルにでも入れる
Workbooks(fairu & ".xls").Close
Next
End Sub
>>299
見た

302:名無しさん@そうだ選挙にいこう
10/06/10 22:07:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(初級レベル)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 特定の文字列 抽出

一列の中に10文字の英数文字列(10文字)、カナ漢字文字列(制限なし)、半角英文字+記号(制限なし)など、
3パターンの文字列があり、それが10列ぐらいあります。
その中から列ごとに英数文字列(10文字)だけを抽出したいのです。
a
1 12345abcde
2 本日は晴天なり
3 aa+bb+cc
4 a1b2c3d4e5
5 本日は悪天なり
6 aa

a1~a3がワンセットとなってまして、1列30行程度、最大10列ぐらいある表の中から
↑の例では a1とa4を抽出したいのです。


303:名無しさん@そうだ選挙にいこう
10/06/10 22:39:15
>>302
隣の列がB列とする

B1のセルに「A」
B2のセルに「B」
B3のセルに「C」
と、それぞれ入力する。

B1からB3まで範囲選択し、オートフィルで連続データを作成。
ABCABCABCABC…と入力出来る
分からなければ「オートフィル」で検索

B1のセルを選択し、「データ」メニューから「オートフィルタ」を選択

B1にあるオートフィルタの下向き三角をクリックし「A」のみ抽出

A列を範囲選択し、コピー。
Sheet2などに貼り付け



304:名無しさん@そうだ選挙にいこう
10/06/10 22:52:14
>>303

なるほど、こういう変化球があるんですね。
参考になりました。

上で書くの忘れてましたが、a1~a3はワンセットなのですが、
30行の中に空白行が入ることがありまして(規則性なし)、教えていただいた方法だと…。
本当にすいません。

305:303
10/06/10 22:59:52
>>304
1.最初にオートフィルタ
2.三角ボタンの下の方にある「空白以外のセル」で抽出
3.データ全域を範囲選択しコピー
4.別シートに貼り付け

そこで、上記の作業してはいけない?

306:302
10/06/10 23:31:47
>>305
実は実際に使うファイルは会社なのでいますぐ確認できないのですが、
確か空白セルで抽出ができなかった記憶があります。

でも明日会社で確認してみます。
レス、2回も有り難うございました。

307:複乳
10/06/11 08:12:26
>>302
B1=IF(LEN(A1)=10,1,0)
C1=IF(AND(OR(AND(CODE(MID(A1,1,1))>=48,CODE(MID(A1,1,1))<=57),
AND(CODE(MID(UPPER(A1),1,1))>=65,CODE(MID(UPPER(A1),1,1))<=90)),
OR(AND(CODE(MID(A1,2,1))>=48,CODE(MID(A1,2,1))<=57),
AND(CODE(MID(UPPER(A1),2,1))>=65,CODE(MID(UPPER(A1),2,1))<=90)),
OR(AND(CODE(MID(A1,3,1))>=48,CODE(MID(A1,3,1))<=57),
AND(CODE(MID(UPPER(A1),3,1))>=65,CODE(MID(UPPER(A1),3,1))<=90)),
OR(AND(CODE(MID(A1,4,1))>=48,CODE(MID(A1,4,1))<=57),
AND(CODE(MID(UPPER(A1),4,1))>=65,CODE(MID(UPPER(A1),4,1))<=90)),
OR(AND(CODE(MID(A1,5,1))>=48,CODE(MID(A1,5,1))<=57),
AND(CODE(MID(UPPER(A1),5,1))>=65,CODE(MID(UPPER(A1),5,1))<=90))),1,0)
D1=IF(AND(OR(AND(CODE(MID(A1,6,1))>=48,CODE(MID(A1,6,1))<=57),
AND(CODE(MID(UPPER(A1),6,1))>=65,CODE(MID(UPPER(A1),6,1))<=90)),
OR(AND(CODE(MID(A1,7,1))>=48,CODE(MID(A1,7,1))<=57),
AND(CODE(MID(UPPER(A1),7,1))>=65,CODE(MID(UPPER(A1),7,1))<=90)),
OR(AND(CODE(MID(A1,8,1))>=48,CODE(MID(A1,8,1))<=57),
AND(CODE(MID(UPPER(A1),8,1))>=65,CODE(MID(UPPER(A1),8,1))<=90)),
OR(AND(CODE(MID(A1,9,1))>=48,CODE(MID(A1,9,1))<=57),
AND(CODE(MID(UPPER(A1),9,1))>=65,CODE(MID(UPPER(A1),9,1))<=90)),
OR(AND(CODE(MID(A1,10,1))>=48,CODE(MID(A1,10,1))<=57),
AND(CODE(MID(UPPER(A1),10,1))>=65,CODE(MID(UPPER(A1),10,1))<=90))),1,0)
E1=IF(ISERROR(SUM(B1:D1)),"",IF(SUM(B1:D1)=3,A1,""))

308:複乳
10/06/11 08:14:24
VBAアリだったのか・・

309:名無しさん@そうだ選挙にいこう
10/06/11 10:11:38
年月日が入ってるセルから月の値だけ取り出して、更にその月の値を-1した値を返すに式はどうなりますでしょうか?
例「20071122」と入ってる場合、「11」を取り出して-1して「10」を返す。
「01」が入っている場合は「12」を返してくれる。

310:複乳
10/06/11 10:22:32
>>302
vbaだと
Sub unko()
gyo = Range("A65536").End(xlUp).Row
For i = 1 To gyo
If Len(Cells(i, 1)) = 10 Then
xxx = 0
For k = 1 To 10
Select Case Asc(Mid(Cells(i, 1), k, 1))
Case 48 To 57, 65 To 90, 97 To 122
xxx = xxx + 1
Case Else
xxx = -100
End Select
Next
If xxx = 10 Then
Cells(i, 2) = Cells(i, 1)
End If
End If
Next
End Sub

311:複乳
10/06/11 10:25:03
>>309
A1に入ってるとして
=IF((MID(A1,5,2)*1)=1,12,MID(A1,5,2)*1)

312:複乳
10/06/11 10:25:48
matigaeta
=IF((MID(A1,5,2)*1)=1,12,MID(A1,5,2)*1-1)
だな

313:309
10/06/11 10:34:35
>>312
ありがとうございました!助かりましt

314:名無しさん@そうだ選挙にいこう
10/06/11 11:16:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 複数シート コピー 同一セル


複数シートの特定セル('シート1:シート10'!C2:E2)に書き込まれた文字列を、
新たなひとつのシートへコピーし、一覧にしたいのですが、どのようにしたらいいのでしょう?

315:複乳
10/06/11 11:38:20
>>314
B1:B10=シートの名前
C1=INDIRECT($B1&"!r2c"&COLUMN(),0)
C1をC1:E10の範囲にオートフィル
後はコピーして値で貼り付けとかそんな感じで

316:名無しさん@そうだ選挙にいこう
10/06/11 11:40:15
>>307

キッタネ~
こんなのをよく貼る気になるなぁ

317:複乳
10/06/11 11:47:58
>>316
だよなw
この腕も悪いし気色悪いクソコテさっさと死ねばいいのに

   死  ね



318:名無しさん@そうだ選挙にいこう
10/06/11 11:50:51
>>315
おお、できました。ありがとうございます!
indirect使いこなせるようになろうと思います

319:名無しさん@そうだ選挙にいこう
10/06/11 15:11:59
つーか次スレのテンプレに

・ご教示とご教授は全く意味の度合いが異なります。
 女を一晩買うのと、人身売買で身柄を買うくらいレベルが違います。
 質問する時にはちゃんと使い分けましょう

って入れておこうぜ。

320:名無しさん@そうだ選挙にいこう
10/06/11 15:57:33
どうでもいい

321:名無しさん@そうだ選挙にいこう
10/06/11 20:03:06
激しくどうでもいいわ

322:名無しさん@そうだ選挙にいこう
10/06/11 20:29:35
>316
310、312、315も十分汚い
それが彼の立ち位置。

323:名無しさん@そうだ選挙にいこう
10/06/11 21:40:28
>>310 >>312 >>315

324:名無しさん@そうだ選挙にいこう
10/06/11 22:35:56
>>316と>>322のカキコは価値がないどころかマイナス要因だが、複チチさんは役に立ってる。
綺麗なマクロや関数を求めるなら、別スレ立てておまいら(同一人物?)が監修すればいい。

325:名無しさん@そうだ選挙にいこう
10/06/11 23:39:52
例えば>312なんか素直に書けば
=if(mid(a1,5,2)="01",12,mid(a1,5,2)-1)
で済むものを余計な型キャストを入れて
汚くしたものを質問者が覚えて帰って行く。
それはマズイのでは。

326:名無しさん@そうだ選挙にいこう
10/06/11 23:51:02
【OSの種類】WindowsXP
【Excelのバージョン】Excel2003

助けてください
突然セルのコピー&ペーストが出来なくなりました
ctrl+Cでも右クリックメニューでもセルのコピーは選択できますが
貼り付けがグレーで選択不可能です
なお数式バーでコピーしてペーストすることは可能です

327:複乳
10/06/12 00:01:05
>>326
とりあえずOSの再起動

328:名無しさん@そうだ選挙にいこう
10/06/12 00:10:09
例えば>310も色々あるが、ひとつだけ上げれば
kをカウンタに回してるのにxxxでカウントし直してる。
こういう場合、条件に合わないと判定されたら
即ループを抜けるのが基本。

329:複乳
10/06/12 00:11:25
>>325
なんで*1なんてするの?って質問を待っている
無ければないで、いいじゃない。あって損はしない。
>>324
あらま、嬉しいねぇ
何なら私の書き込み全てに
別解URLリンク(pc11.2ch.net)(綺麗な解答スレ)
なんて付け足してもいいけどね

ちなみに私の理想は・・
エクセル自慢と会社で呼ばれてる人が日中、困ったらここに聞きにきて、直ぐに回答もらって戻って
クールに処理して、何事もなかったかのように次の仕事にとりかかると
そんな手伝いができる場所だといいと思うんだよね
更に遅くてもより丁寧な回答や議論が繰り広げられれ、それをまぁ、帰ってから見て更にレベルアップできるような場所なら
すごくいいと思うんだよね
向上心のある人ならまた来てレベルアップするだろうし、無ければそれまでだね
まぁ、どっちでもいい
またくれば答えは教えてあげる。答えから学ぶタイプの人もいる(私がそれだ)
私は私の理想を叶えようと日々努力してるだけだ
私の得意なvlookupやindirectが気に入らないなら私より早く回答すればいい
アク禁なら勉強でもしていればいい
>>316
煽りも弱い。>>317何かで止まるな。煽り続けろ。でも「死ね」なんてかくとリアルでややこしくなるからね。がんばってね

というわけで雑談は
スレリンク(bsoft板)
回答者のためになる議論はいくら続けてもいいと思う。

330:名無しさん@そうだ選挙にいこう
10/06/12 00:28:02
理想はいいんだけど
>288と>290と、その後のレス読むと
にわかには信じがたいなあ。
寝ます、おやすみなさい。

331:326
10/06/12 00:40:46
>>327
再起動で直りました・・・
初歩の初歩でしたね・・・
失礼しました&ありがとうございました

332:複乳
10/06/12 00:42:23
>>330
今回は>>288見落としていました。すいませんでした。
ただ回答の多様性は出来る限り大きく存在すべきだと思う。善し悪しではない。そこから生まれるものもある
って見落とした、の後に言うと価値がなくなりますね
いいけど
>>328
exitforな。やってるうちにめんどくさくなったんだ。一日ほっといたら誰か答えるだろうと思ったが来なかったんだ。許してくれ。悪気はないが俺の怠慢だ

333:名無しさん@そうだ選挙にいこう
10/06/12 00:47:54
初心者に毛の生えたヤツの言い訳はうざい。

334:名無しさん@そうだ選挙にいこう
10/06/12 00:56:06
>ただ回答の多様性は出来る限り大きく存在すべきだと思う。善し悪しではない。

>290,307,312
これらはそーゆー次元では無いと思うがな。

335:複乳
10/06/12 01:00:11
というわけで雑談は
スレリンク(bsoft板)

336:名無しさん@そうだ選挙にいこう
10/06/12 08:41:22
印刷プレビューと印刷結果の差を出来る限りなくしたいのですが、
なにかいい方法はありますか?

337:名無しさん@そうだ選挙にいこう
10/06/12 08:45:32
>>329
今回は静観してたが、おまいの言い草はあのMicrosoftも認めた日本一の
勘違い君が頭に浮かぶ。

338:名無しさん@そうだ選挙にいこう
10/06/12 09:00:44
>336
Excelの機能である印刷プレビューの代わりに FinePrint などの仮想プリンタソフトを使うくらいかなあ。
試用版のままだとタダで使えるので重宝してます。(質問の使い方ではありませんが)
ただし、このソフトの出力結果と実際に紙に印刷した結果がどのくらい違うかについて、検証したことはありません。


339:名無しさん@そうだ選挙にいこう
10/06/12 11:12:14
価値無いどころかマイナスと言われちゃったよw
>302 
Sub hoge()
  n = 2 '選択範囲の該当する値をH2以降に書き出す
  For Each r In Selection
    If Len(r.Value) = 10 Then
      For i = 1 To 10
        ch = Mid(r.Value, i, 1)
        If ch < "0" Or ch > "z" Then Exit For
        If ch > "9" And ch < "a" Then Exit For
        If i = 10 Then Cells(n, "H") = r.Value: n = n + 1
      Next i
    End If
  Next r
End Sub

340:名無しさん@そうだ選挙にいこう
10/06/12 11:13:14
>>338
印刷プレビューがいまいちなんですね。
FinePrint使ってみます
ありがとうございました!

341:名無しさん@そうだ選挙にいこう
10/06/12 11:55:24
winxp.エクセル2007.
VBAで文字列を計算できるように数値にしたいのですが方法がわかりません。
すみません詳しい方いたら教えてください。よろしくお願いします。


342:名無しさん@そうだ選挙にいこう
10/06/12 12:00:14
"1"+"2"=3

343:名無しさん@そうだ選挙にいこう
10/06/12 12:23:38
文字列「壱足す弐」を3にするとか?

344:344
10/06/12 13:01:06
質問があったのですが、自己解決しました

345:名無しさん@そうだ選挙にいこう
10/06/12 13:09:44
>>339
r.Valueくらい一時変数に入れようよ。
何度も取得するの気持ち悪い。

346:名無しさん@そうだ選挙にいこう
10/06/12 13:24:07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000→2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】= 表示されない など

エクセル2000をずっと使っていたのですが、最近2003に変えました。
しかし、2000では計算式を記入するとき、画面上の方にある、たしか「=」みたいなマークを押すと、自動で=が入力されて、
計算が記述できたのですが、2003ではそのボタンがありません。fxというボタンが代わりにあるのですが、これを押すと関数選択の
ダイアログボックスが出てしまいます。
2000のような =を入力するボタンを表示させたいのですがどうすればいいでしょうか?

347:名無しさん@そうだ選挙にいこう
10/06/12 13:26:07
>>346
ありません。+で代用するのが楽です

348:名無しさん@そうだ選挙にいこう
10/06/12 13:31:09
>345
r.valueはお行儀よく書いただけで
キモチ悪ければrでもいい。
でこのrは一時変数なんだけどな。

349:346
10/06/12 13:48:18
>>347
さっそくレスありがとうございます。

=ボタンないんですか。
へこむ・・・・せっかく2003にしたけど、特に2003にしたメリットないな~と思ってたけど、メリットどころかデメリットの方が多いとかになりそうで鬱です。

>+で代用するのが楽です

+で代用とはどういうことでしょうか。+ を押してみたのですが特になにも起きないのですが・・・。
質問ばかりですみません。


350:名無しさん@そうだ選挙にいこう
10/06/12 14:01:31
「=A1+B1」と入力する代わりに「+A1+B1」と入力します。
テンキーがあればかなり楽です。自分はこの方法知ってから=ボタン使わなくなりました。

351:名無しさん@そうだ選挙にいこう
10/06/12 14:52:39
341です。
>>343
例えば”32”とかを計算できるように数値化したいのです。
ネット等からコピペしたりすると文字列になっていることがあるので。
関数を使えば”value”で解決なのですが、これでもうまくいかなかったのでVBAでやってみようとおもったのですがうまくわかりません。


352:名無しさん@そうだ選挙にいこう
10/06/12 14:59:46
たとえばA1に"12"がはいってるとして
=LEFT(A1,1)+RIGHT(A1,1)
の値は3になる。これでいいのか?

353:名無しさん@そうだ選挙にいこう
10/06/12 15:07:09
Excel2000は、2003でつくったマクロ(例えば自動記録でつくった並べ替えとか)が使えないYO!
「青いシート見出しを見て」とか言われてチンプンカンプンだったときもあったな・・・

354:名無しさん@そうだ選挙にいこう
10/06/12 15:14:55
>>351
セルを標準にします。セルを編集(ダブルクリック)状態にします。それで、数値になるよ。
vba使うまでもない。
ダブルクリックが面倒だったら、「区切り位置」ですぐ「完了」にすればおk

355:名無しさん@そうだ選挙にいこう
10/06/12 15:20:11
>>348
rって書いてもr.Valueを3回取得してることにかわりないわな。
オブジェクト変数じゃなく値を格納する一時変数を使わないと気持ち悪い言ってるんだよ。


356:名無しさん@そうだ選挙にいこう
10/06/12 15:52:42
複案があるなら、それを書かないと前掃除大臣みたいでカコワルイ!!

357:名無しさん@そうだ選挙にいこう
10/06/12 16:33:09
>>346
Excel2003の数式バーに「=」を追加する
URLリンク(www11.plala.or.jp)

358:名無しさん@そうだ選挙にいこう
10/06/12 16:34:44
>354
オブジェクトのプロパティはメンバ変数みたいなモンで
r.value自体が値を表す変数のイメージがあるけど
値を求めるメソッど(?)みたいに負荷がかかるなら
あんたの言うとおりだわ。実際このあたりはよくワカラン。

359:名無しさん@そうだ選挙にいこう
10/06/12 17:31:32
>>658
Valueの取得ってのは結構重いんだよ。
2回以上使う場合は適合する型の一時変数に入れるのがコーディングの基本だ。
いわゆるキャッシュだな。
Variantの2次元配列でも言えることだ。
何度もa(i,1)とか同じ要素が出てくると汚いし遅い。
実際は1回しか使わなくても言えることなんだが、そこまではやらなくてもいいだろう。

360:349
10/06/12 18:00:05
>>350
なるほど、「+」入力とか最初何を言ってるのかと思いましたが、要は+を押しておけば数式入力モードになり
またその後の数式がどうなろうと、最初に「+」が入っても邪魔にならないから、「+」を押すいうことですね。
そういう発想ができるところがすごいと思います。ぜひ使わせていただこうと思います。

それはそれなのですが、しかし、やはり「=」ボタンは欲しいですね。
なぜ「=」ボタンを廃止したのか理由が全く見えません・・・・。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch