人に聞けない痔の悩み、これでスッキリ >>

A列の数字「1701」とB列の数字「001」を「concatenate」で繋ぐ際にB列の数字が3桁「001」なんですが、実際にセルに入っているのが「1」なので、繋いだ際に「17011」となってしまいます。
「001」をデータとするにはどうしたらよいのでしょうか?
宜しくお願いいたします。

A 回答 (3件)

> 実際にセルに入っているのが「1」なので、


これを、「'001」と入力してみて下さい。
セル結合「&」で繋げることができます。
「'001」と入力されていても、数値計算時には、数字の「1」として認識されます。
お試しを。
    • good
    • 0
この回答へのお礼

早速ご回答いただき有難うございました。
この方法が一番シンプルで、CONCATENATEでも使用できました。
今後も宜しくお願いいたします。

お礼日時:2017/09/25 02:24

まぁ、



=A1&TEXT(B1,"000")

で繋げれば済む話ですが。
    • good
    • 0
この回答へのお礼

早速ご回答いただき有難うございました。
この方法で試しましたが回答が得られませんでした。
=TEXT(A1&B1,"000")に変えてもダメでした。
でも有難うございました。

お礼日時:2017/09/25 02:22

「001」をデータとするには


=TEXT(A1,"000")
とすれば好い。
    • good
    • 0
この回答へのお礼

mike_g様
早速ご回答いただき有難うございました。
この方法で解決できました。

お礼日時:2017/09/25 02:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qエクセルで特定の数字だけ勝手に変換されてしまいます

エクセル2010で48,609.793と入力するのですが
入力後のセルを見てみると48,609.792999999と
勝手に変換されてしまいます。
48,609.792や48,609.794ではそのままなのですが
なぜなのでしょうか?
計算上で入力した数値を使用したく困っています。

Aベストアンサー

10進数をコンピュータ内部では2進数の形で保持することによる誤差だそうです。
なるべくこの誤差が出ないようにExcelは工夫されているそうですが、
特定の数字を入力すると「99999…」が現れるのだとか。
この質問を見て調べるまで全然知りませんでした。
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_other/excel/bbaaa7f0-5e73-4d7c-aa05-6709a3357d26
https://support.microsoft.com/ja-jp/help/813530

計算式には数字を丸める関数を入れると対処できると思います。
ROUNDやROUNDUP関数で引数を3にしてみてください。
http://kokoro.kir.jp/excel/round.html

QExcel関数で、文字を数字に変換させたいです。 if関数で、数字を文字で表示させることは出来ますが

Excel関数で、文字を数字に変換させたいです。
if関数で、数字を文字で表示させることは出来ますが、その逆はできるのでしょうか?
また、その列を数字の合計で出すことはできますか?

Aベストアンサー

>>例えば、非を1、定を0として表示させることはできますか?

=IF(A1="非",1,IF(A1="定",0,""))

QExcelのINDEX関数の使い方について教えてください

マイクロソフトの説明が理解できません。
https://support.office.com/ja-jp/article/INDEX-%E9%96%A2%E6%95%B0-a5dcf0dd-996d-40a4-a822-b56b061328bd#__reference_form

冒頭に
>INDEX 関数には、次の 2 つの使い方があります。
>指定したセルまたはセルの配列の値を求める場合は、「配列形式」を参照してください。
>指定したセルの参照を求める場合は、「セル範囲形式」を参照してください。

とありますが、セルの値を求めるというのはわかるのですが、セルの参照を求めるとはどういうことでしょう。「セルの参照」を返してくれるのですからaddress関数のようにセル番地とか範囲が文字列として帰ってくるのを期待するのですが、ここに書かれているどっちの方法でやっても”値”しか返ってきません。どうすれば「セルの参照」としてINDEX関数を利用できるのですか?
「値」でなく「参照」を求めているのですから「配列」は今回関係ありませんよね?
そもそも「セルの参照を返す」とはどう定義されているものなんでしょうか?

また、ここの説明の「セル範囲形式」の書式は
INDEX(参照, 行番号, [列番号], [領域番号])と書いてありますが
引数の説明に、「参照」はなく、代わりに「対応範囲」なるものが突然湧いて出てきました。
何か意味があると思うのですが何でしょうかこれは?

自分一人では解決できないためどうかお知恵を貸してください。

マイクロソフトの説明が理解できません。
https://support.office.com/ja-jp/article/INDEX-%E9%96%A2%E6%95%B0-a5dcf0dd-996d-40a4-a822-b56b061328bd#__reference_form

冒頭に
>INDEX 関数には、次の 2 つの使い方があります。
>指定したセルまたはセルの配列の値を求める場合は、「配列形式」を参照してください。
>指定したセルの参照を求める場合は、「セル範囲形式」を参照してください。

とありますが、セルの値を求めるというのはわかるのですが、セルの参照を求めるとはどういうことでしょ...続きを読む

Aベストアンサー

「セルの参照を返す」とはどう定義されているものなんでしょうか?
たぶん、3行目の4列目のセルを参照するのには、D3とか$D$3のような参照の表記を使用すると思うのですが、INDEX(C2:F6,2,2)でも良いのです。
サイトページの中に、次の説明も書かれています。
=SUM(B2:INDEX(A2:C6, 5, 2))
セル B2 と、セル範囲 A2:C6 の 5 行目と 2 列目の交差するセル B6 の合計を求めます。
この例のように、SUMで合計するセル範囲をINDEX関数で可変的に指定したり、MAXやMIN関数で調べる範囲をINDEX関数でセル参照が戻るようにしておくと、便利に使えることはあります。

QExcel、VLOOKUP関数の範囲の値の一部分だけを変えたい。

こんにちは。

VLOOKUP関数の範囲で使う値の一部分だけを、他のセル内に存在する数値を使って入力する計算式を作りたいのですがVALUEエラーになってしまいます。

例えば、
=VLOOKUP(A1,[sansyou.xls]01Sheet!A3:B100,2,FALSE)
というような数式の、「01」の数字部分だけを他のセルを参照して入力したいです。
なのでこういう風に、
=VLOOKUP(A1,"[sansyou.xls]"C3"Sheet!A3:B100",2,FALSE)
(※C3セル内に「01」)
と置けば良い気がしますがVALUEエラーになってしまいます。


このような関数内で使ってる値の一部分だけを変えて参照する事は可能でしょうか・・?
どうか、よろしくおねがいいたします。

Aベストアンサー

こんばんは!

未検証ですが・・・
=VLOOKUP(A1,INDIRECT("[sansyou.xls]"&TEXT(C3,"00")&"Sheet!A3:B100"),2,0)

としたらどうなりますか?m(_ _)m

QExcel.名簿一覧表から別シートの領収書一覧表で印刷してるのですが,名簿を1名削除すると領収書の名

Excel.名簿一覧表から別シートの領収書一覧表で印刷してるのですが,名簿を1名削除すると領収書の名前のセルにエラーが出るだけで領収書1枚は削除されないです。領収書も詰めたり逆に名簿を追加したら領収書も追加するように。領収書シートには文字列.MID関数が入ってます。素人初心者

Aベストアンサー

削除する行の次の行から表の一番下+空白の行を1行までコピーして、削除する行の上に貼り付けてはどうですか?
例:削除対象が4行目の場合、5行目以下をコピー、4行目に貼り付け

QExcelの関数について、教えてください!

すみません。こんなことができるか分からないのですが、Excelでやりたいことがあります。
本当は全自動で計算できればいいのですが、多少、人間の手が介入しても構いません。プログラミングなどは分からないので、なるべくExcelでやりたいです。関数もそこまで詳しくないので、できたら分かりやすく教えていただけると嬉しいです。どうぞよろしくお願いします。

やりたいこと。
例えば、Aの行に、日時があり、Bの欄にデータがあります。下記参照ください。

A B
1月1日 100
1月2日 99
1月3日 101
1月4日 104
1月5日 94
1月6日 110
1月7日 112
1月8日 115
1月9日 109
1月10日 115
1月11日 120
1月12日 125

やりたいことが2段階になっています。

1、ある値を決めてその値が出た以降のデータを使いたいです(それ以前のデータは使わない)。例えば110という値を指定した場合、1月6日に110という値が出るので、1月6日以降だけのデータを使いたい。

2、その後、6日以降のデータで、データのバラツキを見たいので、例えば110の±10の範囲でその範囲を超えたときに、この表では、1月11日に120を超えるので、超えたポイントの日付を出して欲しいです。


例えばC1に110(110からチェックを開始)をD1にバラツキ範囲(±10)を入力したら、下記のような結果を出すことは難しいでしょうか??

A B C D
1月1日 100 110 10
1月2日 99
1月3日 101
1月4日 104
1月5日 94
1月6日 110
1月7日 112
1月8日 115
1月9日 109
1月10日 115
1月11日 120
1月12日 125

結果
チェックスタートした日付 1月6日
範囲超えた日付と方向 1月11日 (+)

かなり難しく、私では手作業での確認となっております。どうぞいい案がありましたら、教えてください。

すみません。こんなことができるか分からないのですが、Excelでやりたいことがあります。
本当は全自動で計算できればいいのですが、多少、人間の手が介入しても構いません。プログラミングなどは分からないので、なるべくExcelでやりたいです。関数もそこまで詳しくないので、できたら分かりやすく教えていただけると嬉しいです。どうぞよろしくお願いします。

やりたいこと。
例えば、Aの行に、日時があり、Bの欄にデータがあります。下記参照ください。

A B
1月1日 100
1...続きを読む

Aベストアンサー

こんにちは!

一例です。
↓の画像でG1セルに
=MIN(IF(B1:B1000>=C1,A1:A1000))
配列数式なのでCtrl+Shift+Enterで確定!

G2セルに
=MIN(IF((ABS(VLOOKUP(G1,A1:B1000,2,0)-B1:B1000)>=D1)*(A1:A1000>G1),A1:A1000))
これも配列数式なので、Ctrl+Shift+Enterで確定!

G3セルに
=IF(SIGN(VLOOKUP(G1,A:B,2,0)-VLOOKUP(G2,A:B,2,0))>0,"(-)","(+)")

G3セルだけは配列数式ではありません。
G1・G2セルの表示形式を「日付」にして完了です。

※ エラー処理をしていませんので、
データが存在しない場合は「1月0日」と表示されたり
エラーになるかもしれません。m(_ _)m

Qエクセルの関数について

エクセルで計算式をセルに設定したいのですが、どんな関数にすれば良いのか、お教えください。
計算式は単純ですが、解を小数点第2位までとしたいのです。第3位からは切り捨てにしたいです。

(例)
セルに次の計算式を設定します。
A x 1.23% =
Aを変数、1.23%を定数とします。解を小数点第2位まで求めて、第3位からは切り捨てたいのです。

しかし、現状ではどうしても第3位が四捨五入されて第2位までの解となってしまいます。

ご存知の方、どうかよろしくお願いします。

Aベストアンサー

=ROUNDDOWN(A1*1.23%,2)

Qエクセルで、西暦 1900年以前の年月日も含めて、年月日で並べ替えしたいのですが、いい方法は

エクセルで、西暦 1900年以降は年月日で並べ替えができるのですが、1900年以前の年月日も含めると、文字になっているので、並べ替えができなくなります。いい方法はありませんか。
宜しくお願い致します。

Aベストアンサー

>「セルの書式設定F]- 「表示形式」 - 「文字列」

この操作ではデータ自体は文字列にはなりません。
大体、日付データがシリアル値になると思うんですけどね。

作業列を作ってTEXT関数で日付データは文字列になるようにしておけば並べ替えできますよ。

Qエクセル関数を教えてください

エクセル関数を教えてください

このような↓

別ページにある、△△(具体的には氏名が入る)と書いてあるセルを探して基準にし、そこを基準にして指定した数値分(具体的には右に2、下に2)移動したところにあるセルの数値を返す。

です!
オートフィルでコピーし、シート名と△△の氏名だけを書き換えればOK!みたいなのを狙ってます。
年度末の集計表のため、困ってます。
よろしくお願いします!

Aベストアンサー

こんにちは

例えば、シート2(別ページ)のA列に名前のリストが並んでいるとします。

個別に探したい名前が(シート1の)A1セルにあるとして、
 = MATCH(A1,Sheet2!$A:$A,0)
のようにすると、その名前がリストの何番目に存在するかの数値が返されます。

これを利用して、右に2列、下に2行移動したセルの値なら
 = OFFSET(Sheet2!$A$1,MATCH(A1,Sheet2!$A:$A,0)+1,2)
とすることで、値が取得可能です。

※ 実際のリストの形式やセル範囲など、及び、個別の氏名のセル位置などが不明ですので、適切に修正してください。
※ 上記はエラー処理(リスト内に一致するものが無い場合等)は行っていませんので、必要な場合は付け加えてください。

Qエクセルで 異なるデータを含む2つのデータを 1つの表にまとめる方法を教えてください

初めて質問をします。
あまりエクセルが詳しくなく わからないので 教えて下さい。

2つのデータがあります。
Aには仕入れ数、Bには売り上げ数があります。
双方の商品名はすべて一致するわけではなく、「AにあってBにない」「BにあってAがない」ものもあります。


    データA 【仕入れ】     データB 【売上】

管理No 商品  仕入れ数   管理No 商品   売上数
   1  りんご  3        2  みかん  8
   2  みかん  8       3    バナナ    3
   3  バナナ    4      1  りんご    2
   4  いちご    1      7   もも     3
   5  オレンジ  3      10    キウイ     2
   6  レモン    3     11    ぶどう     2
   7  もも     3     13    大根      1
   8  なし     2
   9  カキ    5
  10  キウイ  2
  11  ぶどう    1
  12   マンゴー   1


上記の2つのデータを以下のようにまとめたいのですが 可能でしょうか?
(ABすべての商品名を出して それぞれの数を表示する)

管理No   商品    仕入れ数      売上数
   1   りんご      3        2
   2   みかん      8      8
    3   ばなな      4        3
   4   いちご      1        0
   5    オレンジ  3        0
   6   レモン      3     0
   7   もも       3     3
   8   なし       2     0
   9   カキ      5     0
   10   キウイ      2      2
   11   ぶどう      1       2
   12   マンゴー    1      0
   13   大根      0      1
      


数字がずれていてすみません。
どうぞよろしくお願いします。

初めて質問をします。
あまりエクセルが詳しくなく わからないので 教えて下さい。

2つのデータがあります。
Aには仕入れ数、Bには売り上げ数があります。
双方の商品名はすべて一致するわけではなく、「AにあってBにない」「BにあってAがない」ものもあります。


    データA 【仕入れ】     データB 【売上】

管理No 商品  仕入れ数   管理No 商品   売上数
   1  りんご  3        2  みかん  8
   2  みかん  8       ...続きを読む

Aベストアンサー

こんにちは!

>(ABすべての商品名を出して それぞれの数を表示する)
というコトですので、手っ取り早くVBAでの一例です。

↓の画像のようにそれぞれのシート名は「仕入れ」・「売上」となっていて、Sheet3に表示するとします。
尚、「商品」の「管理No」はシリアルナンバーのように決まっているものとします。
そして、Sheet3の1行目項目行は入力済みという前提です。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() '//この行から//
Dim i As Long, lastRow1 As Long, lastRow2 As Long, lastRow3 As Long
Dim c As Range, r As Range
Dim wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("仕入れ")
Set wS2 = Worksheets("売上")
Application.ScreenUpdating = False
With Worksheets("Sheet3") '//←「Sheet3」はまとめるシート名に!"//
lastRow3 = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow3 > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow3, "D")).ClearContents
End If
.Range("E:F").Insert
lastRow1 = wS1.Cells(Rows.Count, "A").End(xlUp).Row
Range(wS1.Cells(1, "A"), wS1.Cells(lastRow1, "A")).Copy .Range("E1")
lastRow2 = wS2.Cells(Rows.Count, "A").End(xlUp).Row
Range(wS2.Cells(2, "A"), wS2.Cells(lastRow2, "A")).Copy .Cells(Rows.Count, "E").End(xlUp).Offset(1)
.Range("E:E").AdvancedFilter Action:=xlFilterCopy, copytorange:=.Range("F1"), unique:=True
.Range("F:F").Sort key1:=.Range("F1"), order1:=xlAscending, Header:=xlYes
lastRow3 = .Cells(Rows.Count, "F").End(xlUp).Row
Range(.Cells(2, "F"), .Cells(lastRow3, "F")).Copy .Range("A2")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
Set c = wS1.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Cells(i, "B") = c.Offset(, 1)
.Cells(i, "C") = c.Offset(, 2)
End If
Set r = wS2.Range("A:A").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not r Is Nothing Then
If .Cells(i, "B") = "" Then
.Cells(i, "B") = r.Offset(, 1)
End If
.Cells(i, "D") = r.Offset(, 2)
End If
Next i
.Range("E:F").Delete
.Columns.AutoFit
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub '//この行まで//

※ 関数でないので、データ変更があるたびにマクロを実行する必要があります。

※ コード内の「Sheet3」の部分は実際のシート名に変更してください。m(_ _)m

こんにちは!

>(ABすべての商品名を出して それぞれの数を表示する)
というコトですので、手っ取り早くVBAでの一例です。

↓の画像のようにそれぞれのシート名は「仕入れ」・「売上」となっていて、Sheet3に表示するとします。
尚、「商品」の「管理No」はシリアルナンバーのように決まっているものとします。
そして、Sheet3の1行目項目行は入力済みという前提です。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → ...続きを読む


人気Q&Aランキング